@esri/solutions-components 5.1.0-next.27 → 5.1.0-next.28

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 (175) hide show
  1. package/dist/cdn/{N7OY2PSZ.js → 2P2JRBNM.js} +1 -1
  2. package/dist/cdn/{NYUVCFEV.js → 2PMK3DJF.js} +1 -1
  3. package/dist/cdn/{4DFGN2VE.js → 2TDD4AWX.js} +1 -1
  4. package/dist/cdn/{7DHQVMKX.js → 3KSR7IOU.js} +1 -1
  5. package/dist/cdn/{S423P2GA.js → 3YQ3LN5J.js} +1 -1
  6. package/dist/cdn/{QRF52VT2.js → 45KRLZNR.js} +1 -1
  7. package/dist/cdn/{NDGFJPG7.js → 4652XKVL.js} +1 -1
  8. package/dist/cdn/{V5PIAPEA.js → 4ANWYTKX.js} +1 -1
  9. package/dist/cdn/{GJFVHF5H.js → 4YJEQSFO.js} +1 -1
  10. package/dist/cdn/{6G7RA3PN.js → 5BAV55JO.js} +1 -1
  11. package/dist/cdn/{6UXP2Q63.js → 5V7A6E22.js} +1 -1
  12. package/dist/cdn/{GTYMKTZ5.js → 6ITAU5WA.js} +1 -1
  13. package/dist/cdn/{QMD2WK5F.js → 6KOKLS2W.js} +1 -1
  14. package/dist/cdn/{FXHBHZKG.js → 6LRELQFJ.js} +1 -1
  15. package/dist/cdn/{K5JYHCQ7.js → 6O7SXEOR.js} +1 -1
  16. package/dist/cdn/{TP5EQUBD.js → 6SBFYKDO.js} +1 -1
  17. package/dist/cdn/{EIVJQY2S.js → 6X7TONQA.js} +1 -1
  18. package/dist/cdn/{MFJF6OXL.js → 7ATJP4H7.js} +1 -1
  19. package/dist/cdn/{FFDZB5TW.js → 7WMPOI2D.js} +1 -1
  20. package/dist/cdn/{ZCGIQK3H.js → A3MPUIYQ.js} +1 -1
  21. package/dist/cdn/{ASTBVDA3.js → A75LOABR.js} +1 -1
  22. package/dist/cdn/{F7DLM4RF.js → AGK4AXFX.js} +1 -1
  23. package/dist/cdn/{57DOBXD6.js → AM2DV5FK.js} +1 -1
  24. package/dist/cdn/{EDVUYJ5Q.js → AQX4LQLD.js} +1 -1
  25. package/dist/cdn/{R3KUBISH.js → BDENYZEG.js} +1 -1
  26. package/dist/cdn/{4NALIU6Y.js → BFC3V3IE.js} +1 -1
  27. package/dist/cdn/{MWVSVTGT.js → BGT55URG.js} +1 -1
  28. package/dist/cdn/{NZS3YVIT.js → BQ5WKU6S.js} +1 -1
  29. package/dist/cdn/{2B6VLP3A.js → BUN734I7.js} +1 -1
  30. package/dist/cdn/C22EGSM6.js +2 -0
  31. package/dist/cdn/{K7XOFXRK.js → CDV7UUL5.js} +1 -1
  32. package/dist/cdn/{2H7KJUZG.js → CJ4P6J7C.js} +1 -1
  33. package/dist/cdn/{DJFFGBHM.js → CLSXOECQ.js} +1 -1
  34. package/dist/cdn/{T2WSMUVL.js → CS4IGHMC.js} +1 -1
  35. package/dist/cdn/{JCDM3IJE.js → CUY7MQY5.js} +1 -1
  36. package/dist/cdn/{EBU4JF4W.js → CY4C4VZP.js} +1 -1
  37. package/dist/cdn/{LCWLPXAF.js → D46ACA6D.js} +1 -1
  38. package/dist/cdn/{PUCQJ7PY.js → DBNF3MJK.js} +1 -1
  39. package/dist/cdn/{DLBZRD4H.js → DPD6UBKD.js} +1 -1
  40. package/dist/cdn/{ZDQANIMG.js → E4UKEVGP.js} +1 -1
  41. package/dist/cdn/{P65BBQ5T.js → E5VUML6C.js} +1 -1
  42. package/dist/cdn/{P4FX4W2X.js → E6WWQDDM.js} +1 -1
  43. package/dist/cdn/{D4QQZVLI.js → EJAZTI6O.js} +1 -1
  44. package/dist/cdn/EKVDYGK2.js +2 -0
  45. package/dist/cdn/EPQ6J23O.js +7 -0
  46. package/dist/cdn/{IMPGTDMV.js → EQURPCQ2.js} +1 -1
  47. package/dist/cdn/{P4KZ6OZF.js → F2JKSZOE.js} +1 -1
  48. package/dist/cdn/F2YGRNTN.js +2 -0
  49. package/dist/cdn/{UF67SSGX.js → FEMACR5Y.js} +1 -1
  50. package/dist/cdn/{XC7LLCVS.js → FG6ODB3X.js} +1 -1
  51. package/dist/cdn/{NDUAEC62.js → FLLZBDVI.js} +1 -1
  52. package/dist/cdn/{N2KU5PYY.js → FLQFNPOP.js} +1 -1
  53. package/dist/cdn/{SENL26AU.js → FOFNYI3V.js} +1 -1
  54. package/dist/cdn/{UY2AFOXQ.js → FRE445LD.js} +1 -1
  55. package/dist/cdn/{RTG3SBDS.js → G4FOQX6X.js} +1 -1
  56. package/dist/cdn/{PJH3H7LZ.js → G5YR3YZQ.js} +1 -1
  57. package/dist/cdn/{OMURSGFL.js → GAACGZBE.js} +1 -1
  58. package/dist/cdn/{HGEF25RL.js → GBTCFOFN.js} +1 -1
  59. package/dist/cdn/{VDEFBT2N.js → GFW4PBUK.js} +1 -1
  60. package/dist/cdn/{I5PBBAVM.js → GJ6WYTEI.js} +1 -1
  61. package/dist/cdn/{QNNQGJS4.js → GLRPUU2V.js} +1 -1
  62. package/dist/cdn/{IKN5RLJ4.js → GNVWXRLD.js} +1 -1
  63. package/dist/cdn/{NGCFEPQE.js → GSF5ZZMH.js} +2 -2
  64. package/dist/cdn/HAET3BAD.js +2 -0
  65. package/dist/cdn/HOVTBV7I.js +2 -0
  66. package/dist/cdn/{QQSP7HQH.js → I5RNBPZI.js} +1 -1
  67. package/dist/cdn/{RF7NG5JX.js → IFWNDFJA.js} +1 -1
  68. package/dist/cdn/INWDOVSJ.js +2 -0
  69. package/dist/cdn/IR6AJOBB.js +2 -0
  70. package/dist/cdn/{AKDP6MCB.js → IUFEMLQM.js} +1 -1
  71. package/dist/cdn/{KRFYU445.js → IXXKN5ZI.js} +1 -1
  72. package/dist/cdn/{AA7X6GKH.js → JA3R6YUV.js} +1 -1
  73. package/dist/cdn/{LDHJGX5G.js → JEQXVAQH.js} +1 -1
  74. package/dist/cdn/{EC6NYTSJ.js → JMDRBVRT.js} +1 -1
  75. package/dist/cdn/{36HEIJAI.js → JNRZGJ5J.js} +1 -1
  76. package/dist/cdn/{ATVUAP2X.js → JTAEOL7D.js} +1 -1
  77. package/dist/cdn/{N2ROUAUM.js → JXSSMPRV.js} +1 -1
  78. package/dist/cdn/JZHP22BA.js +2 -0
  79. package/dist/cdn/{JK75TUSP.js → K2OB67JG.js} +1 -1
  80. package/dist/cdn/{UQ3MLIHV.js → K5ULSEDV.js} +1 -1
  81. package/dist/cdn/K6H5LUII.js +2 -0
  82. package/dist/cdn/KN36REDP.js +2 -0
  83. package/dist/cdn/{DUMMIXPH.js → L34HBOOV.js} +1 -1
  84. package/dist/cdn/{JYLXH6OM.js → L6QPBIO3.js} +1 -1
  85. package/dist/cdn/{SXD7ZWLW.js → LDO52PG7.js} +1 -1
  86. package/dist/cdn/{NLTK53B2.js → LVQAS4DN.js} +1 -1
  87. package/dist/cdn/{4GZBBPZQ.js → M7GCQN63.js} +1 -1
  88. package/dist/cdn/{OC2DD3AB.js → MACN5YNL.js} +1 -1
  89. package/dist/cdn/{GN6MDWLZ.js → MDFVVTRI.js} +1 -1
  90. package/dist/cdn/{XYFIAJPT.js → MMQLDIE7.js} +1 -1
  91. package/dist/cdn/NFRTFOHF.js +2 -0
  92. package/dist/cdn/{POE2XE6Y.js → NIFRYAFS.js} +1 -1
  93. package/dist/cdn/{ACF2RXCB.js → NUYS5PGC.js} +1 -1
  94. package/dist/cdn/{RNTJMF4O.js → O4JG6O2G.js} +1 -1
  95. package/dist/cdn/{ULCILXSA.js → ODZNJZG5.js} +1 -1
  96. package/dist/cdn/{JLYGSQEC.js → OUHPCCIT.js} +1 -1
  97. package/dist/cdn/{LPNQJBCN.js → PWAT4NDG.js} +1 -1
  98. package/dist/cdn/{XVRRQMOP.js → Q2IHGYKB.js} +1 -1
  99. package/dist/cdn/{XTUL7OCR.js → QKETH7B7.js} +1 -1
  100. package/dist/cdn/{GTD4LCLX.js → QSUXQICI.js} +1 -1
  101. package/dist/cdn/{LD2NUKM3.js → QXGDMWPW.js} +1 -1
  102. package/dist/cdn/{U4MNIZYO.js → R33D5PLS.js} +1 -1
  103. package/dist/cdn/{OMIISLTG.js → RBVTHO3G.js} +1 -1
  104. package/dist/cdn/{57JYZYF5.js → RP36BC5U.js} +1 -1
  105. package/dist/cdn/{BEGKM3ZM.js → RQ2LHC5I.js} +1 -1
  106. package/dist/cdn/{J33ST6ZG.js → RVKS24LF.js} +1 -1
  107. package/dist/cdn/{3AQ7U2PF.js → SDJWXDEO.js} +1 -1
  108. package/dist/cdn/{VRE7NUZ2.js → SEKKCZV5.js} +1 -1
  109. package/dist/cdn/{FRWN4Q5V.js → SRHO3QX6.js} +1 -1
  110. package/dist/cdn/{7YIQXDUF.js → THSRTNBE.js} +1 -1
  111. package/dist/cdn/{SZRONHSX.js → TLJX3G56.js} +1 -1
  112. package/dist/cdn/{NWTG35WX.js → TOU5OHUQ.js} +1 -1
  113. package/dist/cdn/U4HQWOBP.js +2 -0
  114. package/dist/cdn/{NNCQFR7K.js → UCQAWNYS.js} +1 -1
  115. package/dist/cdn/{5KD4GK7Y.js → UEJPBHBF.js} +1 -1
  116. package/dist/cdn/{RTPXDRZ7.js → UNA43DT6.js} +1 -1
  117. package/dist/cdn/{27G6RESZ.js → UQ575IJB.js} +1 -1
  118. package/dist/cdn/{YMOLIY64.js → VBZWNY3Y.js} +1 -1
  119. package/dist/cdn/{DZLVEIWW.js → VLY57LH7.js} +1 -1
  120. package/dist/cdn/{G5MDCRT6.js → VYZIBDWY.js} +1 -1
  121. package/dist/cdn/{DIDOZ4J6.js → WH2NFOMH.js} +5 -5
  122. package/dist/cdn/WJ72IM7D.js +2 -0
  123. package/dist/cdn/{DQ4POWIJ.js → WQTF5JT3.js} +1 -1
  124. package/dist/cdn/WUVRAE6I.js +2 -0
  125. package/dist/cdn/{7ZMHT4SH.js → WYEVMPYJ.js} +1 -1
  126. package/dist/cdn/X7AHXETC.js +2 -0
  127. package/dist/cdn/{5PUFVAJH.js → XAMESELG.js} +1 -1
  128. package/dist/cdn/XEC2PGQN.js +2 -0
  129. package/dist/cdn/XSNGR44R.js +2 -0
  130. package/dist/cdn/{USM62FP5.js → YBUQ5RAC.js} +3 -3
  131. package/dist/cdn/YLO37ZJE.js +339 -0
  132. package/dist/cdn/{E57JPXDR.js → YXIY7D32.js} +1 -1
  133. package/dist/cdn/Z2IT4SME.js +2 -0
  134. package/dist/cdn/Z4P77LNN.js +2 -0
  135. package/dist/cdn/{FZ7WJ3YG.js → Z576IK7H.js} +1 -1
  136. package/dist/cdn/{QI5LXFA7.js → ZBRNLRN2.js} +1 -1
  137. package/dist/cdn/{CWEEG5MA.js → ZJZBSHOM.js} +1 -1
  138. package/dist/cdn/{NM3YBQUM.js → ZLMQHBVI.js} +1 -1
  139. package/dist/cdn/{SIUUQBL4.js → ZLNJRKMA.js} +1 -1
  140. package/dist/cdn/index.js +1 -1
  141. package/dist/chunks/_commonjsHelpers.js +7 -0
  142. package/dist/chunks/solutions-deploy-app-nav.js +1 -1
  143. package/dist/components/arcgis-solutions-assistant/customElement.d.ts +1 -74
  144. package/dist/components/arcgis-solutions-assistant/customElement.js +44786 -1515
  145. package/dist/components/arcgis-solutions-assistant/index.js +3 -6
  146. package/dist/components/consent-manager/customElement.js +154 -156
  147. package/dist/components/create-feature/customElement.js +1 -1
  148. package/dist/components/solution-details-panel/customElement.js +1 -1
  149. package/dist/docs/api.json +1 -1
  150. package/dist/docs/docs.json +1 -1
  151. package/dist/docs/vscode.html-custom-data.json +1 -1
  152. package/dist/docs/web-types.json +1 -1
  153. package/dist/loader.js +1 -1
  154. package/dist/solutions-components_commit.txt +7 -4
  155. package/package.json +2 -1
  156. package/dist/cdn/45ZS4SG7.js +0 -2
  157. package/dist/cdn/7J2VRW7S.js +0 -2
  158. package/dist/cdn/ALB3HUJ2.js +0 -2
  159. package/dist/cdn/BPSXSDMN.js +0 -2
  160. package/dist/cdn/DIKAKOU5.js +0 -2
  161. package/dist/cdn/EGFXSDFS.js +0 -2
  162. package/dist/cdn/HBPD3T7H.js +0 -2
  163. package/dist/cdn/ITULTY6G.js +0 -2
  164. package/dist/cdn/KWCJDOZU.js +0 -2
  165. package/dist/cdn/QZ3GHISD.js +0 -2
  166. package/dist/cdn/STEJOS7Q.js +0 -2
  167. package/dist/cdn/TRJ6EQRD.js +0 -2
  168. package/dist/cdn/U3LEZXNT.js +0 -2
  169. package/dist/cdn/UYYMXFYQ.js +0 -2
  170. package/dist/cdn/V3S3BZEP.js +0 -2
  171. package/dist/cdn/VLZNUN6G.js +0 -174
  172. package/dist/cdn/WMPUJYLT.js +0 -2
  173. package/dist/cdn/XBR2PGVO.js +0 -7
  174. package/dist/cdn/XCILPMDZ.js +0 -2
  175. package/dist/cdn/XTDFTH5X.js +0 -2
@@ -0,0 +1,339 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import a from"./XAMESELG.js";import{b as k_}from"./QHG54NVK.js";import{b as x_}from"./DPD6UBKD.js";import"./HBQN25RR.js";import{a as Aa}from"./KN36REDP.js";import{a as w_}from"./SDJWXDEO.js";import"./INWDOVSJ.js";import"./3YQ3LN5J.js";import"./TEHBW75B.js";import"./KU62OLRE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./3IHLJADI.js";import"./B3R52L7H.js";import"./BDXIKPLU.js";import"./G2ME4BAQ.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LPBP7CBN.js";import"./3FMOO3PJ.js";import"./73AX72WY.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./4HFHJOS3.js";import"./45M33Q5G.js";import"./FES7B3SJ.js";import{b as b_}from"./FLLZBDVI.js";import{E as g_,F as y_,G as __,K as v_,h as u_,i as Yi,k as d_,l as Sh,q as h_,v as p_,w as f_,x as m_}from"./F2JKSZOE.js";import"./QPIMTXPL.js";export default $arcgis.t(([rI,,,,,,{I:S_,q:E_}])=>{var Qi=class extends m_{constructor(t){if(super(t),this.it=Sh,t.type!==p_.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===Sh||t==null)return this._t=void 0,this.it=t;if(t===d_)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let n=[t];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};Qi.directiveName="unsafeHTML",Qi.resultType=1;var O_=f_(Qi);var sI=u_`:host{display:block;height:100%}.display-flex-row{display:flex;flex-direction:row}.padding-left-10{padding-left:10px}.chat-container{display:flex;flex-direction:column;gap:0px;max-width:600px;height:75%;background-color:var(--calcite-color-surface-4);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-surface-1);border-radius:10px;padding:10px}.chat-panel{--calcite-dialog-header-background-color: var(--calcite-color-brand);--calcite-dialog-header-action-background-color: var(--calcite-color-brand);--calcite-dialog-heading-text-color: var(--calcite-color-surface-1);--calcite-dialog-header-action-text-color: var(--calcite-color-surface-1);--calcite-dialog-header-action-text-color-press: var(--calcite-color-surface-1);--calcite-color-focus: var(--calcite-color-surface-1);--calcite-dialog-min-size-y: 90vh;--calcite-dialog-max-size-y: 90vh}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button:not(.icon-color-background),.chat-panel .chat-messages,.chat-panel .chat-input{--calcite-color-focus: var(--calcite-color-brand)}.assistant-followup-chip:focus{outline:2px solid var(--calcite-color-brand)}.chat-panel-heading{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-surface-1, var(--calcite-color-text-1))}.chat-messages{display:flex;flex-direction:column;gap:20px;padding:4px;height:100%;overflow-y:auto}.user-message{align-self:flex-end;background:var(--calcite-color-brand);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-brand);--calcite-card-border-color: var(--calcite-color-brand);color:var(--calcite-color-text-inverse);text-align:left}.system-message{align-self:flex-start;background:var(--calcite-color-surface-3);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-surface-4);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4)}.message-content{padding:0;font-size:14px}.response-message.message-content>p:first-of-type{margin-top:0}.message-content img{max-width:100%;height:auto;display:block;object-fit:contain}.message-content-pad{padding-bottom:10px;font-size:14px}.message-content-summary{padding-bottom:14px}.message-content-alignment{display:flex;align-items:center;gap:var(--calcite-spacing-md);font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1)}.padding-top-10{padding-top:10px}.padding-right-8{padding-right:8px}.padding-left-right-5{padding-right:5px;padding-left:5px}.chip-content{padding:5px 5px 5px 0}.chat-input{display:flex;flex-direction:row;flex-grow:1}.table-cell{--calcite-table-cell-background: var(--calcite-color-surface-4)}.cursor-pointer{cursor:pointer}.notice-border-color{--temp-initial-brand: var(--calcite-color-brand)}.notice-border-color calcite-notice{--calcite-color-brand: #ddd;--calcite-icon-color: var(--temp-initial-brand)}.notice-border-color calcite-notice *{--calcite-color-brand: var(--temp-initial-brand)}.solution-card{padding:5px 0;text-decoration:none;display:block;width:100%;cursor:pointer}.solution-card calcite-card{display:flex;flex-direction:column;max-width:520px;overflow:hidden;--calcite-card-corner-radius: var(--calcite-corner-radius-round) !important;--calcite-card-shadow: var(--calcite-shadow-sm);--calcite-card-background-color: var(--calcite-card-background-color) }.solution-card div[slot=thumbnail]{max-height:100%;width:100%;position:relative;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease-in-out}}.solution-card div[slot=thumbnail] img{max-height:100%;width:100%;object-fit:cover}.solution-card span[slot=description]{padding-top:10px}.solution-card calcite-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;opacity:0;transition:all .15s ease-in-out;z-index:9999}.solution-card:hover calcite-chip{visibility:visible;opacity:1}.solution-card:hover div[slot=thumbnail]:after{background-color:#00000080}.solution-card:hover h3{text-decoration:underline}.solution-card:focus{outline:2px solid var(--calcite-color-brand)}.references-container{padding-top:10px;display:block}.references-container.collapsed{display:none}.width-100{width:100%}.disclaimer-div{display:flex;gap:var(--calcite-spacing-sm);font-size:var(--calcite-font-size--0);color:var(--calcite-color-text-1)}.display-none{display:none}.chat-messages calcite-fab{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:999}.icon-color-background{--calcite-button-icon-color: var(--calcite-color-surface-1)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-surface-1)}@media(max-width:430px){.solution-card .solution-snippet{display:none}}.height-32-flex-auto{height:32px;flex:0 0 auto}.margin-top-0.message-content>p:first-of-type{margin-top:0}a:not(.solution-card){color:var(--calcite-link-text-color, var(--calcite-color-text-link));cursor:pointer;text-decoration:none;line-height:inherit;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px;transition-property:background-size,color;transition-duration:var(--calcite-animation-timing, .15s);transition-timing-function:ease-in-out;outline-color:transparent;position:relative}a:not(.solution-card):hover{background-size:100% 1px,100% 1px}a:not(.solution-card):focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px;outline-color:var(--calcite-color-brand)}a:not(.solution-card):active{color:var(--calcite-color-brand-press)}`,Je="__start__",Re="__end__",Rr="__input__",aI="__copy__",cn="__error__",Oh="__pregel_ns_writes",cs="__pregel_send",Sg="__pregel_call",Xs="__pregel_read",mt="__pregel_checkpointer",es="__pregel_resuming",Io="__pregel_task_id",iu="__pregel_stream",iI="__pregel_resume_value",$l="__pregel_resume_map",ls="__pregel_scratchpad",Cl="__pregel_previous",Kw="__pregel_durability",bf="checkpoint_id",gr="checkpoint_ns",oI="__pregel_node_finished",jn="checkpoint_map",I_="__pregel_abort_signals",Ue="__interrupt__",hn="__resume__",Og="__no_writes__",ci="__return__",Ih="__previous__",pt="langsmith:hidden",cI="langsmith:nostream",T_="__self__",Sn="__pregel_tasks",En="__pregel_push",Nl="__pregel_pull",Rn="00000000-0000-0000-0000-000000000000",lI=[pt,Rr,Ue,hn,cn,Og,cs,Xs,mt,Kw,iu,es,Io,Sg,iI,ls,Cl,jn,gr,bf],xt="|",Fr=":",A_=Symbol.for("langgraph.command"),uI=class{[A_];constructor(e){this[A_]=e}};function wf(e){let t=e;return t!=null&&typeof t.node=="string"&&t.args!==void 0}var Mo=class{lg_name="Send";node;args;constructor(e,t){this.node=e,this.args=zo(t)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args}}};function pn(e){return e instanceof Mo}var $_="__overwrite__";function xf(e){return typeof e=="object"&&e!==null&&$_ in e?[!0,e[$_]]:[!1,void 0]}function dI(e){return xf(e)[0]}function Xw(e){return!e||typeof e!="object"||!(Ue in e)?!1:Array.isArray(e[Ue])}var yr=class extends uI{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?zo(e.goto):[zo(e.goto)])}_updateAsTuples(){return this.update&&typeof this.update=="object"&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]=="string")?this.update:[["__root__",this.update]]}toJSON(){let e;return typeof this.goto=="string"?e=this.goto:pn(this.goto)?e=this.goto.toJSON():e=this.goto?.map(t=>typeof t=="string"?t:t.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function Mt(e){return typeof e!="object"||e==null?!1:"lg_name"in e&&e.lg_name==="Command"}function zo(e,t=new Map){if(e!=null&&typeof e=="object"){if(t.has(e))return t.get(e);let n;if(Array.isArray(e))n=[],t.set(e,n),e.forEach((r,s)=>{n[s]=zo(r,t)});else if(Mt(e)&&!(e instanceof yr))n=new yr(e),t.set(e,n);else if(wf(e)&&!(e instanceof Mo))n=new Mo(e.node,e.args),t.set(e,n);else if(Mt(e)||pn(e))n=e,t.set(e,n);else if("lc_serializable"in e&&e.lc_serializable)n=e,t.set(e,n);else{n={},t.set(e,n);for(let[r,s]of Object.entries(e))n[r]=zo(s,t)}return n}return e}var Cs=class extends Error{lc_error_code;constructor(e,t){let n=e??"";t?.lc_error_code&&(n=`${n}
3
+
4
+ Troubleshooting URL: https://docs.langchain.com/oss/javascript/langgraph/${t.lc_error_code}/
5
+ `),super(n),this.lc_error_code=t?.lc_error_code}},Yw=class extends Cs{get is_bubble_up(){return!0}},hI=class extends Cs{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},Pl=class extends Cs{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},si=class extends Yw{interrupts;constructor(e,t){super(JSON.stringify(e,null,2),t),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},Qw=class extends si{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},e1=class extends Yw{command;constructor(e){super(),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function pI(e){return e!==void 0&&e.name===e1.unminifiable_name}function jl(e){return e!==void 0&&e.is_bubble_up===!0}function Ha(e){return e!==void 0&&[si.unminifiable_name,Qw.unminifiable_name].includes(e.name)}var C_=class extends Cs{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},Ot=class extends Cs{constructor(e,t){super(e,t),this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},Ke=class extends Cs{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}},fI=class extends Cs{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}},Th=class extends Cs{constructor(e,t){super(e,t),this.name="StateGraphInputError",this.message="Invalid StateGraph input. Make sure to pass a valid StateDefinition, Annotation.Root, or Zod schema."}static get unminifiable_name(){return"StateGraphInputError"}},mI=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function kf(e){return typeof e=="string"&&mI.test(e)}function t1(e){if(!kf(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=t&255,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=t&255,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=t&255,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=t&255,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=t&255,n}var It=[];for(Wc=0;Wc<256;++Wc)It.push((Wc+256).toString(16).slice(1));var Wc;function Zi(e,t=0){return(It[e[t+0]]+It[e[t+1]]+It[e[t+2]]+It[e[t+3]]+"-"+It[e[t+4]]+It[e[t+5]]+"-"+It[e[t+6]]+It[e[t+7]]+"-"+It[e[t+8]]+It[e[t+9]]+"-"+It[e[t+10]]+It[e[t+11]]+It[e[t+12]]+It[e[t+13]]+It[e[t+14]]+It[e[t+15]]).toLowerCase()}var Jc,gI=new Uint8Array(16);function Ig(){if(!Jc&&(Jc=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Jc))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Jc(gI)}var Ah,Gc,$h=0,Ch=0;function yI(e,t,n){var r=0,s=t||new Array(16);e=e||{};var a=e.node,i=e.clockseq;if(e._v6||(a||(a=Ah),i==null&&(i=Gc)),a==null||i==null){var o=e.random||(e.rng||Ig)();a==null&&(a=[o[0],o[1],o[2],o[3],o[4],o[5]],!Ah&&!e._v6&&(a[0]|=1,Ah=a)),i==null&&(i=(o[6]<<8|o[7])&16383,Gc===void 0&&!e._v6&&(Gc=i))}var c=e.msecs!==void 0?e.msecs:Date.now(),l=e.nsecs!==void 0?e.nsecs:Ch+1,u=c-$h+(l-Ch)/1e4;if(u<0&&e.clockseq===void 0&&(i=i+1&16383),(u<0||c>$h)&&e.nsecs===void 0&&(l=0),l>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");$h=c,Ch=l,Gc=i,c+=122192928e5;var d=((c&268435455)*1e4+l)%4294967296;s[r++]=d>>>24&255,s[r++]=d>>>16&255,s[r++]=d>>>8&255,s[r++]=d&255;var h=c/4294967296*1e4&268435455;s[r++]=h>>>8&255,s[r++]=h&255,s[r++]=h>>>24&15|16,s[r++]=h>>>16&255,s[r++]=i>>>8|128,s[r++]=i&255;for(var p=0;p<6;++p)s[r+p]=a[p];return t||Zi(s)}function _I(e){var t=typeof e=="string"?t1(e):e,n=vI(t);return typeof e=="string"?Zi(n):n}function vI(e,t=!1){return Uint8Array.of((e[6]&15)<<4|e[7]>>4&15,(e[7]&15)<<4|(e[4]&240)>>4,(e[4]&15)<<4|(e[5]&240)>>4,(e[5]&15)<<4|(e[0]&240)>>4,(e[0]&15)<<4|(e[1]&240)>>4,(e[1]&15)<<4|(e[2]&240)>>4,96|e[2]&15,e[3],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function bI(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}var wI="6ba7b810-9dad-11d1-80b4-00c04fd430c8",xI="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function kI(e,t,n){function r(s,a,i,o){var c;if(typeof s=="string"&&(s=bI(s)),typeof a=="string"&&(a=t1(a)),((c=a)===null||c===void 0?void 0:c.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var l=new Uint8Array(16+s.length);if(l.set(a),l.set(s,a.length),l=n(l),l[6]=l[6]&15|t,l[8]=l[8]&63|128,i){o=o||0;for(var u=0;u<16;++u)i[o+u]=l[u];return i}return Zi(l)}try{r.name=e}catch{}return r.DNS=wI,r.URL=xI,r}var EI=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),N_={randomUUID:EI};function Zs(e,t,n){if(N_.randomUUID&&!e)return N_.randomUUID();e=e||{};var r=e.random||(e.rng||Ig)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Zi(r)}function SI(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function Nh(e,t){return e<<t|e>>>32-t}function OI(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){var r=unescape(encodeURIComponent(e));e=[];for(var s=0;s<r.length;++s)e.push(r.charCodeAt(s))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var a=e.length/4+2,i=Math.ceil(a/16),o=new Array(i),c=0;c<i;++c){for(var l=new Uint32Array(16),u=0;u<16;++u)l[u]=e[c*64+u*4]<<24|e[c*64+u*4+1]<<16|e[c*64+u*4+2]<<8|e[c*64+u*4+3];o[c]=l}o[i-1][14]=(e.length-1)*8/Math.pow(2,32),o[i-1][14]=Math.floor(o[i-1][14]),o[i-1][15]=(e.length-1)*8&4294967295;for(var d=0;d<i;++d){for(var h=new Uint32Array(80),p=0;p<16;++p)h[p]=o[d][p];for(var f=16;f<80;++f)h[f]=Nh(h[f-3]^h[f-8]^h[f-14]^h[f-16],1);for(var m=n[0],v=n[1],w=n[2],y=n[3],x=n[4],k=0;k<80;++k){var O=Math.floor(k/20),$=Nh(m,5)+SI(O,v,w,y)+x+t[O]+h[k]>>>0;x=y,y=w,w=Nh(v,30)>>>0,v=m,m=$}n[0]=n[0]+m>>>0,n[1]=n[1]+v>>>0,n[2]=n[2]+w>>>0,n[3]=n[3]+y>>>0,n[4]=n[4]+x>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var n1=kI("v5",80,OI);function P_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function j_(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?P_(Object(n),!0).forEach(function(r){II(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P_(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function II(e,t,n){return(t=TI(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function TI(e){var t=AI(e,"string");return typeof t=="symbol"?t:t+""}function AI(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $I(e={},t,n=0){var r=yI(j_(j_({},e),{},{_v6:!0}),new Uint8Array(16));return r=_I(r),Zi(r)}var R_=null,L_=null,Zn=0;function r1(e,t,n){e=e||{};var r=0,s=new Uint8Array(16),a=e.random||(e.rng||Ig)(),i=e.msecs!==void 0?e.msecs:Date.now(),o=e.seq!==void 0?e.seq:null,c=L_,l=R_;return i>Zn&&e.msecs===void 0&&(Zn=i,o!==null&&(c=null,l=null)),o!==null&&(o>2147483647&&(o=2147483647),c=o>>>19&4095,l=o&524287),(c===null||l===null)&&(c=a[6]&127,c=c<<8|a[7],l=a[8]&63,l=l<<8|a[9],l=l<<5|a[10]>>>3),i+1e4>Zn&&o===null?++l>524287&&(l=0,++c>4095&&(c=0,Zn++)):Zn=i,L_=c,R_=l,s[r++]=Zn/1099511627776&255,s[r++]=Zn/4294967296&255,s[r++]=Zn/16777216&255,s[r++]=Zn/65536&255,s[r++]=Zn/256&255,s[r++]=Zn&255,s[r++]=c>>>4&15|112,s[r++]=c&255,s[r++]=l>>>13&63|128,s[r++]=l>>>5&255,s[r++]=l<<3&255|a[10]&7,s[r++]=a[11],s[r++]=a[12],s[r++]=a[13],s[r++]=a[14],s[r++]=a[15],t||Zi(s)}function s1(e){return $I({clockseq:e})}function Wa(e,t){let n=t.replace(/-/g,"").match(/.{2}/g).map(r=>parseInt(r,16));return n1(e,new Uint8Array(n))}var CI="__error__",Rl="__scheduled__",NI="__interrupt__",PI="__resume__",M_="[...]",jI="[Circular]",ou=[],Ja=[];function RI(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function LI(e,t,n,r){typeof r>"u"&&(r=RI()),Ef(e,"",0,[],void 0,0,r);var s;try{Ja.length===0?s=JSON.stringify(e,t,n):s=JSON.stringify(e,MI(t),n)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;ou.length!==0;){var a=ou.pop();a.length===4?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return s}function Ph(e,t,n,r){var s=Object.getOwnPropertyDescriptor(r,n);s.get!==void 0?s.configurable?(Object.defineProperty(r,n,{value:e}),ou.push([r,n,t,s])):Ja.push([t,n,e]):(r[n]=e,ou.push([r,n,t]))}function Ef(e,t,n,r,s,a,i){a+=1;var o;if(typeof e=="object"&&e!==null){for(o=0;o<r.length;o++)if(r[o]===e){Ph(jI,e,t,s);return}if(typeof i.depthLimit<"u"&&a>i.depthLimit){Ph(M_,e,t,s);return}if(typeof i.edgesLimit<"u"&&n+1>i.edgesLimit){Ph(M_,e,t,s);return}if(r.push(e),Array.isArray(e))for(o=0;o<e.length;o++)Ef(e[o],o,o,r,e,a,i);else{var c=Object.keys(e);for(o=0;o<c.length;o++){var l=c[o];Ef(e[l],l,o,r,e,a,i)}}r.pop()}}function MI(e){return e=typeof e<"u"?e:function(t,n){return n},function(t,n){if(Ja.length>0)for(var r=0;r<Ja.length;r++){var s=Ja[r];if(s[1]===t&&s[0]===n){n=s[2],Ja.splice(r,1);break}}return e.call(this,t,n)}}var z_,D_;function zI(){return D_||(D_=1,z_=function(e,t){if(typeof e!="string")throw new TypeError("Expected a string");return t=typeof t>"u"?"_":t,e.replace(/([a-z\d])([A-Z])/g,"$1"+t+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+t+"$2").toLowerCase()}),z_}var DI=zI(),FI=Aa(DI),Kc={exports:{}},F_;function UI(){if(F_)return Kc.exports;F_=1;let e=/[\p{Lu}]/u,t=/[\p{Ll}]/u,n=/^[\p{Lu}](?![\p{Lu}])/gu,r=/([\p{Alpha}\p{N}_]|$)/u,s=/[_.\- ]+/,a=new RegExp("^"+s.source),i=new RegExp(s.source+r.source,"gu"),o=new RegExp("\\d+"+r.source,"gu"),c=(h,p,f)=>{let m=!1,v=!1,w=!1;for(let y=0;y<h.length;y++){let x=h[y];m&&e.test(x)?(h=h.slice(0,y)+"-"+h.slice(y),m=!1,w=v,v=!0,y++):v&&w&&t.test(x)?(h=h.slice(0,y-1)+"-"+h.slice(y-1),w=v,v=!1,m=!0):(m=p(x)===x&&f(x)!==x,w=v,v=f(x)===x&&p(x)!==x)}return h},l=(h,p)=>(n.lastIndex=0,h.replace(n,f=>p(f))),u=(h,p)=>(i.lastIndex=0,o.lastIndex=0,h.replace(i,(f,m)=>p(m)).replace(o,f=>p(f))),d=(h,p)=>{if(!(typeof h=="string"||Array.isArray(h)))throw new TypeError("Expected the input to be `string | string[]`");if(p={pascalCase:!1,preserveConsecutiveUppercase:!1,...p},Array.isArray(h)?h=h.map(v=>v.trim()).filter(v=>v.length).join("-"):h=h.trim(),h.length===0)return"";let f=p.locale===!1?v=>v.toLowerCase():v=>v.toLocaleLowerCase(p.locale),m=p.locale===!1?v=>v.toUpperCase():v=>v.toLocaleUpperCase(p.locale);return h.length===1?p.pascalCase?m(h):f(h):(h!==f(h)&&(h=c(h,f,m)),h=h.replace(a,""),p.preserveConsecutiveUppercase?h=l(h,f):h=f(h),p.pascalCase&&(h=m(h.charAt(0))+h.slice(1)),u(h,m))};return Kc.exports=d,Kc.exports.default=d,Kc.exports}var BI=UI(),ZI=Aa(BI);function VI(e,t){return t?.[e]||FI(e)}function qI(e,t){return t?.[e]||ZI(e)}function a1(e,t,n){let r={};for(let s in e)Object.hasOwn(e,s)&&(r[t(s,n)]=e[s]);return r}var i1="__lc_escaped__";function HI(e){return"lc"in e||Object.keys(e).length===1&&"__lc_escaped__"in e}function WI(e){return{[i1]:e}}function o1(e){return Object.keys(e).length===1&&"__lc_escaped__"in e}function JI(e){return e!==null&&typeof e=="object"&&"lc_serializable"in e&&typeof e.toJSON=="function"}function GI(e){let t;return e!==null&&typeof e=="object"?"lc_id"in e&&Array.isArray(e.lc_id)?t=e.lc_id:t=[e.constructor?.name??"Object"]:t=[typeof e],{lc:1,type:"not_implemented",id:t}}function Sf(e,t=new WeakSet){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){if(t.has(e))return GI(e);if(JI(e))return e;t.add(e);let n=e;if(HI(n))return t.delete(e),WI(n);let r={};for(let[s,a]of Object.entries(n))r[s]=Sf(a,t);return t.delete(e),r}return Array.isArray(e)?e.map(n=>Sf(n,t)):e}function Of(e){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let t=e;if(o1(t))return t[i1];let n={};for(let[r,s]of Object.entries(t))n[r]=Of(s);return n}return Array.isArray(e)?e.map(t=>Of(t)):e}var U_=Object.defineProperty,Q=(e,t)=>{let n={};for(var r in e)U_(n,r,{get:e[r],enumerable:!0});return U_(n,Symbol.toStringTag,{value:"Module"}),n},KI=Q({Serializable:()=>zn,get_lc_unique_name:()=>Bd});function B_(e){return Array.isArray(e)?[...e]:{...e}}function XI(e,t){let n=B_(e);for(let[r,s]of Object.entries(t)){let[a,...i]=r.split(".").reverse(),o=n;for(let c of i.reverse()){if(o[c]===void 0)break;o[c]=B_(o[c]),o=o[c]}o[a]!==void 0&&(o[a]={lc:1,type:"secret",id:[s]})}return n}function Bd(e){let t=Object.getPrototypeOf(e);return typeof e.lc_name=="function"&&(typeof t.lc_name!="function"||e.lc_name()!==t.lc_name())?e.lc_name():e.name}var zn=class c1{lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,Bd(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(t,...n){this.lc_serializable_keys!==void 0?this.lc_kwargs=Object.fromEntries(Object.entries(t||{}).filter(([r])=>this.lc_serializable_keys?.includes(r))):this.lc_kwargs=t??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof c1||typeof this.lc_kwargs!="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let t={},n={},r=Object.keys(this.lc_kwargs).reduce((o,c)=>(o[c]=c in this?this[c]:this.lc_kwargs[c],o),{});for(let o=Object.getPrototypeOf(this);o;o=Object.getPrototypeOf(o))Object.assign(t,Reflect.get(o,"lc_aliases",this)),Object.assign(n,Reflect.get(o,"lc_secrets",this)),Object.assign(r,Reflect.get(o,"lc_attributes",this));Object.keys(n).forEach(o=>{let c=this,l=r,[u,...d]=o.split(".").reverse();for(let h of d.reverse()){if(!(h in c)||c[h]===void 0)return;(!(h in l)||l[h]===void 0)&&(typeof c[h]=="object"&&c[h]!=null?l[h]={}:Array.isArray(c[h])&&(l[h]=[])),c=c[h],l=l[h]}u in c&&c[u]!==void 0&&(l[u]=l[u]||c[u])});let s={},a=new WeakSet;a.add(this);for(let[o,c]of Object.entries(r))s[o]=Sf(c,a);let i=a1(Object.keys(n).length?XI(s,n):s,VI,t);return{lc:1,type:"constructor",id:this.lc_id,kwargs:i}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}},YI=Q({getEnv:()=>p1,getEnvironmentVariable:()=>Ur,getRuntimeEnvironment:()=>f1,isBrowser:()=>l1,isDeno:()=>Zd,isJsDom:()=>d1,isNode:()=>h1,isWebWorker:()=>u1}),l1=()=>typeof window<"u"&&typeof window.document<"u",u1=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",d1=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),Zd=()=>typeof Deno<"u",h1=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!Zd(),p1=()=>{let e;return l1()?e="browser":h1()?e="node":u1()?e="webworker":d1()?e="jsdom":Zd()?e="deno":e="other",e},jh;function f1(){return jh===void 0&&(jh={library:"langchain-js",runtime:p1()}),jh}function Ur(e){try{return typeof process<"u"?process.env?.[e]:Zd()?Deno?.env.get(e):void 0}catch{return}}var QI=[],eT=Q({}),tT=Q({}),Y="0123456789abcdef".split(""),nT=[-2147483648,8388608,32768,128],Vn=[24,16,8,0],Xc=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Et=[];function ar(e,t){t?(Et[0]=Et[16]=Et[1]=Et[2]=Et[3]=Et[4]=Et[5]=Et[6]=Et[7]=Et[8]=Et[9]=Et[10]=Et[11]=Et[12]=Et[13]=Et[14]=Et[15]=0,this.blocks=Et):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}ar.prototype.update=function(e){if(!this.finalized){var t,n=typeof e;if(n!=="string"){if(n==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var r,s=0,a,i=e.length,o=this.blocks;s<i;){if(this.hashed&&(this.hashed=!1,o[0]=this.block,this.block=o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),t)for(a=this.start;s<i&&a<64;++s)o[a>>>2]|=e[s]<<Vn[a++&3];else for(a=this.start;s<i&&a<64;++s)r=e.charCodeAt(s),r<128?o[a>>>2]|=r<<Vn[a++&3]:r<2048?(o[a>>>2]|=(192|r>>>6)<<Vn[a++&3],o[a>>>2]|=(128|r&63)<<Vn[a++&3]):r<55296||r>=57344?(o[a>>>2]|=(224|r>>>12)<<Vn[a++&3],o[a>>>2]|=(128|r>>>6&63)<<Vn[a++&3],o[a>>>2]|=(128|r&63)<<Vn[a++&3]):(r=65536+((r&1023)<<10|e.charCodeAt(++s)&1023),o[a>>>2]|=(240|r>>>18)<<Vn[a++&3],o[a>>>2]|=(128|r>>>12&63)<<Vn[a++&3],o[a>>>2]|=(128|r>>>6&63)<<Vn[a++&3],o[a>>>2]|=(128|r&63)<<Vn[a++&3]);this.lastByteIndex=a,this.bytes+=a-this.start,a>=64?(this.block=o[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}};ar.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>>2]|=nT[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}};ar.prototype.hash=function(){var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=this.blocks,l,u,d,h,p,f,m,v,w,y,x;for(l=16;l<64;++l)p=c[l-15],u=(p>>>7|p<<25)^(p>>>18|p<<14)^p>>>3,p=c[l-2],d=(p>>>17|p<<15)^(p>>>19|p<<13)^p>>>10,c[l]=c[l-16]+u+c[l-7]+d<<0;for(x=t&n,l=0;l<64;l+=4)this.first?(this.is224?(v=300032,p=c[0]-1413257819,o=p-150054599<<0,r=p+24177077<<0):(v=704751109,p=c[0]-210244248,o=p-1521486534<<0,r=p+143694565<<0),this.first=!1):(u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),d=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),v=e&t,h=v^e&n^x,m=s&a^~s&i,p=o+d+m+Xc[l]+c[l],f=u+h,o=r+p<<0,r=p+f<<0),u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),d=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),w=r&e,h=w^r&t^v,m=i&o^~i&s,p=a+d+m+Xc[l+1]+c[l+1],f=u+h,i=n+p<<0,n=p+f<<0,u=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),d=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),y=n&r,h=y^n&e^w,m=a&i^~a&o,p=s+d+m+Xc[l+2]+c[l+2],f=u+h,a=t+p<<0,t=p+f<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),d=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),x=t&n,h=x^t&r^y,m=a&i^~a&o,p=s+d+m+Xc[l+3]+c[l+3],f=u+h,s=e+p<<0,e=p+f<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+n<<0,this.h3=this.h3+r<<0,this.h4=this.h4+s<<0,this.h5=this.h5+a<<0,this.h6=this.h6+i<<0,this.h7=this.h7+o<<0};ar.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=Y[e>>>28&15]+Y[e>>>24&15]+Y[e>>>20&15]+Y[e>>>16&15]+Y[e>>>12&15]+Y[e>>>8&15]+Y[e>>>4&15]+Y[e&15]+Y[t>>>28&15]+Y[t>>>24&15]+Y[t>>>20&15]+Y[t>>>16&15]+Y[t>>>12&15]+Y[t>>>8&15]+Y[t>>>4&15]+Y[t&15]+Y[n>>>28&15]+Y[n>>>24&15]+Y[n>>>20&15]+Y[n>>>16&15]+Y[n>>>12&15]+Y[n>>>8&15]+Y[n>>>4&15]+Y[n&15]+Y[r>>>28&15]+Y[r>>>24&15]+Y[r>>>20&15]+Y[r>>>16&15]+Y[r>>>12&15]+Y[r>>>8&15]+Y[r>>>4&15]+Y[r&15]+Y[s>>>28&15]+Y[s>>>24&15]+Y[s>>>20&15]+Y[s>>>16&15]+Y[s>>>12&15]+Y[s>>>8&15]+Y[s>>>4&15]+Y[s&15]+Y[a>>>28&15]+Y[a>>>24&15]+Y[a>>>20&15]+Y[a>>>16&15]+Y[a>>>12&15]+Y[a>>>8&15]+Y[a>>>4&15]+Y[a&15]+Y[i>>>28&15]+Y[i>>>24&15]+Y[i>>>20&15]+Y[i>>>16&15]+Y[i>>>12&15]+Y[i>>>8&15]+Y[i>>>4&15]+Y[i&15];return this.is224||(c+=Y[o>>>28&15]+Y[o>>>24&15]+Y[o>>>20&15]+Y[o>>>16&15]+Y[o>>>12&15]+Y[o>>>8&15]+Y[o>>>4&15]+Y[o&15]),c};ar.prototype.toString=ar.prototype.hex;ar.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=[e>>>24&255,e>>>16&255,e>>>8&255,e&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255,r>>>24&255,r>>>16&255,r>>>8&255,r&255,s>>>24&255,s>>>16&255,s>>>8&255,s&255,a>>>24&255,a>>>16&255,a>>>8&255,a&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255];return this.is224||c.push(o>>>24&255,o>>>16&255,o>>>8&255,o&255),c};ar.prototype.array=ar.prototype.digest;ar.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};var Tg=(...e)=>new ar(!1,!0).update(e.join("")).hex(),rT=Q({sha256:()=>Tg});function m1(e){let t=Symbol.for(e);return{brand(n,r){let s=r?Symbol.for(`${e}.${r}`):t;class a extends n{[s]=!0;constructor(...o){super(...o)}static isInstance(o){return typeof o=="object"&&o!==null&&s in o&&o[s]===!0}}return Object.defineProperty(a,"name",{value:n.name}),a},sub(n){return m1(`${e}.${n}`)},isInstance(n){return typeof n=="object"&&n!==null&&t in n&&n[t]===!0}}}var sT=m1("langchain"),aT=Q({ContextOverflowError:()=>iT,LangChainError:()=>Ag,ModelAbortError:()=>If,addLangChainErrorFields:()=>$c,ns:()=>Vd});function $c(e,t){return e.lc_error_code=t,e.message=`${e.message}
6
+
7
+ Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${t}/
8
+ `,e}var Vd=sT.sub("error"),Ag=class extends Vd.brand(Error){name="LangChainError";constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},If=class extends Vd.brand(Ag,"model-abort"){name="ModelAbortError";partialOutput;constructor(e,t){super(e),this.partialOutput=t}},iT=class g1 extends Vd.brand(Ag,"context-overflow"){name="ContextOverflowError";cause;constructor(t){super(t??"Input exceeded the model's context window.")}static fromError(t){let n=new g1(t.message);return n.cause=t,n}};function gs(e){return typeof e=="object"&&e!==null&&"type"in e&&typeof e.type=="string"&&"source_type"in e&&(e.source_type==="url"||e.source_type==="base64"||e.source_type==="text"||e.source_type==="id")}function $g(e){return gs(e)&&e.source_type==="url"&&"url"in e&&typeof e.url=="string"}function Cg(e){return gs(e)&&e.source_type==="base64"&&"data"in e&&typeof e.data=="string"}function oT(e){return gs(e)&&e.source_type==="text"&&"text"in e&&typeof e.text=="string"}function y1(e){return gs(e)&&e.source_type==="id"&&"id"in e&&typeof e.id=="string"}function _1(e){if(gs(e)){if(e.source_type==="url")return{type:"image_url",image_url:{url:e.url}};if(e.source_type==="base64"){if(!e.mime_type)throw new Error("mime_type key is required for base64 data.");return{type:"image_url",image_url:{url:`data:${e.mime_type};base64,${e.data}`}}}}throw new Error("Unsupported source type. Only 'url' and 'base64' are supported.")}function cT(e){let t=e.split(";")[0].split("/");if(t.length!==2)throw new Error(`Invalid mime type: "${e}" - does not match type/subtype format.`);let n=t[0].trim(),r=t[1].trim();if(n===""||r==="")throw new Error(`Invalid mime type: "${e}" - type or subtype is empty.`);let s={};for(let a of e.split(";").slice(1)){let i=a.split("=");if(i.length!==2)throw new Error(`Invalid parameter syntax in mime type: "${e}".`);let o=i[0].trim(),c=i[1].trim();if(o==="")throw new Error(`Invalid parameter syntax in mime type: "${e}".`);s[o]=c}return{type:n,subtype:r,parameters:s}}function Tf({dataUrl:e,asTypedArray:t=!1}){let n=e.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),r;if(n){r=n[1].toLowerCase();let s=t?Uint8Array.from(atob(n[2]),a=>a.charCodeAt(0)):n[2];return{mime_type:r,data:s}}}function lT(e,t){if(e.type==="text"){if(!t.fromStandardTextBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardTextBlock\` method.`);return t.fromStandardTextBlock(e)}if(e.type==="image"){if(!t.fromStandardImageBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardImageBlock\` method.`);return t.fromStandardImageBlock(e)}if(e.type==="audio"){if(!t.fromStandardAudioBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardAudioBlock\` method.`);return t.fromStandardAudioBlock(e)}if(e.type==="file"){if(!t.fromStandardFileBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardFileBlock\` method.`);return t.fromStandardFileBlock(e)}throw new Error(`Unable to convert content block type '${e.type}' to provider-specific format: not recognized.`)}function K(e,t){return he(e)&&e.type===t}function he(e){return typeof e=="object"&&e!==null}function on(e){return Array.isArray(e)}function L(e){return typeof e=="string"}function Kn(e){return typeof e=="number"}function Ng(e){return e instanceof Uint8Array}function Z_(e){try{return JSON.parse(e)}catch{return}}var us=e=>e();function uT(e){if(e.type==="char_location"&&L(e.document_title)&&Kn(e.start_char_index)&&Kn(e.end_char_index)&&L(e.cited_text)){let{document_title:t,start_char_index:n,end_char_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"char",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="page_location"&&L(e.document_title)&&Kn(e.start_page_number)&&Kn(e.end_page_number)&&L(e.cited_text)){let{document_title:t,start_page_number:n,end_page_number:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"page",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="content_block_location"&&L(e.document_title)&&Kn(e.start_block_index)&&Kn(e.end_block_index)&&L(e.cited_text)){let{document_title:t,start_block_index:n,end_block_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"block",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="web_search_result_location"&&L(e.url)&&L(e.title)&&L(e.encrypted_index)&&L(e.cited_text)){let{url:t,title:n,encrypted_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"url",url:t,title:n,startIndex:Number(r),endIndex:Number(r),citedText:s}}if(e.type==="search_result_location"&&L(e.source)&&L(e.title)&&Kn(e.start_block_index)&&Kn(e.end_block_index)&&L(e.cited_text)){let{source:t,title:n,start_block_index:r,end_block_index:s,cited_text:a,...i}=e;return{...i,type:"citation",source:"search",url:t,title:n??void 0,startIndex:r,endIndex:s,citedText:a}}}function v1(e){if(K(e,"document")&&he(e.source)&&"type"in e.source){if(e.source.type==="base64"&&L(e.source.media_type)&&L(e.source.data))return{type:"file",mimeType:e.source.media_type,data:e.source.data};if(e.source.type==="url"&&L(e.source.url))return{type:"file",url:e.source.url};if(e.source.type==="file"&&L(e.source.file_id))return{type:"file",fileId:e.source.file_id};if(e.source.type==="text"&&L(e.source.data))return{type:"file",mimeType:String(e.source.media_type??"text/plain"),data:e.source.data}}else if(K(e,"image")&&he(e.source)&&"type"in e.source){if(e.source.type==="base64"&&L(e.source.media_type)&&L(e.source.data))return{type:"image",mimeType:e.source.media_type,data:e.source.data};if(e.source.type==="url"&&L(e.source.url))return{type:"image",url:e.source.url};if(e.source.type==="file"&&L(e.source.file_id))return{type:"image",fileId:e.source.file_id}}}function dT(e){function*t(){for(let n of e){let r=v1(n);r?yield r:yield n}}return Array.from(t())}function V_(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"text")&&L(r.text)){let{text:s,citations:a,...i}=r;if(on(a)&&a.length){let o=a.reduce((c,l)=>{let u=uT(l);return u?[...c,u]:c},[]);yield{...i,type:"text",text:s,annotations:o};continue}else{yield{...i,type:"text",text:s};continue}}else if(K(r,"thinking")&&L(r.thinking)){let{thinking:s,signature:a,...i}=r;yield{...i,type:"reasoning",reasoning:s,signature:a};continue}else if(K(r,"redacted_thinking")){yield{type:"non_standard",value:r};continue}else if(K(r,"tool_use")&&L(r.name)&&L(r.id)){yield{type:"tool_call",id:r.id,name:r.name,args:r.input};continue}else if(K(r,"input_json_delta")){if(pT(e)&&e.tool_call_chunks?.length){let s=e.tool_call_chunks[0];yield{type:"tool_call_chunk",id:s.id,name:s.name,args:s.args,index:s.index};continue}}else if(K(r,"server_tool_use")&&L(r.name)&&L(r.id)){let{name:s,id:a}=r;if(s==="web_search"){yield{id:a,type:"server_tool_call",name:"web_search",args:{query:us(()=>{if(typeof r.input=="string")return r.input;if(he(r.input)&&L(r.input.query))return r.input.query;if(L(r.partial_json)){let i=Z_(r.partial_json);if(i?.query)return i.query}return""})}};continue}else if(r.name==="code_execution"){yield{id:a,type:"server_tool_call",name:"code_execution",args:{code:us(()=>{if(typeof r.input=="string")return r.input;if(he(r.input)&&L(r.input.code))return r.input.code;if(L(r.partial_json)){let i=Z_(r.partial_json);if(i?.code)return i.code}return""})}};continue}}else if(K(r,"web_search_tool_result")&&L(r.tool_use_id)&&on(r.content)){let{content:s,tool_use_id:a}=r;yield{type:"server_tool_call_result",name:"web_search",toolCallId:a,status:"success",output:{urls:s.reduce((i,o)=>K(o,"web_search_result")?[...i,o.url]:i,[])}};continue}else if(K(r,"code_execution_tool_result")&&L(r.tool_use_id)&&he(r.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:r.tool_use_id,status:"success",output:r.content};continue}else if(K(r,"mcp_tool_use")){yield{id:r.id,type:"server_tool_call",name:"mcp_tool_use",args:r.input};continue}else if(K(r,"mcp_tool_result")&&L(r.tool_use_id)&&he(r.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:r.tool_use_id,status:"success",output:r.content};continue}else if(K(r,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:r.input};continue}else if(K(r,"search_result")){yield{id:r.id,type:"non_standard",value:r};continue}else if(K(r,"tool_result")){yield{id:r.id,type:"non_standard",value:r};continue}else{let s=v1(r);if(s){yield s;continue}}yield{type:"non_standard",value:r}}}return Array.from(t())}var hT={translateContent:V_,translateContentChunk:V_};function pT(e){return typeof e?._getType=="function"&&typeof e.concat=="function"&&e._getType()==="ai"}function fT(e){return $g(e)?{type:e.type,mimeType:e.mime_type,url:e.url,metadata:e.metadata}:Cg(e)?{type:e.type,mimeType:e.mime_type??"application/octet-stream",data:e.data,metadata:e.metadata}:y1(e)?{type:e.type,mimeType:e.mime_type,fileId:e.id,metadata:e.metadata}:e}function mT(e){return e.map(fT)}function gT(e){return!!(K(e,"image_url")&&he(e.image_url)||K(e,"input_audio")&&he(e.input_audio)||K(e,"file")&&he(e.file))}function yT(e){if(K(e,"image_url")&&he(e.image_url)&&L(e.image_url.url)){let t=Tf({dataUrl:e.image_url.url});return t?{type:"image",mimeType:t.mime_type,data:t.data}:{type:"image",url:e.image_url.url}}else{if(K(e,"input_audio")&&he(e.input_audio)&&L(e.input_audio.data)&&L(e.input_audio.format))return{type:"audio",data:e.input_audio.data,mimeType:`audio/${e.input_audio.format}`};if(K(e,"file")&&he(e.file)&&L(e.file.data)){let t=Tf({dataUrl:e.file.data});if(t)return{type:"file",data:t.data,mimeType:t.mime_type};if(L(e.file.file_id))return{type:"file",fileId:e.file.file_id}}}return e}function _T(e){let t=[];typeof e.content=="string"?e.content.length>0&&t.push({type:"text",text:e.content}):t.push(...Pg(e.content));for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}function vT(e){let t=[];typeof e.content=="string"?e.content.length>0&&t.push({type:"text",text:e.content}):t.push(...Pg(e.content));for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}function Pg(e){let t=[];for(let n of e)gT(n)?t.push(yT(n)):t.push(n);return t}function bT(e){if(e.type==="url_citation"){let{url:t,title:n,start_index:r,end_index:s}=e;return{type:"citation",url:t,title:n,startIndex:r,endIndex:s}}if(e.type==="file_citation"){let{file_id:t,filename:n,index:r}=e;return{type:"citation",title:n,startIndex:r,endIndex:r,fileId:t}}return e}function b1(e){function*t(){he(e.additional_kwargs?.reasoning)&&on(e.additional_kwargs.reasoning.summary)&&(yield{type:"reasoning",reasoning:e.additional_kwargs.reasoning.summary.reduce((r,s)=>he(s)&&L(s.text)?`${r}${s.text}`:r,"")});let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n)if(K(r,"text")){let{text:s,annotations:a,...i}=r;Array.isArray(a)?yield{...i,type:"text",text:String(s),annotations:a.map(bT)}:yield{...i,type:"text",text:String(s)}}for(let r of e.tool_calls??[])yield{type:"tool_call",id:r.id,name:r.name,args:r.args};if(he(e.additional_kwargs)&&on(e.additional_kwargs.tool_outputs))for(let r of e.additional_kwargs.tool_outputs){if(K(r,"web_search_call")){let s={};if(he(r.action)&&L(r.action.query)&&(s.query=r.action.query),yield{id:r.id,type:"server_tool_call",name:"web_search",args:s},r.status==="completed"||r.status==="failed"){let a={};he(r.action)&&(a.action=r.action),yield{type:"server_tool_call_result",toolCallId:L(r.id)?r.id:"",status:r.status==="completed"?"success":"error",output:a}}continue}else if(K(r,"file_search_call")){yield{id:r.id,type:"server_tool_call",name:"file_search",args:{queries:on(r.queries)?r.queries:[]}},(r.status==="completed"||r.status==="failed")&&(yield{type:"server_tool_call_result",toolCallId:L(r.id)?r.id:"",status:r.status==="completed"?"success":"error",output:on(r.results)?{results:r.results}:{}});continue}else if(K(r,"computer_call")){yield{type:"non_standard",value:r};continue}else if(K(r,"code_interpreter_call")){if(L(r.code)&&(yield{id:r.id,type:"server_tool_call",name:"code_interpreter",args:{code:r.code}}),on(r.outputs)){let s=us(()=>{if(r.status!=="in_progress"){if(r.status==="completed")return 0;if(r.status==="incomplete")return 127;if(r.status!=="interpreting"&&r.status==="failed")return 1}});for(let a of r.outputs)if(K(a,"logs")){yield{type:"server_tool_call_result",toolCallId:r.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:s??0,stderr:[0,void 0].includes(s)?void 0:String(a.logs),stdout:[0,void 0].includes(s)?String(a.logs):void 0}};continue}}continue}else if(K(r,"mcp_call")){yield{id:r.id,type:"server_tool_call",name:"mcp_call",args:r.input};continue}else if(K(r,"mcp_list_tools")){yield{id:r.id,type:"server_tool_call",name:"mcp_list_tools",args:r.input};continue}else if(K(r,"mcp_approval_request")){yield{type:"non_standard",value:r};continue}else if(K(r,"tool_search_call")){let s={};he(r.arguments)&&Object.assign(s,r.arguments);let a={};L(r.execution)&&(a.execution=r.execution),L(r.status)&&(a.status=r.status),L(r.call_id)&&(a.call_id=r.call_id),yield{id:L(r.id)?r.id:"",type:"server_tool_call",name:"tool_search",args:s,...Object.keys(a).length>0?{extras:a}:{}};continue}else if(K(r,"tool_search_output")){let s={name:"tool_search"};L(r.execution)&&(s.execution=r.execution),yield{type:"server_tool_call_result",toolCallId:L(r.id)?r.id:"",status:r.status==="completed"?"success":r.status==="failed"?"error":"success",output:{tools:on(r.tools)?r.tools:[]},extras:s};continue}else if(K(r,"image_generation_call")){L(r.result)&&(yield{type:"image",mimeType:"image/png",data:r.result,id:L(r.id)?r.id:void 0,metadata:{status:L(r.status)?r.status:void 0}}),yield{type:"non_standard",value:r};continue}he(r)&&(yield{type:"non_standard",value:r})}}return Array.from(t())}function wT(e){function*t(){yield*b1(e);for(let n of e.tool_call_chunks??[])yield{type:"tool_call_chunk",id:n.id,name:n.name,args:n.args}}return Array.from(t())}var xT={translateContent:e=>typeof e.content=="string"?_T(e):b1(e),translateContentChunk:e=>typeof e.content=="string"?vT(e):wT(e)};function w1(e){return typeof e=="object"&&e!==null&&"type"in e&&"content"in e&&(typeof e.content=="string"||Array.isArray(e.content))}function kT(e,t="pretty"){return t==="pretty"?ET(e):JSON.stringify(e)}function ET(e){let t=[],n=` ${e.type.charAt(0).toUpperCase()+e.type.slice(1)} Message `,r=Math.floor((80-n.length)/2),s="=".repeat(r),a=n.length%2===0?s:`${s}=`;if(t.push(`${s}${n}${a}`),e.type==="ai"){let i=e;if(i.tool_calls&&i.tool_calls.length>0){t.push("Tool Calls:");for(let o of i.tool_calls){t.push(` ${o.name} (${o.id})`),t.push(` Call ID: ${o.id}`),t.push(" Args:");for(let[c,l]of Object.entries(o.args))t.push(` ${c}: ${typeof l=="object"?JSON.stringify(l):l}`)}}}if(e.type==="tool"){let i=e;i.name&&t.push(`Name: ${i.name}`)}return typeof e.content=="string"&&e.content.trim()&&(t.length>1&&t.push(""),t.push(e.content)),t.join(`
9
+ `)}var Rh=Symbol.for("langchain.message");function Zr(e,t){return typeof e=="string"?e===""?t:typeof t=="string"?e+t:Array.isArray(t)&&t.length===0?e:Array.isArray(t)&&t.some(n=>gs(n))?[{type:"text",source_type:"text",text:e},...t]:[{type:"text",text:e},...t]:Array.isArray(t)?li(e,t)??[...e,...t]:t===""?e:Array.isArray(e)&&e.some(n=>gs(n))?[...e,{type:"file",source_type:"text",text:t}]:[...e,{type:"text",text:t}]}function x1(e,t){return e==="error"||t==="error"?"error":"success"}function ST(e,t){function n(r,s){if(typeof r!="object"||r===null||r===void 0)return r;if(s>=t)return Array.isArray(r)?"[Array]":"[Object]";if(Array.isArray(r))return r.map(i=>n(i,s+1));let a={};for(let i of Object.keys(r))a[i]=n(r[i],s+1);return a}return JSON.stringify(n(e,0),null,2)}var Gt=class extends zn{lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[Rh]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor(e){let t=typeof e=="string"||Array.isArray(e)?{content:e}:e;t.additional_kwargs||(t.additional_kwargs={}),t.response_metadata||(t.response_metadata={}),super(t),this.name=t.name,t.content===void 0&&t.contentBlocks!==void 0?(this.content=t.contentBlocks,this.response_metadata={output_version:"v1",...t.response_metadata}):t.content!==void 0?(this.content=t.content??[],this.response_metadata=t.response_metadata):(this.content=[],this.response_metadata=t.response_metadata),this.additional_kwargs=t.additional_kwargs,this.id=t.id}get text(){return typeof this.content=="string"?this.content:Array.isArray(this.content)?this.content.map(e=>typeof e=="string"?e:e.type==="text"?e.text:"").join(""):""}get contentBlocks(){let e=typeof this.content=="string"?[{type:"text",text:this.content}]:this.content;return[mT,Pg,dT].reduce((t,n)=>n(t),e)}toDict(){return{type:this.getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}static isInstance(e){return typeof e=="object"&&e!==null&&Rh in e&&e[Rh]===!0&&w1(e)}_updateId(e){this.id=e,this.lc_kwargs.id=e}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")](e){if(e===null)return this;let t=ST(this._printableFields,Math.max(4,e));return`${this.constructor.lc_name()} ${t}`}toFormattedString(e="pretty"){return kT(this,e)}};function OT(e){return Array.isArray(e)&&e.every(t=>typeof t.index=="number")}var k1=["index","created","timestamp"];function Dt(e,t,n){let r=n?.ignoreKeys??k1;if(e==null&&t==null)return;if(e==null||t==null)return e??t;let s={...e};for(let[a,i]of Object.entries(t))if(s[a]==null)s[a]=i;else{if(i==null)continue;if(typeof s[a]!=typeof i||Array.isArray(s[a])!==Array.isArray(i))throw new Error(`field[${a}] already exists in the message chunk, but with a different type.`);if(typeof s[a]=="string"){if(a==="type")continue;if(["id","name","output_version","model_provider"].includes(a))i&&(s[a]=i);else{if(r.includes(a))continue;s[a]+=i}}else if(typeof s[a]=="number"){if(r.includes(a))continue;s[a]=s[a]+i}else if(typeof s[a]=="object"&&!Array.isArray(s[a]))s[a]=Dt(s[a],i,n);else if(Array.isArray(s[a]))s[a]=li(s[a],i,n);else{if(s[a]===i)continue;console.warn(`field[${a}] already exists in this message chunk and value has unsupported type.`)}}return s}function IT(e){return typeof e=="number"||typeof e=="string"}function q_(e){return typeof e!="object"||e===null||!("index"in e)?!1:IT(e.index)}function li(e,t,n){if(!(e==null&&t==null)){if(e==null||t==null)return e||t;{let r=[...e];for(let s of t)if(q_(s)){let a=r.findIndex(i=>{if(!q_(i))return!1;let o=i.index===s.index,c=i.id!=null&&i.id!=="",l=s.id!=null&&s.id!=="",u=c&&l&&i.id===s.id;return o&&(u||!c||!l)});a!==-1&&typeof r[a]=="object"&&r[a]!==null?r[a]=Dt(r[a],s,n):r.push(s)}else{if(typeof s=="object"&&s!==null&&"text"in s&&s.text==="")continue;r.push(s)}return r}}}function E1(e,t,n){if(!(e==null&&t==null)){if(e==null||t==null)return e??t;if(typeof e!=typeof t)throw new Error(`Cannot merge objects of different types.
10
+ Left ${typeof e}
11
+ Right ${typeof t}`);if(typeof e=="string"&&typeof t=="string")return e+t;if(Array.isArray(e)&&Array.isArray(t))return li(e,t,n);if(typeof e=="object"&&typeof t=="object")return Dt(e,t,n);if(e===t)return e;throw new Error(`Can not merge objects of different types.
12
+ Left ${e}
13
+ Right ${t}`)}}var Ns=class S1 extends Gt{static isInstance(t){if(!super.isInstance(t))return!1;let n=Object.getPrototypeOf(t);for(;n!==null;){if(n===S1.prototype)return!0;n=Object.getPrototypeOf(n)}return!1}};function O1(e){return typeof e.role=="string"}function Nt(e){return typeof e?._getType=="function"}function Do(e){return Ns.isInstance(e)}var TT=Q({ToolMessage:()=>Er,ToolMessageChunk:()=>qd,defaultToolCallParser:()=>Rg,isDirectToolOutput:()=>jg,isToolMessage:()=>Lg,isToolMessageChunk:()=>I1});function jg(e){return e!=null&&typeof e=="object"&&"lc_direct_tool_output"in e&&e.lc_direct_tool_output===!0}var Er=class extends Gt{static lc_name(){return"ToolMessage"}get lc_aliases(){return{tool_call_id:"tool_call_id"}}lc_direct_tool_output=!0;type="tool";status;tool_call_id;metadata;artifact;constructor(e,t,n){let r=typeof e=="string"||Array.isArray(e)?{content:e,name:n,tool_call_id:t}:e;super(r),this.tool_call_id=r.tool_call_id,this.artifact=r.artifact,this.status=r.status,this.metadata=r.metadata}static isInstance(e){return super.isInstance(e)&&e.type==="tool"}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},qd=class extends Ns{type="tool";tool_call_id;status;artifact;constructor(e){super(e),this.tool_call_id=e.tool_call_id,this.artifact=e.artifact,this.status=e.status}static lc_name(){return"ToolMessageChunk"}concat(e){let t=this.constructor;return new t({content:Zr(this.content,e.content),additional_kwargs:Dt(this.additional_kwargs,e.additional_kwargs),response_metadata:Dt(this.response_metadata,e.response_metadata),artifact:E1(this.artifact,e.artifact),tool_call_id:this.tool_call_id,id:this.id??e.id,status:x1(this.status,e.status)})}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}};function Rg(e){let t=[],n=[];for(let r of e)if(r.function){let s=r.function.name;try{let a=JSON.parse(r.function.arguments);t.push({name:s||"",args:a||{},id:r.id})}catch{n.push({name:s,args:r.function.arguments,id:r.id,error:"Malformed args."})}}else continue;return[t,n]}function Lg(e){return typeof e=="object"&&e!==null&&"getType"in e&&typeof e.getType=="function"&&e.getType()==="tool"}function I1(e){return e._getType()==="tool"}function To(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="tool_call")}function AT(e){return!!(e&&typeof e=="object"&&"toolCall"in e&&e.toolCall!=null&&typeof e.toolCall=="object"&&"id"in e.toolCall&&typeof e.toolCall.id=="string")}var cu=class extends Error{output;constructor(e,t){super(e),this.output=t}};function lu(e,t=ui){e=e.trim();let n=e.indexOf("```");if(n===-1)return t(e);let r=e.substring(n+3);r.startsWith(`json
14
+ `)?r=r.substring(5):r.startsWith("json")?r=r.substring(4):r.startsWith(`
15
+ `)&&(r=r.substring(1));let s=r.indexOf("```"),a=r;return s!==-1&&(a=r.substring(0,s)),t(a.trim())}function $T(e){try{return JSON.parse(e)}catch{}let t=e.trim();if(t.length===0)throw new Error("Unexpected end of JSON input");let n=0;function r(){for(;n<t.length&&/\s/.test(t[n]);)n+=1}function s(){if(t[n]!=='"')throw new Error(`Expected '"' at position ${n}, got '${t[n]}'`);n+=1;let u="",d=!1;for(;n<t.length;){let h=t[n];if(d){if(h==="n")u+=`
16
+ `;else if(h==="t")u+=" ";else if(h==="r")u+="\r";else if(h==="\\")u+="\\";else if(h==='"')u+='"';else if(h==="b")u+="\b";else if(h==="f")u+="\f";else if(h==="/")u+="/";else if(h==="u"){let p=t.substring(n+1,n+5);if(/^[0-9A-Fa-f]{0,4}$/.test(p))p.length===4?u+=String.fromCharCode(Number.parseInt(p,16)):u+=`u${p}`,n+=p.length;else throw new Error(`Invalid unicode escape sequence '\\u${p}' at position ${n}`)}else throw new Error(`Invalid escape sequence '\\${h}' at position ${n}`);d=!1}else if(h==="\\")d=!0;else{if(h==='"')return n+=1,u;u+=h}n+=1}return d&&(u+="\\"),u}function a(){let u=n,d="";if(t[n]==="-"&&(d+="-",n+=1),n<t.length&&t[n]==="0"&&(d+="0",n+=1,t[n]>="0"&&t[n]<="9"))throw new Error(`Invalid number at position ${u}`);if(n<t.length&&t[n]>="1"&&t[n]<="9")for(;n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(n<t.length&&t[n]===".")for(d+=".",n+=1;n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(n<t.length&&(t[n]==="e"||t[n]==="E"))for(d+=t[n],n+=1,n<t.length&&(t[n]==="+"||t[n]==="-")&&(d+=t[n],n+=1);n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(d==="-")return-0;let h=Number.parseFloat(d);if(Number.isNaN(h))throw n=u,new Error(`Invalid number '${d}' at position ${u}`);return h}function i(){if(r(),n>=t.length)throw new Error(`Unexpected end of input at position ${n}`);let u=t[n];if(u==="{")return c();if(u==="[")return o();if(u==='"')return s();if("null".startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),null;if("true".startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),!0;if("false".startsWith(t.substring(n,n+5)))return n+=Math.min(5,t.length-n),!1;if(u==="-"||u>="0"&&u<="9")return a();throw new Error(`Unexpected character '${u}' at position ${n}`)}function o(){if(t[n]!=="[")throw new Error(`Expected '[' at position ${n}, got '${t[n]}'`);let u=[];if(n+=1,r(),n>=t.length)return u;if(t[n]==="]")return n+=1,u;for(;n<t.length;){if(r(),n>=t.length||(u.push(i()),r(),n>=t.length))return u;if(t[n]==="]")return n+=1,u;if(t[n]===","){n+=1;continue}throw new Error(`Expected ',' or ']' at position ${n}, got '${t[n]}'`)}return u}function c(){if(t[n]!=="{")throw new Error(`Expected '{' at position ${n}, got '${t[n]}'`);let u={};if(n+=1,r(),n>=t.length)return u;if(t[n]==="}")return n+=1,u;for(;n<t.length;){if(r(),n>=t.length)return u;let d=s();if(r(),n>=t.length)return u;if(t[n]!==":")throw new Error(`Expected ':' at position ${n}, got '${t[n]}'`);if(n+=1,r(),n>=t.length||(u[d]=i(),r(),n>=t.length))return u;if(t[n]==="}")return n+=1,u;if(t[n]===","){n+=1;continue}throw new Error(`Expected ',' or '}' at position ${n}, got '${t[n]}'`)}return u}let l=i();if(r(),n<t.length)throw new Error(`Unexpected character '${t[n]}' at position ${n}`);return l}function ui(e){try{return typeof e>"u"?null:$T(e)}catch{return null}}function Mg(e){switch(e){case"csv":return"text/csv";case"doc":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"docx":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"html":return"text/html";case"md":return"text/markdown";case"pdf":return"application/pdf";case"txt":return"text/plain";case"xls":return"application/vnd.ms-excel";case"xlsx":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"gif":return"image/gif";case"jpeg":return"image/jpeg";case"jpg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"flv":return"video/flv";case"mkv":return"video/mkv";case"mov":return"video/mov";case"mp4":return"video/mp4";case"mpeg":return"video/mpeg";case"mpg":return"video/mpg";case"three_gp":return"video/three_gp";case"webm":return"video/webm";case"wmv":return"video/wmv";default:return"application/octet-stream"}}function CT(e){if(he(e.document)&&he(e.document.source)){let t=Mg(he(e.document)&&L(e.document.format)?e.document.format:"");if(he(e.document.source)){if(he(e.document.source.s3Location)&&L(e.document.source.s3Location.uri))return{type:"file",mimeType:t,fileId:e.document.source.s3Location.uri};if(Ng(e.document.source.bytes))return{type:"file",mimeType:t,data:e.document.source.bytes};if(L(e.document.source.text))return{type:"file",mimeType:t,data:Buffer.from(e.document.source.text).toString("base64")};if(on(e.document.source.content))return{type:"file",mimeType:t,data:e.document.source.content.reduce((n,r)=>he(r)&&L(r.text)?n+r.text:n,"")}}}return{type:"non_standard",value:e}}function NT(e){if(K(e,"image")&&he(e.image)){let t=Mg(he(e.image)&&L(e.image.format)?e.image.format:"");if(he(e.image.source)){if(he(e.image.source.s3Location)&&L(e.image.source.s3Location.uri))return{type:"image",mimeType:t,fileId:e.image.source.s3Location.uri};if(Ng(e.image.source.bytes))return{type:"image",mimeType:t,data:e.image.source.bytes}}}return{type:"non_standard",value:e}}function PT(e){if(K(e,"video")&&he(e.video)){let t=Mg(he(e.video)&&L(e.video.format)?e.video.format:"");if(he(e.video.source)){if(he(e.video.source.s3Location)&&L(e.video.source.s3Location.uri))return{type:"video",mimeType:t,fileId:e.video.source.s3Location.uri};if(Ng(e.video.source.bytes))return{type:"video",mimeType:t,data:e.video.source.bytes}}}return{type:"non_standard",value:e}}function H_(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"cache_point")){yield{type:"non_standard",value:r};continue}else if(K(r,"citations_content")&&he(r.citationsContent)){yield{type:"text",text:on(r.citationsContent.content)?r.citationsContent.content.reduce((s,a)=>he(a)&&L(a.text)?s+a.text:s,""):"",annotations:on(r.citationsContent.citations)?r.citationsContent.citations.reduce((s,a)=>{if(he(a)){let i=on(a.sourceContent)?a.sourceContent.reduce((c,l)=>he(l)&&L(l.text)?c+l.text:c,""):"",o=us(()=>{if(he(a.location)){let c=a.location.documentChar||a.location.documentPage||a.location.documentChunk;if(he(c))return{source:Kn(c.documentIndex)?c.documentIndex.toString():void 0,startIndex:Kn(c.start)?c.start:void 0,endIndex:Kn(c.end)?c.end:void 0}}return{}});s.push({type:"citation",citedText:i,...o})}return s},[]):[]};continue}else if(K(r,"document")&&he(r.document)){yield CT(r);continue}else if(K(r,"guard_content")){yield{type:"non_standard",value:r};continue}else if(K(r,"image")&&he(r.image)){yield NT(r);continue}else if(K(r,"reasoning_content")&&L(r.reasoningText)){yield{type:"reasoning",reasoning:r.reasoningText};continue}else if(K(r,"text")&&L(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"tool_result")){yield{type:"non_standard",value:r};continue}else{if(K(r,"tool_call"))continue;if(K(r,"video")&&he(r.video)){yield PT(r);continue}}yield{type:"non_standard",value:r}}}return Array.from(t())}var jT={translateContent:H_,translateContentChunk:H_};function W_(e){let t=[],n=e.additional_kwargs?.reasoning_content;if(L(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&L(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var RT={translateContent:W_,translateContentChunk:W_};function J_(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"text")&&L(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"thinking")&&L(r.thinking)){yield{type:"reasoning",reasoning:r.thinking,...r.signature?{signature:r.signature}:{}};continue}else if(K(r,"inlineData")&&he(r.inlineData)&&L(r.inlineData.mimeType)&&L(r.inlineData.data)){yield{type:"file",mimeType:r.inlineData.mimeType,data:r.inlineData.data};continue}else if(K(r,"functionCall")&&he(r.functionCall)&&L(r.functionCall.name)&&he(r.functionCall.args)){yield{type:"tool_call",id:e.id,name:r.functionCall.name,args:r.functionCall.args};continue}else if(K(r,"functionResponse")){yield{type:"non_standard",value:r};continue}else if(K(r,"fileData")&&he(r.fileData)&&L(r.fileData.mimeType)&&L(r.fileData.fileUri)){yield{type:"file",mimeType:r.fileData.mimeType,fileId:r.fileData.fileUri};continue}else if(K(r,"executableCode")){yield{type:"non_standard",value:r};continue}else if(K(r,"codeExecutionResult")){yield{type:"non_standard",value:r};continue}yield{type:"non_standard",value:r}}}return Array.from(t())}var LT={translateContent:J_,translateContentChunk:J_};function G_(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"reasoning")&&L(r.reasoning)){let s=us(()=>{let a=n.indexOf(r);if(on(e.additional_kwargs?.signatures)&&a>=0)return e.additional_kwargs.signatures.at(a)});L(s)?yield{type:"reasoning",reasoning:r.reasoning,signature:s}:yield{type:"reasoning",reasoning:r.reasoning};continue}else if(K(r,"thinking")&&L(r.thinking)){yield{type:"reasoning",reasoning:r.thinking,...r.signature?{signature:r.signature}:{}};continue}else if(K(r,"text")&&L(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"image_url")){if(L(r.image_url))if(r.image_url.startsWith("data:")){let s=r.image_url.match(/^data:([^;]+);base64,(.+)$/);s?yield{type:"image",data:s[2],mimeType:s[1]}:yield{type:"image",url:r.image_url}}else yield{type:"image",url:r.image_url};continue}else if(K(r,"media")&&L(r.mimeType)&&L(r.data)){yield{type:"file",mimeType:r.mimeType,data:r.data};continue}yield{type:"non_standard",value:r}}}return Array.from(t())}var MT={translateContent:G_,translateContentChunk:G_};function K_(e){let t=[],n=e.additional_kwargs?.reasoning;if(L(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string"){let r=e.content,s=r.match(/<think>([\s\S]*?)<\/think>/);if(s){let a=s[1].trim();a.length>0&&t.push({type:"reasoning",reasoning:a}),r=r.replace(/<think>[\s\S]*?<\/think>/,"").trim()}r.length>0&&t.push({type:"text",text:r})}else for(let r of e.content)if(typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&L(r.text)){let s=r.text,a=s.match(/<think>([\s\S]*?)<\/think>/);if(a){let i=a[1].trim();i.length>0&&t.push({type:"reasoning",reasoning:i}),s=s.replace(/<think>[\s\S]*?<\/think>/,"").trim()}s.length>0&&t.push({type:"text",text:s})}for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var zT={translateContent:K_,translateContentChunk:K_};function X_(e){let t=[],n=e.additional_kwargs?.reasoning_content;if(L(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&L(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var DT={translateContent:X_,translateContentChunk:X_};function Y_(e){let t=[];if(he(e.additional_kwargs?.reasoning)){let r=e.additional_kwargs.reasoning;if(on(r.summary)){let s=r.summary.reduce((a,i)=>he(i)&&L(i.text)?`${a}${i.text}`:a,"");s.length>0&&t.push({type:"reasoning",reasoning:s})}}let n=e.additional_kwargs?.reasoning_content;if(L(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&L(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var FT={translateContent:Y_,translateContentChunk:Y_};function Q_(e){function*t(){let n=us(()=>{if(typeof e.content=="string")return e.additional_kwargs.originalTextContentBlock?[{...e.additional_kwargs.originalTextContentBlock,type:"text"}]:[{type:"text",text:e.content}];{let r=e.additional_kwargs?.originalTextContentBlock;if(r?.thoughtSignature&&!e.content.some(s=>"thoughtSignature"in s)){let s=[...e.content];for(let a=s.length-1;a>=0;a--){let i=s[a];if(i.type==="text"&&!i.thought)return i.thoughtSignature=r.thoughtSignature,s}}return e.content}});for(let r of n){let s=us(()=>K(r,"text")&&L(r.text)?{type:"text",text:r.text}:K(r,"inlineData")&&he(r.inlineData)&&L(r.inlineData.mimeType)&&L(r.inlineData.data)?{type:"file",mimeType:r.inlineData.mimeType,data:r.inlineData.data}:K(r,"functionCall")&&he(r.functionCall)&&L(r.functionCall.name)&&he(r.functionCall.args)?{type:"tool_call",id:e.id,name:r.functionCall.name,args:r.functionCall.args}:K(r,"functionResponse")?{type:"non_standard",value:r}:K(r,"fileData")&&he(r.fileData)&&L(r.fileData.mimeType)&&L(r.fileData.fileUri)?{type:"file",mimeType:r.fileData.mimeType,fileId:r.fileData.fileUri}:K(r,"executableCode")?{type:"non_standard",value:r}:K(r,"codeExecutionResult")?{type:"non_standard",value:r}:{type:"non_standard",value:r}),a=us(()=>"thought"in r&&r.thought?{type:"reasoning",reasoning:s.type==="text"?s.text:"",reasoningContentBlock:s}:s),i={thought:r.thought,thoughtSignature:r.thoughtSignature,partMetadata:r.partMetadata,...a};for(let o in i)i[o]===void 0&&delete i[o];yield i}}return Array.from(t())}var UT={translateContent:Q_,translateContentChunk:Q_};globalThis.lc_block_translators_registry??=new Map([["anthropic",hT],["bedrock-converse",jT],["deepseek",RT],["google",UT],["google-genai",LT],["google-vertexai",MT],["groq",zT],["ollama",DT],["openai",xT],["xai",FT]]);function T1(e){return globalThis.lc_block_translators_registry.get(e)}function A1(e,t){return Dt(e,t)??{}}function $1(e,t){let n={};return(e?.audio!==void 0||t?.audio!==void 0)&&(n.audio=(e?.audio??0)+(t?.audio??0)),(e?.image!==void 0||t?.image!==void 0)&&(n.image=(e?.image??0)+(t?.image??0)),(e?.video!==void 0||t?.video!==void 0)&&(n.video=(e?.video??0)+(t?.video??0)),(e?.document!==void 0||t?.document!==void 0)&&(n.document=(e?.document??0)+(t?.document??0)),(e?.text!==void 0||t?.text!==void 0)&&(n.text=(e?.text??0)+(t?.text??0)),n}function BT(e,t){let n={...$1(e,t)};return(e?.cache_read!==void 0||t?.cache_read!==void 0)&&(n.cache_read=(e?.cache_read??0)+(t?.cache_read??0)),(e?.cache_creation!==void 0||t?.cache_creation!==void 0)&&(n.cache_creation=(e?.cache_creation??0)+(t?.cache_creation??0)),n}function ZT(e,t){let n={...$1(e,t)};return(e?.reasoning!==void 0||t?.reasoning!==void 0)&&(n.reasoning=(e?.reasoning??0)+(t?.reasoning??0)),n}function zg(e,t){return{input_tokens:(e?.input_tokens??0)+(t?.input_tokens??0),output_tokens:(e?.output_tokens??0)+(t?.output_tokens??0),total_tokens:(e?.total_tokens??0)+(t?.total_tokens??0),input_token_details:BT(e?.input_token_details,t?.input_token_details),output_token_details:ZT(e?.output_token_details,t?.output_token_details)}}var ct=class extends Gt{type="ai";tool_calls=[];invalid_tool_calls=[];usage_metadata;get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",usage_metadata:"usage_metadata"}}constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{t=e;let n=t.additional_kwargs?.tool_calls,r=t.tool_calls;n!=null&&n.length>0&&(r===void 0||r.length===0)&&console.warn(["New LangChain packages are available that more efficiently handle",`tool calling.
17
+
18
+ Please upgrade your packages to versions that set`,"message tool calls. e.g., `pnpm install @langchain/anthropic`,","pnpm install @langchain/openai`, etc."].join(" "));try{if(n!=null&&r===void 0){let[s,a]=Rg(n);t.tool_calls=s??[],t.invalid_tool_calls=a??[]}else t.tool_calls=t.tool_calls??[],t.invalid_tool_calls=t.invalid_tool_calls??[]}catch{t.tool_calls=[],t.invalid_tool_calls=[]}if(t.response_metadata!==void 0&&"output_version"in t.response_metadata&&t.response_metadata.output_version==="v1"&&(t.contentBlocks=t.content,t.content=void 0),t.contentBlocks!==void 0){t.tool_calls&&t.contentBlocks.push(...t.tool_calls.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})));let s=t.contentBlocks.filter(a=>a.type==="tool_call").filter(a=>!t.tool_calls?.some(i=>i.id===a.id&&i.name===a.name));s.length>0&&(t.tool_calls=s.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})))}}super(t),typeof t!="string"&&(this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls),this.usage_metadata=t.usage_metadata}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=T1(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls){let t=this.tool_calls.filter(n=>!e.some(r=>r.id===n.id&&r.name===n.name));e.push(...t.map(n=>({type:"tool_call",id:n.id,name:n.name,args:n.args})))}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};function Dg(e){return e._getType()==="ai"}function Af(e){return e._getType()==="ai"}var ir=class extends Ns{type="ai";tool_calls=[];invalid_tool_calls=[];tool_call_chunks=[];usage_metadata;constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if(e.tool_call_chunks===void 0||e.tool_call_chunks.length===0)t={...e,tool_calls:e.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0};else{let n=N1(e.tool_call_chunks??[]);t={...e,tool_call_chunks:n.tool_call_chunks,tool_calls:n.tool_calls,invalid_tool_calls:n.invalid_tool_calls,usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0}}super(t),this.tool_call_chunks=t.tool_call_chunks??this.tool_call_chunks,this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=t.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks",usage_metadata:"usage_metadata"}}static lc_name(){return"AIMessageChunk"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=T1(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls&&typeof this.content!="string"){let t=this.content.filter(n=>n.type==="tool_call").map(n=>n.id);for(let n of this.tool_calls)n.id&&!t.includes(n.id)&&e.push({...n,type:"tool_call",id:n.id,name:n.name,args:n.args})}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,tool_call_chunks:this.tool_call_chunks,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}concat(e){let t={content:Zr(this.content,e.content),additional_kwargs:Dt(this.additional_kwargs,e.additional_kwargs),response_metadata:A1(this.response_metadata,e.response_metadata),tool_call_chunks:[],tool_calls:[],id:this.id??e.id};if(this.tool_call_chunks!==void 0||e.tool_call_chunks!==void 0){let r=li(this.tool_call_chunks,e.tool_call_chunks);r!==void 0&&r.length>0&&(t.tool_call_chunks=r)}if(this.tool_calls!==void 0||e.tool_calls!==void 0){let r=li(this.tool_calls,e.tool_calls);r!==void 0&&r.length>0&&(t.tool_calls=r)}(this.usage_metadata!==void 0||e.usage_metadata!==void 0)&&(t.usage_metadata=zg(this.usage_metadata,e.usage_metadata));let n=this.constructor;return new n(t)}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}},ka=class C1 extends Gt{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return C1}constructor(t,n){(typeof t=="string"||Array.isArray(t))&&(t={content:t,role:n}),super(t),this.role=t.role}static isInstance(t){return super.isInstance(t)&&t.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},Hd=class extends Ns{static lc_name(){return"ChatMessageChunk"}type="generic";role;constructor(e,t){(typeof e=="string"||Array.isArray(e))&&(e={content:e,role:t}),super(e),this.role=e.role}concat(e){let t=this.constructor;return new t({content:Zr(this.content,e.content),additional_kwargs:Dt(this.additional_kwargs,e.additional_kwargs),response_metadata:Dt(this.response_metadata,e.response_metadata),role:this.role,id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}};function VT(e){return e._getType()==="generic"}function qT(e){return e._getType()==="generic"}var Wd=class extends Gt{static lc_name(){return"FunctionMessage"}type="function";name;constructor(e){super(e),this.name=e.name}},Jd=class extends Ns{static lc_name(){return"FunctionMessageChunk"}type="function";concat(e){let t=this.constructor;return new t({content:Zr(this.content,e.content),additional_kwargs:Dt(this.additional_kwargs,e.additional_kwargs),response_metadata:Dt(this.response_metadata,e.response_metadata),name:this.name??"",id:this.id??e.id})}};function HT(e){return e._getType()==="function"}function WT(e){return e._getType()==="function"}var An=class extends Gt{static lc_name(){return"HumanMessage"}type="human";constructor(e){super(e)}static isInstance(e){return super.isInstance(e)&&e.type==="human"}},Gd=class extends Ns{static lc_name(){return"HumanMessageChunk"}type="human";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:Zr(this.content,e.content),additional_kwargs:Dt(this.additional_kwargs,e.additional_kwargs),response_metadata:Dt(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="human"}};function JT(e){return e.getType()==="human"}function GT(e){return e.getType()==="human"}var Ys=class extends Gt{type="remove";id;constructor(e){super({...e,content:[]}),this.id=e.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance(e){return super.isInstance(e)&&e.type==="remove"}},Sr=class Ll extends Gt{static lc_name(){return"SystemMessage"}type="system";constructor(t){super(t)}concat(t){if(typeof t=="string")return new Ll({...this,content:Zr(this.content,t)});if(Ll.isInstance(t))return new Ll({...this,additional_kwargs:{...this.additional_kwargs,...t.additional_kwargs},response_metadata:{...this.response_metadata,...t.response_metadata},content:Zr(this.content,t.content)});throw new Error("Unexpected chunk type for system message")}static isInstance(t){return super.isInstance(t)&&t.type==="system"}},di=class extends Ns{static lc_name(){return"SystemMessageChunk"}type="system";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:Zr(this.content,e.content),additional_kwargs:Dt(this.additional_kwargs,e.additional_kwargs),response_metadata:Dt(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="system"}};function KT(e){return e._getType()==="system"}function XT(e){return e._getType()==="system"}var YT=e=>e();function QT(e){return To(e)?e:typeof e.id=="string"&&e.type==="function"&&typeof e.function=="object"&&e.function!==null&&"arguments"in e.function&&typeof e.function.arguments=="string"&&"name"in e.function&&typeof e.function.name=="string"?{id:e.id,args:JSON.parse(e.function.arguments),name:e.function.name,type:"tool_call"}:e}function eA(e){return typeof e=="object"&&e!=null&&e.lc===1&&Array.isArray(e.id)&&e.kwargs!=null&&typeof e.kwargs=="object"}function Lh(e){let t,n;if(eA(e)){let r=e.id.at(-1);r==="HumanMessage"||r==="HumanMessageChunk"?t="user":r==="AIMessage"||r==="AIMessageChunk"?t="assistant":r==="SystemMessage"||r==="SystemMessageChunk"?t="system":r==="FunctionMessage"||r==="FunctionMessageChunk"?t="function":r==="ToolMessage"||r==="ToolMessageChunk"?t="tool":t="unknown",n=e.kwargs}else{let{type:r,...s}=e;t=r,n=s}if(t==="human"||t==="user")return new An(n);if(t==="ai"||t==="assistant"){let{tool_calls:r,...s}=n;if(!Array.isArray(r))return new ct(n);let a=r.map(QT);return new ct({...s,tool_calls:a})}else{if(t==="system")return new Sr(n);if(t==="developer")return new Sr({...n,additional_kwargs:{...n.additional_kwargs,__openai_role__:"developer"}});if(t==="tool"&&"tool_call_id"in n)return new Er({...n,content:n.content,tool_call_id:n.tool_call_id,name:n.name});if(t==="remove"&&"id"in n&&typeof n.id=="string")return new Ys({...n,id:n.id});throw $c(new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
19
+
20
+ Received: ${JSON.stringify(e,null,2)}`),"MESSAGE_COERCION_FAILURE")}}function wr(e){if(typeof e=="string")return new An(e);if(Nt(e))return e;if(Array.isArray(e)){let[t,n]=e;return Lh({type:t,content:n})}else if(O1(e)){let{role:t,...n}=e;return Lh({...n,type:t})}else return Lh(e)}function tA(e){if(typeof e=="string")return e;switch(e.type){case"text":return e.text??"";case"text-plain":return e.text??"[text-plain file]";case"image":case"image_url":return"[image]";case"audio":case"input_audio":return"[audio]";case"video":return"[video]";case"file":return"[file]";case"reasoning":case"tool_call":case"tool_call_chunk":case"invalid_tool_call":case"server_tool_call":case"server_tool_call_chunk":case"server_tool_call_result":case"non_standard":return"";default:return e.type?`[${e.type}]`:""}}function Fg(e,t="Human",n="AI"){let r=[];for(let s of e){let a;if(s.type==="human")a=t;else if(s.type==="ai")a=n;else if(s.type==="system")a="System";else if(s.type==="tool")a="Tool";else if(s.type==="generic")a=s.role;else throw new Error(`Got unsupported message type: ${s.type}`);let i=s.name?`${s.name}, `:"",o=typeof s.content=="string"?s.content:Array.isArray(s.content)?s.content.map(tA).filter(Boolean).join(""):"",c=`${a}: ${i}${o}`;if(s.type==="ai"){let l=s;l.tool_calls&&l.tool_calls.length>0?c+=JSON.stringify(l.tool_calls):l.additional_kwargs&&"function_call"in l.additional_kwargs&&(c+=JSON.stringify(l.additional_kwargs.function_call))}r.push(c)}return r.join(`
21
+ `)}function nA(e){if(e.data!==void 0)return e;{let t=e;return{type:t.type,data:{content:t.text,role:t.role,name:void 0,tool_call_id:void 0}}}}function Ug(e){let t=nA(e);switch(t.type){case"human":return new An(t.data);case"ai":return new ct(t.data);case"system":return new Sr(t.data);case"function":if(t.data.name===void 0)throw new Error("Name must be defined for function messages");return new Wd(t.data);case"tool":if(t.data.tool_call_id===void 0)throw new Error("Tool call ID must be defined for tool messages");return new Er(t.data);case"generic":if(t.data.role===void 0)throw new Error("Role must be defined for chat messages");return new ka(t.data);default:throw new Error(`Got unexpected type: ${t.type}`)}}function rA(e){return e.map(Ug)}function sA(e){return e.map(t=>t.toDict())}function uu(e){let t=e._getType();if(t==="human")return new Gd({...e});if(t==="ai"){let n={...e};return"tool_calls"in n&&(n={...n,tool_call_chunks:n.tool_calls?.map(r=>({...r,type:"tool_call_chunk",index:void 0,args:JSON.stringify(r.args)}))}),new ir({...n})}else{if(t==="system")return new di({...e});if(t==="function")return new Jd({...e});if(ka.isInstance(e))return new Hd({...e});throw new Error("Unknown message type.")}}function N1(e){let t=e.reduce((s,a)=>{let i=s.findIndex(([o])=>"id"in a&&a.id&&"index"in a&&a.index!==void 0?a.id===o.id&&a.index===o.index:"id"in a&&a.id?a.id===o.id:"index"in a&&a.index!==void 0?a.index===o.index:!1);return i!==-1?s[i].push(a):s.push([a]),s},[]),n=[],r=[];for(let s of t){let a=null,i=s[0]?.name??"",o=s.map(u=>u.args||"").join("").trim(),c=o.length?o:"{}",l=s[0]?.id;try{if(a=ui(c),!l||a===null||typeof a!="object"||Array.isArray(a))throw new Error("Malformed tool call chunk args.");n.push({name:i,args:a,id:l,type:"tool_call"})}catch{r.push({name:i,args:c,id:l,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:e,tool_calls:n,invalid_tool_calls:r}}var aA=Q({BaseCache:()=>j1,InMemoryCache:()=>R1,defaultHashKeyEncoder:()=>P1,deserializeStoredGeneration:()=>iA,serializeGeneration:()=>oA}),P1=(...e)=>Tg(e.join("_"));function iA(e){return e.message!==void 0?{text:e.text,message:Ug(e.message)}:{text:e.text}}function oA(e){let t={text:e.text};return e.message!==void 0&&(t.message=e.message.toDict()),t}var j1=class{keyEncoder=P1;makeDefaultKeyEncoder(e){this.keyEncoder=e}},cA=new Map,R1=class L1 extends j1{cache;constructor(t){super(),this.cache=t??new Map}lookup(t,n){return Promise.resolve(this.cache.get(this.keyEncoder(t,n))??null)}async update(t,n,r){this.cache.set(this.keyEncoder(t,n),r)}static global(){return new L1(cA)}},lA=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Ao(e){return typeof e=="string"&&lA.test(e)}function ev(e){if(!Ao(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,t&255,(t=parseInt(e.slice(9,13),16))>>>8,t&255,(t=parseInt(e.slice(14,18),16))>>>8,t&255,(t=parseInt(e.slice(19,23),16))>>>8,t&255,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255)}var Tt=[];for(let e=0;e<256;++e)Tt.push((e+256).toString(16).slice(1));function Bg(e,t=0){return(Tt[e[t+0]]+Tt[e[t+1]]+Tt[e[t+2]]+Tt[e[t+3]]+"-"+Tt[e[t+4]]+Tt[e[t+5]]+"-"+Tt[e[t+6]]+Tt[e[t+7]]+"-"+Tt[e[t+8]]+Tt[e[t+9]]+"-"+Tt[e[t+10]]+Tt[e[t+11]]+Tt[e[t+12]]+Tt[e[t+13]]+Tt[e[t+14]]+Tt[e[t+15]]).toLowerCase()}var Mh,uA=new Uint8Array(16);function M1(){if(!Mh){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Mh=crypto.getRandomValues.bind(crypto)}return Mh(uA)}function dA(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}var hA="6ba7b810-9dad-11d1-80b4-00c04fd430c8",pA="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function fA(e,t,n,r,s,a){let i=typeof n=="string"?dA(n):n,o=typeof r=="string"?ev(r):r;if(typeof r=="string"&&(r=ev(r)),r?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+i.length);if(c.set(o),c.set(i,o.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,s){a=a||0;for(let l=0;l<16;++l)s[a+l]=c[l];return s}return Bg(c)}var mA=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),tv={randomUUID:mA};function gA(e,t,n){if(tv.randomUUID&&!e)return tv.randomUUID();e=e||{};let r=e.random??e.rng?.()??M1();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Bg(r)}function yA(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function zh(e,t){return e<<t|e>>>32-t}function _A(e){let t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128,e=r;let s=e.length/4+2,a=Math.ceil(s/16),i=new Array(a);for(let o=0;o<a;++o){let c=new Uint32Array(16);for(let l=0;l<16;++l)c[l]=e[o*64+l*4]<<24|e[o*64+l*4+1]<<16|e[o*64+l*4+2]<<8|e[o*64+l*4+3];i[o]=c}i[a-1][14]=(e.length-1)*8/Math.pow(2,32),i[a-1][14]=Math.floor(i[a-1][14]),i[a-1][15]=(e.length-1)*8&4294967295;for(let o=0;o<a;++o){let c=new Uint32Array(80);for(let f=0;f<16;++f)c[f]=i[o][f];for(let f=16;f<80;++f)c[f]=zh(c[f-3]^c[f-8]^c[f-14]^c[f-16],1);let l=n[0],u=n[1],d=n[2],h=n[3],p=n[4];for(let f=0;f<80;++f){let m=Math.floor(f/20),v=zh(l,5)+yA(m,u,d,h)+p+t[m]+c[f]>>>0;p=h,h=d,d=zh(u,30)>>>0,u=l,l=v}n[0]=n[0]+l>>>0,n[1]=n[1]+u>>>0,n[2]=n[2]+d>>>0,n[3]=n[3]+h>>>0,n[4]=n[4]+p>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function du(e,t,n,r){return fA(80,_A,e,t,n,r)}du.DNS=hA;du.URL=pA;var Dh={};function ts(e,t,n){let r;{let s=Date.now(),a=M1();vA(Dh,s,a),r=bA(a,Dh.msecs,Dh.seq,t,n)}return Bg(r)}function vA(e,t,n){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=n[6]<<23|n[7]<<16|n[8]<<8|n[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function bA(e,t,n,r,s=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!r)r=new Uint8Array(16),s=0;else if(s<0||s+16>r.length)throw new RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);return t??=Date.now(),n??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],r[s++]=t/1099511627776&255,r[s++]=t/4294967296&255,r[s++]=t/16777216&255,r[s++]=t/65536&255,r[s++]=t/256&255,r[s++]=t&255,r[s++]=112|n>>>28&15,r[s++]=n>>>20&255,r[s++]=128|n>>>14&63,r[s++]=n>>>6&255,r[s++]=n<<2&255|e[10]&3,r[s++]=e[11],r[s++]=e[12],r[s++]=e[13],r[s++]=e[14],r[s++]=e[15],r}var wA=Q({BaseCallbackHandler:()=>Ea,callbackHandlerPrefersStreaming:()=>Zg,isBaseCallbackHandler:()=>z1}),xA=class{};function Zg(e){return"lc_prefer_streaming"in e&&e.lc_prefer_streaming}var Ea=class extends xA{lc_serializable=!1;get lc_namespace(){return["langchain_core","callbacks",this.name]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,Bd(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=Ur("LANGCHAIN_CALLBACKS_BACKGROUND")==="false";constructor(e){super(),this.lc_kwargs=e||{},e&&(this.ignoreLLM=e.ignoreLLM??this.ignoreLLM,this.ignoreChain=e.ignoreChain??this.ignoreChain,this.ignoreAgent=e.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=e.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=e.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=e.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||(e._awaitHandler??this.awaitHandlers))}copy(){return new this.constructor(this)}toJSON(){return zn.prototype.toJSON.call(this)}toJSONNotImplemented(){return zn.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class t extends Ea{name=ts();constructor(){super(),Object.assign(this,e)}}return new t}},z1=e=>{let t=e;return t!==void 0&&typeof t.copy=="function"&&typeof t.name=="string"&&typeof t.awaitHandlers=="boolean"},kA="gen_ai.operation.name",EA="gen_ai.system",nv="gen_ai.request.model",SA="gen_ai.response.model",rv="gen_ai.usage.input_tokens",sv="gen_ai.usage.output_tokens",av="gen_ai.usage.total_tokens",OA="gen_ai.request.max_tokens",IA="gen_ai.request.temperature",TA="gen_ai.request.top_p",AA="gen_ai.request.frequency_penalty",$A="gen_ai.request.presence_penalty",CA="gen_ai.response.finish_reasons",NA="gen_ai.prompt",PA="gen_ai.completion",jA="gen_ai.request.extra_query",RA="gen_ai.request.extra_body",LA="gen_ai.serialized.name",MA="gen_ai.serialized.signature",zA="gen_ai.serialized.doc",DA="gen_ai.response.id",FA="gen_ai.response.service_tier",UA="gen_ai.response.system_fingerprint",BA="gen_ai.usage.input_token_details",ZA="gen_ai.usage.output_token_details",VA="langsmith.trace.session_id",qA="langsmith.trace.session_name",HA="langsmith.span.kind",WA="langsmith.trace.name",JA="langsmith.metadata",iv="langsmith.span.tags",GA="langsmith.request.streaming",KA="langsmith.request.headers",XA=(...e)=>fetch(...e),D1=Symbol.for("ls:fetch_implementation"),YA=()=>globalThis[D1]===void 0,QA=e=>async(...t)=>{if(e||Ct("DEBUG")==="true"){let[r,s]=t;console.log(`\u2192 ${s?.method||"GET"} ${r}`)}let n=await(globalThis[D1]??XA)(...t);return(e||Ct("DEBUG")==="true")&&console.log(`\u2190 ${n.status} ${n.statusText} ${n.url}`),n},F1=()=>Ct("PROJECT")??Or("LANGCHAIN_SESSION")??"default",ov={};function Ml(e){ov[e]||(console.warn(e),ov[e]=!0)}var j=e=>BigInt(e),U1=j("0x9E3779B1"),B1=j("0x85EBCA77"),e$=j("0xC2B2AE3D"),ys=j("0x9E3779B185EBCA87"),aa=j("0xC2B2AE3D27D4EB4F"),Z1=j("0x165667B19E3779F9"),Vg=j("0x85EBCA77C2B2AE63"),t$=j("0x27D4EB2F165667C5"),n$=j("0x165667919E3779F9"),r$=j("0x9FB21C651E98DF25");function s$(e){let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.substring(n,n+2),16);return t}var pr=s$("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),ai=(j(1)<<j(128))-j(1),Ee=(j(1)<<j(64))-j(1),hu=(j(1)<<j(32))-j(1),Lr=64,V1=Lr/8,a$=8,Yc=4;function Xe(e,t=0){return new Uint8Array(e.buffer,e.byteOffset+t,e.length-t)}function Ye(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getBigUint64(0,!0)}function Ga(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getUint32(0,!0)}function Fh(e,t=0){return e[t]}var i$=e=>(e&j(255))<<j(56)|(e&j(65280))<<j(40)|(e&j(16711680))<<j(24)|(e&j(4278190080))<<j(8)|(e&j(0xff00000000))>>j(8)|(e&j(0xff0000000000))>>j(24)|(e&j(0xff000000000000))>>j(40)|(e&j(0xff00000000000000))>>j(56),o$=e=>(e=(e&j(65535))<<j(16)|(e&j(4294901760))>>j(16),e=(e&j(16711935))<<j(8)|(e&j(4278255360))>>j(8),e),c$=(e,t)=>(e&hu)*(t&hu)&Ee,hi=e=>{if(!e)throw new Error("Assert failed")};function l$(e,t){return(e<<t|e>>j(32)-t)&hu}function q1(e,t,n){for(let r=0;r<V1;r++){let s=Ye(t,r*8),a=s^Ye(n,r*8);e[r^1]+=s,e[r]+=c$(a,a>>j(32))}return e}function cv(e,t,n,r){for(let s=0;s<r;s++)q1(e,Xe(t,s*Lr),Xe(n,s*8));return e}function u$(e,t){for(let n=0;n<V1;n++){let r=Ye(t,n*8),s=e[n];s=$f(s,j(47)),s^=r,s*=U1,e[n]=s&Ee}return e}function Qc(e,t){return H1(e[0]^Ye(t,0),e[1]^Ye(t,a$))}function lv(e,t,n){let r=n;return r+=Qc(e.slice(0),Xe(t,0*Yc)),r+=Qc(e.slice(2),Xe(t,4*Yc)),r+=Qc(e.slice(4),Xe(t,8*Yc)),r+=Qc(e.slice(6),Xe(t,12*Yc)),_r(r&Ee)}function d$(e,t,n,r,s){let a=Math.floor((n.byteLength-Lr)/8),i=Lr*a,o=Math.floor((t.byteLength-1)/i);for(let c=0;c<o;c++)e=cv(e,Xe(t,c*i),n,a),e=s(e,Xe(n,n.byteLength-Lr));{let c=Math.floor((t.byteLength-1-i*o)/Lr);e=cv(e,Xe(t,o*i),n,c),e=r(e,Xe(t,t.byteLength-Lr),Xe(n,n.byteLength-Lr-7))}return e}function h$(e,t,n){let r=new BigUint64Array([e$,ys,aa,Z1,Vg,B1,t$,U1]);hi(e.length>128),r=d$(r,e,t,q1,u$),hi(r.length*8==64);{let s=lv(r,Xe(t,11),j(e.byteLength)*ys&Ee);return lv(r,Xe(t,t.byteLength-Lr-11),~(j(e.byteLength)*aa)&Ee)<<j(64)|s}}function H1(e,t){let n=e*t&ai;return n&Ee^n>>j(64)}function uv(e,t,n){return H1((Ye(e,0)^Ye(t,0)+n)&Ee,(Ye(e,8)^Ye(t,8)-n)&Ee)}function zl(e,t,n,r,s){let a=e&Ee,i=e>>j(64)&Ee;return a+=uv(t,r,s),a^=Ye(n,0)+Ye(n,8),a&=Ee,i+=uv(n,Xe(r,16),s),i^=Ye(t,0)+Ye(t,8),i&=Ee,i<<j(64)|a}function _r(e){return e^=e>>j(37),e*=n$,e&=Ee,e^=e>>j(32),e}function pu(e){return e^=e>>j(33),e*=aa,e&=Ee,e^=e>>j(29),e*=Z1,e&=Ee,e^=e>>j(32),e}function p$(e,t,n){let r=e.byteLength;hi(r>0&&r<=3);let s=j(Fh(e,r-1))|j(r<<8)|j(Fh(e,0)<<16)|j(Fh(e,r>>1)<<24),a=(j(Ga(t,0))^j(Ga(t,4)))+n,i=(s^a)&Ee,o=(j(Ga(t,8))^j(Ga(t,12)))-n,c=(l$(o$(s),j(13))^o)&Ee;return(pu(c)&Ee)<<j(64)|pu(i)}function $f(e,t){return e^e>>t}function f$(e,t,n){let r=e.byteLength;hi(r>=4&&r<=8);{let s=Ga(e,0),a=Ga(e,r-4),i=j(s)|j(a)<<j(32),o=(Ye(t,16)^Ye(t,24))+n&Ee,c=(i^o)*(ys+(j(r)<<j(2)))&ai;return c+=(c&Ee)<<j(65),c&=ai,c^=c>>j(67),$f($f(c&Ee,j(35))*r$&Ee,j(28))|_r(c>>j(64))<<j(64)}}function m$(e,t,n){let r=e.byteLength;hi(r>=9&&r<=16);{let s=(Ye(t,32)^Ye(t,40))+n&Ee,a=(Ye(t,48)^Ye(t,56))-n&Ee,i=Ye(e),o=Ye(e,r-8),c=(i^o^s)*ys,l=(c&Ee)+(j(r-1)<<j(54));c=c&(ai^Ee)|l,o^=a,c+=o+(o&hu)*(B1-j(1))<<j(64),c&=ai,c^=i$(c>>j(64));let u=(c&Ee)*aa;return u+=(c>>j(64))*aa<<j(64),u&=ai,_r(u&Ee)|_r(u>>j(64))<<j(64)}}function g$(e,t){let n=e.byteLength;return hi(n<=16),n>8?m$(e,pr,t):n>=4?f$(e,pr,t):n>0?p$(e,pr,t):pu(t^Ye(pr,64)^Ye(pr,72))|pu(t^Ye(pr,80)^Ye(pr,88))<<j(64)}function Cf(e){return~e+j(1)&Ee}function y$(e,t,n){let r=j(e.byteLength)*ys&Ee,s=j(e.byteLength-1)/j(32);for(;s>=0;){let o=Number(s);r=zl(r,Xe(e,16*o),Xe(e,e.byteLength-16*(o+1)),Xe(t,32*o),n),s--}let a=r+(r>>j(64))&Ee;a=_r(a);let i=(r&Ee)*ys+(r>>j(64))*Vg+(j(e.byteLength)-n&Ee)*aa;return i&=Ee,i=Cf(_r(i)),a|i<<j(64)}function _$(e,t,n){let r=j(e.byteLength)*ys&Ee;for(let i=32;i<160;i+=32)r=zl(r,Xe(e,i-32),Xe(e,i-16),Xe(t,i-32),n);r=_r(r&Ee)|_r(r>>j(64))<<j(64);for(let i=160;i<=e.byteLength;i+=32)r=zl(r,Xe(e,i-32),Xe(e,i-16),Xe(t,3+i-160),n);r=zl(r,Xe(e,e.byteLength-16),Xe(e,e.byteLength-32),Xe(t,103),Cf(n));let s=r+(r>>j(64))&Ee;s=_r(s);let a=(r&Ee)*ys+(r>>j(64))*Vg+(j(e.byteLength)-n&Ee)*aa;return a&=Ee,a=Cf(_r(a)),s|a<<j(64)}function v$(e,t=j(0)){let n=e.byteLength;return n<=16?g$(e,t):n<=128?y$(e,pr,t):n<=240?_$(e,pr,t):h$(e,pr)}function b$(e){let t=new Uint8Array(16),n=new DataView(t.buffer),r=e&Ee,s=e>>j(64);return n.setBigUint64(0,s,!1),n.setBigUint64(8,r,!1),t}var W1=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ve(e,t){if(!W1.test(e)){let n=t!==void 0?`Invalid UUID for ${t}: ${e}`:`Invalid UUID: ${e}`;throw new Error(n)}return e}function w$(e){let t=typeof e=="string"?Date.parse(e):e;return r1({msecs:t,seq:0})}function x$(e){if(!W1.test(e))return null;let t=e[14];return parseInt(t,16)}function k$(e){let t=e.replace(/-/g,""),n=new Uint8Array(16);for(let r=0;r<16;r++)n[r]=parseInt(t.slice(r*2,r*2+2),16);return n}function E$(e){let t=Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}var S$=new TextEncoder;function O$(e){let t=S$.encode(e),n=v$(t);return b$(n)}function el(e,t){let n=`${e}:${t}`,r=O$(n),s=new Uint8Array(16);if(x$(e)===7){let a=k$(e);s.set(a.slice(0,6),0)}else{let a=Date.now();s[0]=a/1099511627776&255,s[1]=a/4294967296&255,s[2]=a/16777216&255,s[3]=a/65536&255,s[4]=a/256&255,s[5]=a&255}return s[6]=112|r[0]&15,s[7]=r[1],s[8]=128|r[2]&63,s.set(r.slice(3,10),9),E$(s)}var Nf={join:(...e)=>e.join("/"),dirname:e=>e.split("/").slice(0,-1).join("/")};async function I$(e){}async function T$(e,t){}async function A$(e){return[]}async function $$(e){return{size:0}}function C$(e,t){return t===null?!1:Date.now()-e.createdAt>t*1e3}var Pf=class{constructor(t={}){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ttlSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshIntervalSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metrics",{enumerable:!0,configurable:!0,writable:!0,value:{hits:0,misses:0,refreshes:0,refreshErrors:0}}),this.configure(t)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let t=this.totalRequests;return t>0?this._metrics.hits/t:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get(t,n){if(this.maxSize===0)return;let r=this.cache.get(t);if(!r){this._metrics.misses+=1;return}return this.cache.delete(t),this.cache.set(t,{...r,refreshFunc:n}),this._metrics.hits+=1,r.value}set(t,n,r){if(this.maxSize===0)return;if(this.refreshTimer===void 0&&this.startRefreshLoop(),!this.cache.has(t)&&this.cache.size>=this.maxSize){let a=this.cache.keys().next().value;a!==void 0&&this.cache.delete(a)}let s={value:n,createdAt:Date.now(),refreshFunc:r};this.cache.delete(t),this.cache.set(t,s)}invalidate(t){this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=void 0)}dump(t){let n={};for(let[s,a]of this.cache.entries())n[s]=a.value;Nf.dirname(t);let r=`${t}.tmp`;try{JSON.stringify({entries:n},null,2)}catch(s){throw s}}load(t){return 0}startRefreshLoop(){this.stop(),this.ttlSeconds!==null&&(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(t=>{console.warn("Unexpected error in cache refresh loop:",t)})},this.refreshIntervalSeconds*1e3),this.refreshTimer.unref&&this.refreshTimer.unref())}getStaleEntries(){let t=[];for(let[n,r]of this.cache.entries())C$(r,this.ttlSeconds)&&t.push([n,r]);return t}async refreshStaleEntries(){let t=this.getStaleEntries();if(t.length!==0){for(let[n,r]of t)if(r.refreshFunc!==void 0)try{let s=await r.refreshFunc();this.set(n,s,r.refreshFunc),this._metrics.refreshes+=1}catch(s){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${n}:`,s)}}}configure(t){this.stop(),this.refreshIntervalSeconds=t.refreshIntervalSeconds??60,this.maxSize=t.maxSize??100,this.ttlSeconds=t.ttlSeconds??300}},dv=new Pf,J1="0.5.10",$r,N$=()=>typeof window<"u"&&typeof window.document<"u",P$=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",j$=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),G1=()=>typeof Deno<"u",R$=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!G1(),K1=()=>$r||(typeof Bun<"u"?$r="bun":N$()?$r="browser":R$()?$r="node":P$()?$r="webworker":j$()?$r="jsdom":G1()?$r="deno":$r="other",$r),Uh;function X1(){if(Uh===void 0){let e=K1(),t=M$();Uh={library:"langsmith",runtime:e,sdk:"langsmith-js",sdk_version:J1,...t}}return Uh}function Y1(){let e=L$(),t={},n=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[r,s]of Object.entries(e))typeof s=="string"&&!n.includes(r)&&!r.toLowerCase().includes("key")&&!r.toLowerCase().includes("secret")&&!r.toLowerCase().includes("token")&&(r==="LANGCHAIN_REVISION_ID"?t.revision_id=s:t[r]=s);return t}function L$(){let e={};try{if(typeof process<"u"&&process.env)for(let[t,n]of Object.entries(process.env))(t.startsWith("LANGCHAIN_")||t.startsWith("LANGSMITH_"))&&n!=null&&((t.toLowerCase().includes("key")||t.toLowerCase().includes("secret")||t.toLowerCase().includes("token"))&&typeof n=="string"?e[t]=n.slice(0,2)+"*".repeat(n.length-4)+n.slice(-2):e[t]=n)}catch{}return e}function Or(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Ct(e){return Or(`LANGSMITH_${e}`)||Or(`LANGCHAIN_${e}`)}var Bh;function M$(){if(Bh!==void 0)return Bh;let e=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],t={};for(let n of e){let r=Or(n);r!==void 0&&(t[n]=r)}return Bh=t,t}function Q1(){return Or("OTEL_ENABLED")==="true"||Ct("OTEL_ENABLED")==="true"}var jf=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(t,...n){!this.hasWarned&&Q1()&&(console.warn('You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0);let r;if(n.length===1&&typeof n[0]=="function"?r=n[0]:n.length===2&&typeof n[1]=="function"?r=n[1]:n.length===3&&typeof n[2]=="function"&&(r=n[2]),typeof r=="function")return r()}},Rf=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new jf})}getTracer(t,n){return this.mockTracer}getActiveSpan(){}setSpan(t,n){return t}getSpan(t){}setSpanContext(t,n){return t}getTracerProvider(){}setGlobalTracerProvider(t){return!1}},Lf=class{active(){return{}}with(t,n){return n()}},Zh=Symbol.for("ls:otel_trace"),Vh=Symbol.for("ls:otel_context"),hv=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),z$=new Rf,D$=new Lf,Mf=class{getTraceInstance(){return globalThis[Zh]??z$}getContextInstance(){return globalThis[Vh]??D$}initializeGlobalInstances(t){globalThis[Zh]===void 0&&(globalThis[Zh]=t.trace),globalThis[Vh]===void 0&&(globalThis[Vh]=t.context)}setDefaultOTLPTracerComponents(t){globalThis[hv]=t}getDefaultOTLPTracerComponents(){return globalThis[hv]??void 0}},qg=new Mf;function ex(){return qg.getTraceInstance()}function F$(){return qg.getContextInstance()}function U$(){return qg.getDefaultOTLPTracerComponents()}var B$={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function Z$(e){return B$[e]||e}var zf=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(t,n){for(let r of t)try{if(!r.run)continue;if(r.operation==="post"){let s=this.createSpanForRun(r,r.run,n.get(r.id));s&&!r.run.end_time&&this.spans.set(r.id,s)}else this.updateSpanForRun(r,r.run)}catch(s){console.error(`Error processing operation ${r.id}:`,s)}}createSpanForRun(t,n,r){let s=r&&ex().getSpan(r);if(s)try{return this.finishSpanSetup(s,n,t)}catch(a){console.error(`Failed to create span for run ${t.id}:`,a);return}}finishSpanSetup(t,n,r){return this.setSpanAttributes(t,n,r),n.error?(t.setStatus({code:2}),t.recordException(new Error(n.error))):t.setStatus({code:1}),n.end_time&&t.end(new Date(n.end_time)),t}updateSpanForRun(t,n){try{let r=this.spans.get(t.id);if(!r){console.debug(`No span found for run ${t.id} during update`);return}this.setSpanAttributes(r,n,t),n.error?(r.setStatus({code:2}),r.recordException(new Error(n.error))):r.setStatus({code:1});let s=n.end_time;s&&(r.end(new Date(s)),this.spans.delete(t.id))}catch(r){console.error(`Failed to update span for run ${t.id}:`,r)}}extractModelName(t){if(t.extra?.metadata){let n=t.extra.metadata;if(n.ls_model_name)return n.ls_model_name;if(n.invocation_params){let r=n.invocation_params;if(r.model)return r.model;if(r.model_name)return r.model_name}}}setSpanAttributes(t,n,r){if("run_type"in n&&n.run_type){t.setAttribute(HA,n.run_type);let o=Z$(n.run_type||"chain");t.setAttribute(kA,o)}"name"in n&&n.name&&t.setAttribute(WA,n.name),"session_id"in n&&n.session_id&&t.setAttribute(VA,n.session_id),"session_name"in n&&n.session_name&&t.setAttribute(qA,n.session_name),this.setGenAiSystem(t,n);let s=this.extractModelName(n);s&&t.setAttribute(nv,s),"prompt_tokens"in n&&typeof n.prompt_tokens=="number"&&t.setAttribute(rv,n.prompt_tokens),"completion_tokens"in n&&typeof n.completion_tokens=="number"&&t.setAttribute(sv,n.completion_tokens),"total_tokens"in n&&typeof n.total_tokens=="number"&&t.setAttribute(av,n.total_tokens),this.setInvocationParameters(t,n);let a=n.extra?.metadata||{};for(let[o,c]of Object.entries(a))c!=null&&t.setAttribute(`${JA}.${o}`,String(c));let i=n.tags;if(i&&Array.isArray(i)?t.setAttribute(iv,i.join(", ")):i&&t.setAttribute(iv,String(i)),"serialized"in n&&typeof n.serialized=="object"){let o=n.serialized;o.name&&t.setAttribute(LA,String(o.name)),o.signature&&t.setAttribute(MA,String(o.signature)),o.doc&&t.setAttribute(zA,String(o.doc))}this.setIOAttributes(t,r)}setGenAiSystem(t,n){let r="langchain",s=this.extractModelName(n);if(s){let a=s.toLowerCase();a.includes("anthropic")||a.startsWith("claude")?r="anthropic":a.includes("bedrock")?r="aws.bedrock":a.includes("azure")&&a.includes("openai")?r="az.ai.openai":a.includes("azure")&&a.includes("inference")?r="az.ai.inference":a.includes("cohere")?r="cohere":a.includes("deepseek")?r="deepseek":a.includes("gemini")?r="gemini":a.includes("groq")?r="groq":a.includes("watson")||a.includes("ibm")?r="ibm.watsonx.ai":a.includes("mistral")?r="mistral_ai":a.includes("gpt")||a.includes("openai")?r="openai":a.includes("perplexity")||a.includes("sonar")?r="perplexity":a.includes("vertex")?r="vertex_ai":(a.includes("xai")||a.includes("grok"))&&(r="xai")}t.setAttribute(EA,r)}setInvocationParameters(t,n){if(!n.extra?.metadata?.invocation_params)return;let r=n.extra.metadata.invocation_params;r.max_tokens!==void 0&&t.setAttribute(OA,r.max_tokens),r.temperature!==void 0&&t.setAttribute(IA,r.temperature),r.top_p!==void 0&&t.setAttribute(TA,r.top_p),r.frequency_penalty!==void 0&&t.setAttribute(AA,r.frequency_penalty),r.presence_penalty!==void 0&&t.setAttribute($A,r.presence_penalty)}setIOAttributes(t,n){if(n.run.inputs)try{let r=n.run.inputs;typeof r=="object"&&r!==null&&(r.model&&Array.isArray(r.messages)&&t.setAttribute(nv,r.model),r.stream!==void 0&&t.setAttribute(GA,r.stream),r.extra_headers&&t.setAttribute(KA,JSON.stringify(r.extra_headers)),r.extra_query&&t.setAttribute(jA,JSON.stringify(r.extra_query)),r.extra_body&&t.setAttribute(RA,JSON.stringify(r.extra_body))),t.setAttribute(NA,JSON.stringify(r))}catch(r){console.debug(`Failed to process inputs for run ${n.id}`,r)}if(n.run.outputs)try{let r=n.run.outputs,s=this.getUnifiedRunTokens(r);if(s&&(t.setAttribute(rv,s[0]),t.setAttribute(sv,s[1]),t.setAttribute(av,s[0]+s[1])),r&&typeof r=="object"){if(r.model&&t.setAttribute(SA,String(r.model)),r.id&&t.setAttribute(DA,r.id),r.choices&&Array.isArray(r.choices)){let a=r.choices.map(i=>i.finish_reason).filter(i=>i).map(String);a.length>0&&t.setAttribute(CA,a.join(", "))}if(r.service_tier&&t.setAttribute(FA,r.service_tier),r.system_fingerprint&&t.setAttribute(UA,r.system_fingerprint),r.usage_metadata&&typeof r.usage_metadata=="object"){let a=r.usage_metadata;a.input_token_details&&t.setAttribute(BA,JSON.stringify(a.input_token_details)),a.output_token_details&&t.setAttribute(ZA,JSON.stringify(a.output_token_details))}}t.setAttribute(PA,JSON.stringify(r))}catch(r){console.debug(`Failed to process outputs for run ${n.id}`,r)}}getUnifiedRunTokens(t){if(!t)return null;let n=this.extractUnifiedRunTokens(t.usage_metadata);if(n)return n;let r=Object.keys(t);for(let i of r){let o=t[i];if(!(!o||typeof o!="object")&&(n=this.extractUnifiedRunTokens(o.usage_metadata),n||o.lc===1&&o.kwargs&&typeof o.kwargs=="object"&&(n=this.extractUnifiedRunTokens(o.kwargs.usage_metadata),n)))return n}let s=t.generations||[];if(!Array.isArray(s))return null;let a=Array.isArray(s[0])?s.flat():s;for(let i of a)if(typeof i=="object"&&i.message&&typeof i.message=="object"&&i.message.kwargs&&typeof i.message.kwargs=="object"&&(n=this.extractUnifiedRunTokens(i.message.kwargs.usage_metadata),n))return n;return null}extractUnifiedRunTokens(t){return!t||typeof t!="object"||typeof t.input_tokens!="number"||typeof t.output_tokens!="number"?null:[t.input_tokens,t.output_tokens]}},V$=Object.prototype.toString,q$=e=>V$.call(e)==="[object Error]",H$=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function W$(e){if(!(e&&q$(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:n}=e;return t==="Load failed"?n===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:H$.has(t)}function J$(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function tl(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${r?" or Infinity":""}.`);if(!r&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw new TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}var G$=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function K$(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,s=Math.round(r*t.minTimeout*t.factor**(n-1));return s=Math.min(s,t.maxTimeout),s}function pv(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function X$({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:s}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof G$)throw a.originalError;let i=Number.isFinite(s.retries)?Math.max(0,s.retries-n):s.retries,o=s.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:i,retriesConsumed:n});if(await s.onFailedAttempt(c),pv(r,o)<=0)throw a;let l=await s.shouldConsumeRetry(c),u=pv(r,o);if(u<=0||i<=0)throw a;if(a instanceof TypeError&&!W$(a)){if(l)throw a;return s.signal?.throwIfAborted(),!1}if(!await s.shouldRetry(c))throw a;if(!l)return s.signal?.throwIfAborted(),!1;let d=K$(n,s),h=Math.min(d,u);return h>0&&await new Promise((p,f)=>{let m=()=>{clearTimeout(v),s.signal?.removeEventListener("abort",m),f(s.signal.reason)},v=setTimeout(()=>{s.signal?.removeEventListener("abort",m),p()},h);s.unref&&v.unref?.(),s.signal?.addEventListener("abort",m,{once:!0})}),s.signal?.throwIfAborted(),!0}async function Y$(e,t={}){if(t={...t},J$(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,tl("factor",t.factor,{min:0,allowInfinity:!1}),tl("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),tl("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),tl("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,s=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let a=await e(n);return t.signal?.throwIfAborted(),a}catch(a){await X$({error:a,attemptNumber:n,retriesConsumed:r,startTime:s,options:t})&&r++}}throw new Error("Retry attempts exhausted without throwing an error.")}var nl={},fv={exports:{}},mv;function Q$(){return mv||(mv=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function s(c,l,u){this.fn=c,this.context=l,this.once=u||!1}function a(c,l,u,d,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var p=new s(u,d||c,h),f=n?n+l:l;return c._events[f]?c._events[f].fn?c._events[f]=[c._events[f],p]:c._events[f].push(p):(c._events[f]=p,c._eventsCount++),c}function i(c,l){--c._eventsCount===0?c._events=new r:delete c._events[l]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var c=[],l,u;if(this._eventsCount===0)return c;for(u in l=this._events)t.call(l,u)&&c.push(n?u.slice(1):u);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(l)):c},o.prototype.listeners=function(c){var l=n?n+c:c,u=this._events[l];if(!u)return[];if(u.fn)return[u.fn];for(var d=0,h=u.length,p=new Array(h);d<h;d++)p[d]=u[d].fn;return p},o.prototype.listenerCount=function(c){var l=n?n+c:c,u=this._events[l];return u?u.fn?1:u.length:0},o.prototype.emit=function(c,l,u,d,h,p){var f=n?n+c:c;if(!this._events[f])return!1;var m=this._events[f],v=arguments.length,w,y;if(m.fn){switch(m.once&&this.removeListener(c,m.fn,void 0,!0),v){case 1:return m.fn.call(m.context),!0;case 2:return m.fn.call(m.context,l),!0;case 3:return m.fn.call(m.context,l,u),!0;case 4:return m.fn.call(m.context,l,u,d),!0;case 5:return m.fn.call(m.context,l,u,d,h),!0;case 6:return m.fn.call(m.context,l,u,d,h,p),!0}for(y=1,w=new Array(v-1);y<v;y++)w[y-1]=arguments[y];m.fn.apply(m.context,w)}else{var x=m.length,k;for(y=0;y<x;y++)switch(m[y].once&&this.removeListener(c,m[y].fn,void 0,!0),v){case 1:m[y].fn.call(m[y].context);break;case 2:m[y].fn.call(m[y].context,l);break;case 3:m[y].fn.call(m[y].context,l,u);break;case 4:m[y].fn.call(m[y].context,l,u,d);break;default:if(!w)for(k=1,w=new Array(v-1);k<v;k++)w[k-1]=arguments[k];m[y].fn.apply(m[y].context,w)}}return!0},o.prototype.on=function(c,l,u){return a(this,c,l,u,!1)},o.prototype.once=function(c,l,u){return a(this,c,l,u,!0)},o.prototype.removeListener=function(c,l,u,d){var h=n?n+c:c;if(!this._events[h])return this;if(!l)return i(this,h),this;var p=this._events[h];if(p.fn)p.fn===l&&(!d||p.once)&&(!u||p.context===u)&&i(this,h);else{for(var f=0,m=[],v=p.length;f<v;f++)(p[f].fn!==l||d&&!p[f].once||u&&p[f].context!==u)&&m.push(p[f]);m.length?this._events[h]=m.length===1?m[0]:m:i(this,h)}return this},o.prototype.removeAllListeners=function(c){var l;return c?(l=n?n+c:c,this._events[l]&&i(this,l)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=n,o.EventEmitter=o,e.exports=o})(fv)),fv.exports}var eo={exports:{}},gv,yv;function eC(){return yv||(yv=1,gv=(e,t)=>(t=t||(()=>{}),e.then(n=>new Promise(r=>{r(t())}).then(()=>n),n=>new Promise(r=>{r(t())}).then(()=>{throw n})))),gv}var _v;function tC(){if(_v)return eo.exports;_v=1;let e=eC();class t extends Error{constructor(s){super(s),this.name="TimeoutError"}}let n=(r,s,a)=>new Promise((i,o)=>{if(typeof s!="number"||s<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(s===1/0){i(r);return}let c=setTimeout(()=>{if(typeof a=="function"){try{i(a())}catch(d){o(d)}return}let l=typeof a=="string"?a:`Promise timed out after ${s} milliseconds`,u=a instanceof Error?a:new t(l);typeof r.cancel=="function"&&r.cancel(),o(u)},s);e(r.then(i,o),()=>{clearTimeout(c)})});return eo.exports=n,eo.exports.default=n,eo.exports.TimeoutError=t,eo.exports}var rl={},sl={},vv;function nC(){if(vv)return sl;vv=1,Object.defineProperty(sl,"__esModule",{value:!0});function e(t,n,r){let s=0,a=t.length;for(;a>0;){let i=a/2|0,o=s+i;r(t[o],n)<=0?(s=++o,a-=i+1):a=i}return s}return sl.default=e,sl}var bv;function rC(){if(bv)return rl;bv=1,Object.defineProperty(rl,"__esModule",{value:!0});let e=nC();class t{constructor(){this._queue=[]}enqueue(r,s){s=Object.assign({priority:0},s);let a={priority:s.priority,run:r};if(this.size&&this._queue[this.size-1].priority>=s.priority){this._queue.push(a);return}let i=e.default(this._queue,a,(o,c)=>c.priority-o.priority);this._queue.splice(i,0,a)}dequeue(){return this._queue.shift()?.run}filter(r){return this._queue.filter(s=>s.priority===r.priority).map(s=>s.run)}get size(){return this._queue.length}}return rl.default=t,rl}var wv;function sC(){if(wv)return nl;wv=1,Object.defineProperty(nl,"__esModule",{value:!0});let e=Q$(),t=tC(),n=rC(),r=()=>{},s=new t.TimeoutError;class a extends e{constructor(o){var c,l,u,d;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=r,this._resolveIdle=r,o=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:n.default},o),!(typeof o.intervalCap=="number"&&o.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(l=(c=o.intervalCap)===null||c===void 0?void 0:c.toString())!==null&&l!==void 0?l:""}\` (${typeof o.intervalCap})`);if(o.interval===void 0||!(Number.isFinite(o.interval)&&o.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(d=(u=o.interval)===null||u===void 0?void 0:u.toString())!==null&&d!==void 0?d:""}\` (${typeof o.interval})`);this._carryoverConcurrencyCount=o.carryoverConcurrencyCount,this._isIntervalIgnored=o.intervalCap===1/0||o.interval===0,this._intervalCap=o.intervalCap,this._interval=o.interval,this._queue=new o.queueClass,this._queueClass=o.queueClass,this.concurrency=o.concurrency,this._timeout=o.timeout,this._throwOnTimeout=o.throwOnTimeout===!0,this._isPaused=o.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=r,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=r,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let o=Date.now();if(this._intervalId===void 0){let c=this._intervalEnd-o;if(c<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},c)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let o=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let c=this._queue.dequeue();return c?(this.emit("active"),c(),o&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(o){if(!(typeof o=="number"&&o>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${o}\` (${typeof o})`);this._concurrency=o,this._processQueue()}async add(o,c={}){return new Promise((l,u)=>{let d=async()=>{this._pendingCount++,this._intervalCount++;try{let h=this._timeout===void 0&&c.timeout===void 0?o():t.default(Promise.resolve(o()),c.timeout===void 0?this._timeout:c.timeout,()=>{(c.throwOnTimeout===void 0?this._throwOnTimeout:c.throwOnTimeout)&&u(s)});l(await h)}catch(h){u(h)}this._next()};this._queue.enqueue(d,c),this._tryToStartAnother(),this.emit("add")})}async addAll(o,c){return Promise.all(o.map(async l=>this.add(l,c)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(o=>{let c=this._resolveEmpty;this._resolveEmpty=()=>{c(),o()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(o=>{let c=this._resolveIdle;this._resolveIdle=()=>{c(),o()}})}get size(){return this._queue.size}sizeBy(o){return this._queue.filter(o).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(o){this._timeout=o}}return nl.default=a,nl}var aC=sC(),Br=Aa(aC),iC="default"in Br?Br.default:Br,oC=[408,425,429,500,502,503,504],xv=class{constructor(e){Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxQueueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailedResponseHook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.maxQueueSizeBytes=e.maxQueueSizeBytes,this.queue=new iC({concurrency:this.maxConcurrency}),this.onFailedResponseHook=e?.onFailedResponseHook}call(e,...t){return this.callWithOptions({},e,...t)}callWithOptions(e,t,...n){let r=e.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&r>0&&this.queueSizeBytes+r>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${r} bytes.`));r>0&&(this.queueSizeBytes+=r);let s=this.onFailedResponseHook,a=this.queue.add(()=>Y$(()=>t(...n).catch(i=>{throw i instanceof Error?i:new Error(i)}),{async onFailedAttempt({error:i}){if(typeof i!="object"||i==null)throw i;let o="message"in i&&typeof i.message=="string"?i.message:void 0;if(o?.startsWith("Cancel")||o?.startsWith("TimeoutError")||o?.startsWith("AbortError")||"name"in i&&i.name==="TimeoutError"||"code"in i&&i.code==="ECONNABORTED")throw i;let c="response"in i?i.response:void 0;if(s&&await s(c))return;let l=c?.status??("status"in i?i.status:void 0);if(l!=null&&(typeof l=="number"||typeof l=="string")&&!oC.includes(+l))throw i},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return r>0&&(a=a.finally(()=>{this.queueSizeBytes-=r})),e.signal?Promise.race([a,new Promise((i,o)=>{e.signal?.addEventListener("abort",()=>{o(new Error("AbortError"))})})]):a}};function kv(e){return typeof e?._getType=="function"}function Ev(e){let t={type:e._getType(),data:{content:e.content}};return e?.additional_kwargs&&Object.keys(e.additional_kwargs).length>0&&(t.data.additional_kwargs={...e.additional_kwargs}),t}var qh={exports:{}},Hh,Sv;function Kd(){if(Sv)return Hh;Sv=1;let e="2.0.0",t=256,n=Number.MAX_SAFE_INTEGER||9007199254740991,r=16,s=t-6;return Hh={MAX_LENGTH:t,MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_SAFE_INTEGER:n,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Hh}var Ov,Iv;function Xd(){return Iv||(Iv=1,Ov=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),Ov}var Tv;function Cc(){return Tv||(Tv=1,(function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:s}=Kd(),a=Xd();t=e.exports={};let i=t.re=[],o=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={},d=0,h="[a-zA-Z0-9-]",p=[["\\s",1],["\\d",s],[h,r]],f=v=>{for(let[w,y]of p)v=v.split(`${w}*`).join(`${w}{0,${y}}`).split(`${w}+`).join(`${w}{1,${y}}`);return v},m=(v,w,y)=>{let x=f(w),k=d++;a(v,k,w),u[v]=k,c[k]=w,l[k]=x,i[k]=new RegExp(w,y?"g":void 0),o[k]=new RegExp(x,y?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`),m("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${h}+`),m("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),m("FULL",`^${c[u.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),m("LOOSE",`^${c[u.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),m("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),m("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",c[u.COERCE],!0),m("COERCERTLFULL",c[u.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",m("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",m("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(qh,qh.exports)),qh.exports}var Wh,Av;function Hg(){if(Av)return Wh;Av=1;let e=Object.freeze({loose:!0}),t=Object.freeze({});return Wh=n=>n?typeof n!="object"?e:n:t,Wh}var Jh,$v;function tx(){if($v)return Jh;$v=1;let e=/^[0-9]+$/,t=(n,r)=>{if(typeof n=="number"&&typeof r=="number")return n===r?0:n<r?-1:1;let s=e.test(n),a=e.test(r);return s&&a&&(n=+n,r=+r),n===r?0:s&&!a?-1:a&&!s?1:n<r?-1:1};return Jh={compareIdentifiers:t,rcompareIdentifiers:(n,r)=>t(r,n)},Jh}var Gh,Cv;function Qt(){if(Cv)return Gh;Cv=1;let e=Xd(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Kd(),{safeRe:r,t:s}=Cc(),a=Hg(),{compareIdentifiers:i}=tx();class o{constructor(l,u){if(u=a(u),l instanceof o){if(l.loose===!!u.loose&&l.includePrerelease===!!u.includePrerelease)return l;l=l.version}else if(typeof l!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof l}".`);if(l.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",l,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;let d=l.trim().match(u.loose?r[s.LOOSE]:r[s.FULL]);if(!d)throw new TypeError(`Invalid Version: ${l}`);if(this.raw=l,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(h=>{if(/^[0-9]+$/.test(h)){let p=+h;if(p>=0&&p<n)return p}return h}):this.prerelease=[],this.build=d[5]?d[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(l){if(e("SemVer.compare",this.version,this.options,l),!(l instanceof o)){if(typeof l=="string"&&l===this.version)return 0;l=new o(l,this.options)}return l.version===this.version?0:this.compareMain(l)||this.comparePre(l)}compareMain(l){return l instanceof o||(l=new o(l,this.options)),this.major<l.major?-1:this.major>l.major?1:this.minor<l.minor?-1:this.minor>l.minor?1:this.patch<l.patch?-1:this.patch>l.patch?1:0}comparePre(l){if(l instanceof o||(l=new o(l,this.options)),this.prerelease.length&&!l.prerelease.length)return-1;if(!this.prerelease.length&&l.prerelease.length)return 1;if(!this.prerelease.length&&!l.prerelease.length)return 0;let u=0;do{let d=this.prerelease[u],h=l.prerelease[u];if(e("prerelease compare",u,d,h),d===void 0&&h===void 0)return 0;if(h===void 0)return 1;if(d===void 0)return-1;if(d!==h)return i(d,h)}while(++u)}compareBuild(l){l instanceof o||(l=new o(l,this.options));let u=0;do{let d=this.build[u],h=l.build[u];if(e("build compare",u,d,h),d===void 0&&h===void 0)return 0;if(h===void 0)return 1;if(d===void 0)return-1;if(d!==h)return i(d,h)}while(++u)}inc(l,u,d){if(l.startsWith("pre")){if(!u&&d===!1)throw new Error("invalid increment argument: identifier is empty");if(u){let h=`-${u}`.match(this.options.loose?r[s.PRERELEASELOOSE]:r[s.PRERELEASE]);if(!h||h[1]!==u)throw new Error(`invalid identifier: ${u}`)}}switch(l){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",u,d);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",u,d);break;case"prepatch":this.prerelease.length=0,this.inc("patch",u,d),this.inc("pre",u,d);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",u,d),this.inc("pre",u,d);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let h=Number(d)?1:0;if(this.prerelease.length===0)this.prerelease=[h];else{let p=this.prerelease.length;for(;--p>=0;)typeof this.prerelease[p]=="number"&&(this.prerelease[p]++,p=-2);if(p===-1){if(u===this.prerelease.join(".")&&d===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(h)}}if(u){let p=[u,h];d===!1&&(p=[u]),i(this.prerelease[0],u)===0?isNaN(this.prerelease[1])&&(this.prerelease=p):this.prerelease=p}break}default:throw new Error(`invalid increment argument: ${l}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return Gh=o,Gh}var Kh,Nv;function Vi(){if(Nv)return Kh;Nv=1;let e=Qt();return Kh=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(s){if(!r)return null;throw s}},Kh}var Xh,Pv;function cC(){if(Pv)return Xh;Pv=1;let e=Vi();return Xh=(t,n)=>{let r=e(t,n);return r?r.version:null},Xh}var Yh,jv;function lC(){if(jv)return Yh;jv=1;let e=Vi();return Yh=(t,n)=>{let r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},Yh}var Qh,Rv;function uC(){if(Rv)return Qh;Rv=1;let e=Qt();return Qh=(t,n,r,s,a)=>{typeof r=="string"&&(a=s,s=r,r=void 0);try{return new e(t instanceof e?t.version:t,r).inc(n,s,a).version}catch{return null}},Qh}var ep,Lv;function dC(){if(Lv)return ep;Lv=1;let e=Vi();return ep=(t,n)=>{let r=e(t,null,!0),s=e(n,null,!0),a=r.compare(s);if(a===0)return null;let i=a>0,o=i?r:s,c=i?s:r,l=!!o.prerelease.length;if(c.prerelease.length&&!l){if(!c.patch&&!c.minor)return"major";if(c.compareMain(o)===0)return c.minor&&!c.patch?"minor":"patch"}let u=l?"pre":"";return r.major!==s.major?u+"major":r.minor!==s.minor?u+"minor":r.patch!==s.patch?u+"patch":"prerelease"},ep}var tp,Mv;function hC(){if(Mv)return tp;Mv=1;let e=Qt();return tp=(t,n)=>new e(t,n).major,tp}var np,zv;function pC(){if(zv)return np;zv=1;let e=Qt();return np=(t,n)=>new e(t,n).minor,np}var rp,Dv;function fC(){if(Dv)return rp;Dv=1;let e=Qt();return rp=(t,n)=>new e(t,n).patch,rp}var sp,Fv;function mC(){if(Fv)return sp;Fv=1;let e=Vi();return sp=(t,n)=>{let r=e(t,n);return r&&r.prerelease.length?r.prerelease:null},sp}var ap,Uv;function cr(){if(Uv)return ap;Uv=1;let e=Qt();return ap=(t,n,r)=>new e(t,r).compare(new e(n,r)),ap}var ip,Bv;function gC(){if(Bv)return ip;Bv=1;let e=cr();return ip=(t,n,r)=>e(n,t,r),ip}var op,Zv;function yC(){if(Zv)return op;Zv=1;let e=cr();return op=(t,n)=>e(t,n,!0),op}var cp,Vv;function Wg(){if(Vv)return cp;Vv=1;let e=Qt();return cp=(t,n,r)=>{let s=new e(t,r),a=new e(n,r);return s.compare(a)||s.compareBuild(a)},cp}var lp,qv;function _C(){if(qv)return lp;qv=1;let e=Wg();return lp=(t,n)=>t.sort((r,s)=>e(r,s,n)),lp}var up,Hv;function vC(){if(Hv)return up;Hv=1;let e=Wg();return up=(t,n)=>t.sort((r,s)=>e(s,r,n)),up}var dp,Wv;function Yd(){if(Wv)return dp;Wv=1;let e=cr();return dp=(t,n,r)=>e(t,n,r)>0,dp}var hp,Jv;function Jg(){if(Jv)return hp;Jv=1;let e=cr();return hp=(t,n,r)=>e(t,n,r)<0,hp}var pp,Gv;function nx(){if(Gv)return pp;Gv=1;let e=cr();return pp=(t,n,r)=>e(t,n,r)===0,pp}var fp,Kv;function rx(){if(Kv)return fp;Kv=1;let e=cr();return fp=(t,n,r)=>e(t,n,r)!==0,fp}var mp,Xv;function Gg(){if(Xv)return mp;Xv=1;let e=cr();return mp=(t,n,r)=>e(t,n,r)>=0,mp}var gp,Yv;function Kg(){if(Yv)return gp;Yv=1;let e=cr();return gp=(t,n,r)=>e(t,n,r)<=0,gp}var yp,Qv;function sx(){if(Qv)return yp;Qv=1;let e=nx(),t=rx(),n=Yd(),r=Gg(),s=Jg(),a=Kg();return yp=(i,o,c,l)=>{switch(o){case"===":return typeof i=="object"&&(i=i.version),typeof c=="object"&&(c=c.version),i===c;case"!==":return typeof i=="object"&&(i=i.version),typeof c=="object"&&(c=c.version),i!==c;case"":case"=":case"==":return e(i,c,l);case"!=":return t(i,c,l);case">":return n(i,c,l);case">=":return r(i,c,l);case"<":return s(i,c,l);case"<=":return a(i,c,l);default:throw new TypeError(`Invalid operator: ${o}`)}},yp}var _p,e0;function bC(){if(e0)return _p;e0=1;let e=Qt(),t=Vi(),{safeRe:n,t:r}=Cc();return _p=(s,a)=>{if(s instanceof e)return s;if(typeof s=="number"&&(s=String(s)),typeof s!="string")return null;a=a||{};let i=null;if(!a.rtl)i=s.match(a.includePrerelease?n[r.COERCEFULL]:n[r.COERCE]);else{let h=a.includePrerelease?n[r.COERCERTLFULL]:n[r.COERCERTL],p;for(;(p=h.exec(s))&&(!i||i.index+i[0].length!==s.length);)(!i||p.index+p[0].length!==i.index+i[0].length)&&(i=p),h.lastIndex=p.index+p[1].length+p[2].length;h.lastIndex=-1}if(i===null)return null;let o=i[2],c=i[3]||"0",l=i[4]||"0",u=a.includePrerelease&&i[5]?`-${i[5]}`:"",d=a.includePrerelease&&i[6]?`+${i[6]}`:"";return t(`${o}.${c}.${l}${u}${d}`,a)},_p}var vp,t0;function wC(){if(t0)return vp;t0=1;class e{constructor(){this.max=1e3,this.map=new Map}get(n){let r=this.map.get(n);if(r!==void 0)return this.map.delete(n),this.map.set(n,r),r}delete(n){return this.map.delete(n)}set(n,r){if(!this.delete(n)&&r!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(n,r)}return this}}return vp=e,vp}var bp,n0;function lr(){if(n0)return bp;n0=1;let e=/\s+/g;class t{constructor(M,z){if(z=s(z),M instanceof t)return M.loose===!!z.loose&&M.includePrerelease===!!z.includePrerelease?M:new t(M.raw,z);if(M instanceof a)return this.raw=M.value,this.set=[[M]],this.formatted=void 0,this;if(this.options=z,this.loose=!!z.loose,this.includePrerelease=!!z.includePrerelease,this.raw=M.trim().replace(e," "),this.set=this.raw.split("||").map(ee=>this.parseRange(ee.trim())).filter(ee=>ee.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let ee=this.set[0];if(this.set=this.set.filter(oe=>!m(oe[0])),this.set.length===0)this.set=[ee];else if(this.set.length>1){for(let oe of this.set)if(oe.length===1&&v(oe[0])){this.set=[oe];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let M=0;M<this.set.length;M++){M>0&&(this.formatted+="||");let z=this.set[M];for(let ee=0;ee<z.length;ee++)ee>0&&(this.formatted+=" "),this.formatted+=z[ee].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(M){let z=((this.options.includePrerelease&&p)|(this.options.loose&&f))+":"+M,ee=r.get(z);if(ee)return ee;let oe=this.options.loose,ne=oe?c[l.HYPHENRANGELOOSE]:c[l.HYPHENRANGE];M=M.replace(ne,ze(this.options.includePrerelease)),i("hyphen replace",M),M=M.replace(c[l.COMPARATORTRIM],u),i("comparator trim",M),M=M.replace(c[l.TILDETRIM],d),i("tilde trim",M),M=M.replace(c[l.CARETTRIM],h),i("caret trim",M);let le=M.split(" ").map(Fe=>y(Fe,this.options)).join(" ").split(/\s+/).map(Fe=>Z(Fe,this.options));oe&&(le=le.filter(Fe=>(i("loose invalid filter",Fe,this.options),!!Fe.match(c[l.COMPARATORLOOSE])))),i("range list",le);let ke=new Map,Se=le.map(Fe=>new a(Fe,this.options));for(let Fe of Se){if(m(Fe))return[Fe];ke.set(Fe.value,Fe)}ke.size>1&&ke.has("")&&ke.delete("");let De=[...ke.values()];return r.set(z,De),De}intersects(M,z){if(!(M instanceof t))throw new TypeError("a Range is required");return this.set.some(ee=>w(ee,z)&&M.set.some(oe=>w(oe,z)&&ee.every(ne=>oe.every(le=>ne.intersects(le,z)))))}test(M){if(!M)return!1;if(typeof M=="string")try{M=new o(M,this.options)}catch{return!1}for(let z=0;z<this.set.length;z++)if(et(this.set[z],M,this.options))return!0;return!1}}bp=t;let n=wC(),r=new n,s=Hg(),a=Qd(),i=Xd(),o=Qt(),{safeRe:c,t:l,comparatorTrimReplace:u,tildeTrimReplace:d,caretTrimReplace:h}=Cc(),{FLAG_INCLUDE_PRERELEASE:p,FLAG_LOOSE:f}=Kd(),m=B=>B.value==="<0.0.0-0",v=B=>B.value==="",w=(B,M)=>{let z=!0,ee=B.slice(),oe=ee.pop();for(;z&&ee.length;)z=ee.every(ne=>oe.intersects(ne,M)),oe=ee.pop();return z},y=(B,M)=>(B=B.replace(c[l.BUILD],""),i("comp",B,M),B=$(B,M),i("caret",B),B=k(B,M),i("tildes",B),B=_(B,M),i("xrange",B),B=T(B,M),i("stars",B),B),x=B=>!B||B.toLowerCase()==="x"||B==="*",k=(B,M)=>B.trim().split(/\s+/).map(z=>O(z,M)).join(" "),O=(B,M)=>{let z=M.loose?c[l.TILDELOOSE]:c[l.TILDE];return B.replace(z,(ee,oe,ne,le,ke)=>{i("tilde",B,ee,oe,ne,le,ke);let Se;return x(oe)?Se="":x(ne)?Se=`>=${oe}.0.0 <${+oe+1}.0.0-0`:x(le)?Se=`>=${oe}.${ne}.0 <${oe}.${+ne+1}.0-0`:ke?(i("replaceTilde pr",ke),Se=`>=${oe}.${ne}.${le}-${ke} <${oe}.${+ne+1}.0-0`):Se=`>=${oe}.${ne}.${le} <${oe}.${+ne+1}.0-0`,i("tilde return",Se),Se})},$=(B,M)=>B.trim().split(/\s+/).map(z=>I(z,M)).join(" "),I=(B,M)=>{i("caret",B,M);let z=M.loose?c[l.CARETLOOSE]:c[l.CARET],ee=M.includePrerelease?"-0":"";return B.replace(z,(oe,ne,le,ke,Se)=>{i("caret",B,oe,ne,le,ke,Se);let De;return x(ne)?De="":x(le)?De=`>=${ne}.0.0${ee} <${+ne+1}.0.0-0`:x(ke)?ne==="0"?De=`>=${ne}.${le}.0${ee} <${ne}.${+le+1}.0-0`:De=`>=${ne}.${le}.0${ee} <${+ne+1}.0.0-0`:Se?(i("replaceCaret pr",Se),ne==="0"?le==="0"?De=`>=${ne}.${le}.${ke}-${Se} <${ne}.${le}.${+ke+1}-0`:De=`>=${ne}.${le}.${ke}-${Se} <${ne}.${+le+1}.0-0`:De=`>=${ne}.${le}.${ke}-${Se} <${+ne+1}.0.0-0`):(i("no pr"),ne==="0"?le==="0"?De=`>=${ne}.${le}.${ke}${ee} <${ne}.${le}.${+ke+1}-0`:De=`>=${ne}.${le}.${ke}${ee} <${ne}.${+le+1}.0-0`:De=`>=${ne}.${le}.${ke} <${+ne+1}.0.0-0`),i("caret return",De),De})},_=(B,M)=>(i("replaceXRanges",B,M),B.split(/\s+/).map(z=>P(z,M)).join(" ")),P=(B,M)=>{B=B.trim();let z=M.loose?c[l.XRANGELOOSE]:c[l.XRANGE];return B.replace(z,(ee,oe,ne,le,ke,Se)=>{i("xRange",B,ee,oe,ne,le,ke,Se);let De=x(ne),Fe=De||x(le),kt=Fe||x(ke),b=kt;return oe==="="&&b&&(oe=""),Se=M.includePrerelease?"-0":"",De?oe===">"||oe==="<"?ee="<0.0.0-0":ee="*":oe&&b?(Fe&&(le=0),ke=0,oe===">"?(oe=">=",Fe?(ne=+ne+1,le=0,ke=0):(le=+le+1,ke=0)):oe==="<="&&(oe="<",Fe?ne=+ne+1:le=+le+1),oe==="<"&&(Se="-0"),ee=`${oe+ne}.${le}.${ke}${Se}`):Fe?ee=`>=${ne}.0.0${Se} <${+ne+1}.0.0-0`:kt&&(ee=`>=${ne}.${le}.0${Se} <${ne}.${+le+1}.0-0`),i("xRange return",ee),ee})},T=(B,M)=>(i("replaceStars",B,M),B.trim().replace(c[l.STAR],"")),Z=(B,M)=>(i("replaceGTE0",B,M),B.trim().replace(c[M.includePrerelease?l.GTE0PRE:l.GTE0],"")),ze=B=>(M,z,ee,oe,ne,le,ke,Se,De,Fe,kt,b)=>(x(ee)?z="":x(oe)?z=`>=${ee}.0.0${B?"-0":""}`:x(ne)?z=`>=${ee}.${oe}.0${B?"-0":""}`:le?z=`>=${z}`:z=`>=${z}${B?"-0":""}`,x(De)?Se="":x(Fe)?Se=`<${+De+1}.0.0-0`:x(kt)?Se=`<${De}.${+Fe+1}.0-0`:b?Se=`<=${De}.${Fe}.${kt}-${b}`:B?Se=`<${De}.${Fe}.${+kt+1}-0`:Se=`<=${Se}`,`${z} ${Se}`.trim()),et=(B,M,z)=>{for(let ee=0;ee<B.length;ee++)if(!B[ee].test(M))return!1;if(M.prerelease.length&&!z.includePrerelease){for(let ee=0;ee<B.length;ee++)if(i(B[ee].semver),B[ee].semver!==a.ANY&&B[ee].semver.prerelease.length>0){let oe=B[ee].semver;if(oe.major===M.major&&oe.minor===M.minor&&oe.patch===M.patch)return!0}return!1}return!0};return bp}var wp,r0;function Qd(){if(r0)return wp;r0=1;let e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(u,d){if(d=n(d),u instanceof t){if(u.loose===!!d.loose)return u;u=u.value}u=u.trim().split(/\s+/).join(" "),i("comparator",u,d),this.options=d,this.loose=!!d.loose,this.parse(u),this.semver===e?this.value="":this.value=this.operator+this.semver.version,i("comp",this)}parse(u){let d=this.options.loose?r[s.COMPARATORLOOSE]:r[s.COMPARATOR],h=u.match(d);if(!h)throw new TypeError(`Invalid comparator: ${u}`);this.operator=h[1]!==void 0?h[1]:"",this.operator==="="&&(this.operator=""),h[2]?this.semver=new o(h[2],this.options.loose):this.semver=e}toString(){return this.value}test(u){if(i("Comparator.test",u,this.options.loose),this.semver===e||u===e)return!0;if(typeof u=="string")try{u=new o(u,this.options)}catch{return!1}return a(u,this.operator,this.semver,this.options)}intersects(u,d){if(!(u instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new c(u.value,d).test(this.value):u.operator===""?u.value===""?!0:new c(this.value,d).test(u.semver):(d=n(d),d.includePrerelease&&(this.value==="<0.0.0-0"||u.value==="<0.0.0-0")||!d.includePrerelease&&(this.value.startsWith("<0.0.0")||u.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&u.operator.startsWith(">")||this.operator.startsWith("<")&&u.operator.startsWith("<")||this.semver.version===u.semver.version&&this.operator.includes("=")&&u.operator.includes("=")||a(this.semver,"<",u.semver,d)&&this.operator.startsWith(">")&&u.operator.startsWith("<")||a(this.semver,">",u.semver,d)&&this.operator.startsWith("<")&&u.operator.startsWith(">")))}}wp=t;let n=Hg(),{safeRe:r,t:s}=Cc(),a=sx(),i=Xd(),o=Qt(),c=lr();return wp}var xp,s0;function eh(){if(s0)return xp;s0=1;let e=lr();return xp=(t,n,r)=>{try{n=new e(n,r)}catch{return!1}return n.test(t)},xp}var kp,a0;function xC(){if(a0)return kp;a0=1;let e=lr();return kp=(t,n)=>new e(t,n).set.map(r=>r.map(s=>s.value).join(" ").trim().split(" ")),kp}var Ep,i0;function kC(){if(i0)return Ep;i0=1;let e=Qt(),t=lr();return Ep=(n,r,s)=>{let a=null,i=null,o=null;try{o=new t(r,s)}catch{return null}return n.forEach(c=>{o.test(c)&&(!a||i.compare(c)===-1)&&(a=c,i=new e(a,s))}),a},Ep}var Sp,o0;function EC(){if(o0)return Sp;o0=1;let e=Qt(),t=lr();return Sp=(n,r,s)=>{let a=null,i=null,o=null;try{o=new t(r,s)}catch{return null}return n.forEach(c=>{o.test(c)&&(!a||i.compare(c)===1)&&(a=c,i=new e(a,s))}),a},Sp}var Op,c0;function SC(){if(c0)return Op;c0=1;let e=Qt(),t=lr(),n=Yd();return Op=(r,s)=>{r=new t(r,s);let a=new e("0.0.0");if(r.test(a)||(a=new e("0.0.0-0"),r.test(a)))return a;a=null;for(let i=0;i<r.set.length;++i){let o=r.set[i],c=null;o.forEach(l=>{let u=new e(l.semver.version);switch(l.operator){case">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":(!c||n(u,c))&&(c=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${l.operator}`)}}),c&&(!a||n(a,c))&&(a=c)}return a&&r.test(a)?a:null},Op}var Ip,l0;function OC(){if(l0)return Ip;l0=1;let e=lr();return Ip=(t,n)=>{try{return new e(t,n).range||"*"}catch{return null}},Ip}var Tp,u0;function Xg(){if(u0)return Tp;u0=1;let e=Qt(),t=Qd(),{ANY:n}=t,r=lr(),s=eh(),a=Yd(),i=Jg(),o=Kg(),c=Gg();return Tp=(l,u,d,h)=>{l=new e(l,h),u=new r(u,h);let p,f,m,v,w;switch(d){case">":p=a,f=o,m=i,v=">",w=">=";break;case"<":p=i,f=c,m=a,v="<",w="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(l,u,h))return!1;for(let y=0;y<u.set.length;++y){let x=u.set[y],k=null,O=null;if(x.forEach($=>{$.semver===n&&($=new t(">=0.0.0")),k=k||$,O=O||$,p($.semver,k.semver,h)?k=$:m($.semver,O.semver,h)&&(O=$)}),k.operator===v||k.operator===w||(!O.operator||O.operator===v)&&f(l,O.semver)||O.operator===w&&m(l,O.semver))return!1}return!0},Tp}var Ap,d0;function IC(){if(d0)return Ap;d0=1;let e=Xg();return Ap=(t,n,r)=>e(t,n,">",r),Ap}var $p,h0;function TC(){if(h0)return $p;h0=1;let e=Xg();return $p=(t,n,r)=>e(t,n,"<",r),$p}var Cp,p0;function AC(){if(p0)return Cp;p0=1;let e=lr();return Cp=(t,n,r)=>(t=new e(t,r),n=new e(n,r),t.intersects(n,r)),Cp}var Np,f0;function $C(){if(f0)return Np;f0=1;let e=eh(),t=cr();return Np=(n,r,s)=>{let a=[],i=null,o=null,c=n.sort((h,p)=>t(h,p,s));for(let h of c)e(h,r,s)?(o=h,i||(i=h)):(o&&a.push([i,o]),o=null,i=null);i&&a.push([i,null]);let l=[];for(let[h,p]of a)h===p?l.push(h):!p&&h===c[0]?l.push("*"):p?h===c[0]?l.push(`<=${p}`):l.push(`${h} - ${p}`):l.push(`>=${h}`);let u=l.join(" || "),d=typeof r.raw=="string"?r.raw:String(r);return u.length<d.length?u:r},Np}var Pp,m0;function CC(){if(m0)return Pp;m0=1;let e=lr(),t=Qd(),{ANY:n}=t,r=eh(),s=cr(),a=(d,h,p={})=>{if(d===h)return!0;d=new e(d,p),h=new e(h,p);let f=!1;e:for(let m of d.set){for(let v of h.set){let w=c(m,v,p);if(f=f||w!==null,w)continue e}if(f)return!1}return!0},i=[new t(">=0.0.0-0")],o=[new t(">=0.0.0")],c=(d,h,p)=>{if(d===h)return!0;if(d.length===1&&d[0].semver===n){if(h.length===1&&h[0].semver===n)return!0;p.includePrerelease?d=i:d=o}if(h.length===1&&h[0].semver===n){if(p.includePrerelease)return!0;h=o}let f=new Set,m,v;for(let _ of d)_.operator===">"||_.operator===">="?m=l(m,_,p):_.operator==="<"||_.operator==="<="?v=u(v,_,p):f.add(_.semver);if(f.size>1)return null;let w;if(m&&v&&(w=s(m.semver,v.semver,p),w>0||w===0&&(m.operator!==">="||v.operator!=="<=")))return null;for(let _ of f){if(m&&!r(_,String(m),p)||v&&!r(_,String(v),p))return null;for(let P of h)if(!r(_,String(P),p))return!1;return!0}let y,x,k,O,$=v&&!p.includePrerelease&&v.semver.prerelease.length?v.semver:!1,I=m&&!p.includePrerelease&&m.semver.prerelease.length?m.semver:!1;$&&$.prerelease.length===1&&v.operator==="<"&&$.prerelease[0]===0&&($=!1);for(let _ of h){if(O=O||_.operator===">"||_.operator===">=",k=k||_.operator==="<"||_.operator==="<=",m){if(I&&_.semver.prerelease&&_.semver.prerelease.length&&_.semver.major===I.major&&_.semver.minor===I.minor&&_.semver.patch===I.patch&&(I=!1),_.operator===">"||_.operator===">="){if(y=l(m,_,p),y===_&&y!==m)return!1}else if(m.operator===">="&&!r(m.semver,String(_),p))return!1}if(v){if($&&_.semver.prerelease&&_.semver.prerelease.length&&_.semver.major===$.major&&_.semver.minor===$.minor&&_.semver.patch===$.patch&&($=!1),_.operator==="<"||_.operator==="<="){if(x=u(v,_,p),x===_&&x!==v)return!1}else if(v.operator==="<="&&!r(v.semver,String(_),p))return!1}if(!_.operator&&(v||m)&&w!==0)return!1}return!(m&&k&&!v&&w!==0||v&&O&&!m&&w!==0||I||$)},l=(d,h,p)=>{if(!d)return h;let f=s(d.semver,h.semver,p);return f>0?d:f<0||h.operator===">"&&d.operator===">="?h:d},u=(d,h,p)=>{if(!d)return h;let f=s(d.semver,h.semver,p);return f<0?d:f>0||h.operator==="<"&&d.operator==="<="?h:d};return Pp=a,Pp}var jp,g0;function NC(){if(g0)return jp;g0=1;let e=Cc(),t=Kd(),n=Qt(),r=tx(),s=Vi(),a=cC(),i=lC(),o=uC(),c=dC(),l=hC(),u=pC(),d=fC(),h=mC(),p=cr(),f=gC(),m=yC(),v=Wg(),w=_C(),y=vC(),x=Yd(),k=Jg(),O=nx(),$=rx(),I=Gg(),_=Kg(),P=sx(),T=bC(),Z=Qd(),ze=lr(),et=eh(),B=xC(),M=kC(),z=EC(),ee=SC(),oe=OC(),ne=Xg(),le=IC(),ke=TC(),Se=AC(),De=$C(),Fe=CC();return jp={parse:s,valid:a,clean:i,inc:o,diff:c,major:l,minor:u,patch:d,prerelease:h,compare:p,rcompare:f,compareLoose:m,compareBuild:v,sort:w,rsort:y,gt:x,lt:k,eq:O,neq:$,gte:I,lte:_,cmp:P,coerce:T,Comparator:Z,Range:ze,satisfies:et,toComparators:B,maxSatisfying:M,minSatisfying:z,minVersion:ee,validRange:oe,outside:ne,gtr:le,ltr:ke,intersects:Se,simplifyRange:De,subset:Fe,SemVer:n,re:e.re,src:e.src,tokens:e.t,SEMVER_SPEC_VERSION:t.SEMVER_SPEC_VERSION,RELEASE_TYPES:t.RELEASE_TYPES,compareIdentifiers:r.compareIdentifiers,rcompareIdentifiers:r.rcompareIdentifiers},jp}NC();function Rp(e){return`Invalid prompt identifier format: "${e}". Expected one of:
22
+ - "prompt-name" (for private prompts)
23
+ - "owner/prompt-name" (for prompts with explicit owner)
24
+ - "prompt-name:commit-hash" (with commit reference)
25
+ - "owner/prompt-name:commit-hash" (with owner and commit)`}var Df=class extends Error{constructor(t){super(t),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}},Ff=class extends Error{constructor(t){super(t),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithNotFoundError",this.status=404}};function y0(e){return e!=null&&typeof e=="object"&&"name"in e&&e?.name==="LangSmithNotFoundError"}async function se(e,t,n){let r;if(e.ok){n&&(r=await e.text());return}if(e.status===403)try{(await e.json())?.error==="org_scoped_key_requires_workspace"&&(r="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable.")}catch{let i=new Error(`${e.status} ${e.statusText}`);throw i.status=e?.status,i}if(r===void 0)try{r=await e.text()}catch{r=""}let s=`Failed to ${t}. Received status [${e.status}]: ${e.statusText}. Message: ${r}`;if(e.status===404)throw new Ff(s);if(e.status===409)throw new Df(s);let a=new Error(s);throw a.status=e.status,a}var ax="ERR_CONFLICTING_ENDPOINTS",Uf=class extends Error{constructor(){super("You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT and LANGSMITH_RUNS_ENDPOINTS."),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:ax}),this.name="ConflictingEndpointsError"}};function PC(e){return typeof e=="object"&&e!==null&&e.code===ax}function Cr(e){if(!e||e.split("/").length>2||e.startsWith("/")||e.endsWith("/")||e.split(":").length>2)throw new Error(Rp(e));let[t,n]=e.split(":"),r=n||"latest";if(t.includes("/")){let[s,a]=t.split("/",2);if(!s||!a)throw new Error(Rp(e));return[s,a,r]}else{if(!t)throw new Error(Rp(e));return["-",t,r]}}var _0="[...]",jC={result:"[Circular]"},fu=[],Ka=[],RC=new TextEncoder;function LC(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function al(e){return RC.encode(e)}function ix(e){if(e&&typeof e=="object"&&e!==null){if(e instanceof Map)return Object.fromEntries(e);if(e instanceof Set)return Array.from(e);if(e instanceof Date)return e.toISOString();if(e instanceof RegExp)return e.toString();if(e instanceof Error)return{name:e.name,message:e.message}}else if(typeof e=="bigint")return e.toString();return e}function MC(e){return function(t,n){return ix(n)}}function vn(e,t,n,r,s){try{let a=JSON.stringify(e,MC(n),r);return al(a)}catch(a){if(!a.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${t?`
26
+ Context: ${t}`:""}`),al("[Unserializable]");Ct("SUPPRESS_CIRCULAR_JSON_WARNINGS")!=="true"&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${t?`
27
+ Context: ${t}`:""}`),typeof s>"u"&&(s=LC()),Bf(e,"",0,[],void 0,0,s);let i;try{Ka.length===0?i=JSON.stringify(e,n,r):i=JSON.stringify(e,zC(n),r)}catch{return al("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;fu.length!==0;){let o=fu.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return al(i)}}function Lp(e,t,n,r){var s=Object.getOwnPropertyDescriptor(r,n);s.get!==void 0?s.configurable?(Object.defineProperty(r,n,{value:e}),fu.push([r,n,t,s])):Ka.push([t,n,e]):(r[n]=e,fu.push([r,n,t]))}function Bf(e,t,n,r,s,a,i){a+=1;var o;if(typeof e=="object"&&e!==null){for(o=0;o<r.length;o++)if(r[o]===e){Lp(jC,e,t,s);return}if(typeof i.depthLimit<"u"&&a>i.depthLimit){Lp(_0,e,t,s);return}if(typeof i.edgesLimit<"u"&&n+1>i.edgesLimit){Lp(_0,e,t,s);return}if(r.push(e),Array.isArray(e))for(o=0;o<e.length;o++)Bf(e[o],o,o,r,e,a,i);else{e=ix(e);var c=Object.keys(e);for(o=0;o<c.length;o++){var l=c[o];Bf(e[l],l,o,r,e,a,i)}}r.pop()}}function zC(e){return e=typeof e<"u"?e:function(t,n){return n},function(t,n){if(Ka.length>0)for(var r=0;r<Ka.length;r++){var s=Ka[r];if(s[1]===t&&s[0]===n){n=s[2],Ka.splice(r,1);break}}return e.call(this,t,n)}}function v0(e){return typeof e=="string"&&e.length>0&&!e.includes("Z")&&!e.includes("+")&&!e.includes("-",10)?e+"Z":e}function to(e){return{...e,start_time:v0(e.start_time),end_time:v0(e.end_time)}}function b0(e,t,n){if(n)return e;let r=X1(),s=t??Y1(),a=e.extra??{},i=a.metadata;return e.extra={...a,runtime:{...r,...a?.runtime},metadata:{...s,...s.revision_id||"revision_id"in e&&e.revision_id?{revision_id:("revision_id"in e?e.revision_id:void 0)??s.revision_id}:{},...i}},e}var DC=e=>{let t=e?.toString()??Ct("TRACING_SAMPLING_RATE");if(t===void 0)return;let n=parseFloat(t);if(n<0||n>1)throw new Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${n}`);return n},FC=e=>{let t=e.replace("http://","").replace("https://","").split("/")[0].split(":")[0];return t==="localhost"||t==="127.0.0.1"||t==="::1"};async function UC(e){let t=[];for await(let n of e)t.push(n);return t}function il(e){if(e!==void 0)return e.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}var BC=async e=>{if(e?.status===429){let t=parseInt(e.headers.get("retry-after")??"10",10)*1e3;if(t>0)return await new Promise(n=>setTimeout(n,t)),!0}return!1};function w0(e){return typeof e=="number"?Number(e.toFixed(4)):e}var ZC=24*1024*1024,ox=1024*1024*1024,VC=1e4,qC=100,x0="https://api.smith.langchain.com",Zf=class{constructor(t){Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"sizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"maxSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSizeBytes=t??ox}peek(){return this.items[0]}push(t){let n,r=new Promise(a=>{n=a}),s=vn(t.item,`Serializing run with id: ${t.item.id}`).length;return this.sizeBytes+s>this.maxSizeBytes&&this.items.length>0?(console.warn(`AutoBatchQueue size limit (${this.maxSizeBytes} bytes) exceeded. Dropping run with id: ${t.item.id}. Current queue size: ${this.sizeBytes} bytes, attempted addition: ${s} bytes.`),n(),r):(this.items.push({action:t.action,payload:t.item,otelContext:t.otelContext,apiKey:t.apiKey,apiUrl:t.apiUrl,itemPromiseResolve:n,itemPromise:r,size:s}),this.sizeBytes+=s,r)}pop({upToSizeBytes:t,upToSize:n}){if(t<1)throw new Error("Number of bytes to pop off may not be less than 1.");let r=[],s=0;for(;s+(this.peek()?.size??0)<t&&this.items.length>0&&r.length<n;){let a=this.items.shift();a&&(r.push(a),s+=a.size,this.sizeBytes-=a.size)}if(r.length===0&&this.items.length>0){let a=this.items.shift();r.push(a),s+=a.size,this.sizeBytes-=a.size}return[r.map(a=>({action:a.action,item:a.payload,otelContext:a.otelContext,apiKey:a.apiKey,apiUrl:a.apiUrl,size:a.size})),()=>r.forEach(a=>a.itemPromiseResolve())]}},pi=class e{get _fetch(){return this.fetchImplementation||QA(this.debug)}constructor(t={}){Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"webUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"workspaceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchIngestCaller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout_ms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tenantId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hideInputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideOutputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"omitTracedRuntimeInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingSampleRate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filteredPostUuids",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"autoBatchTracing",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"autoBatchQueue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchAggregationDelayMs",{enumerable:!0,configurable:!0,writable:!0,value:250}),Object.defineProperty(this,"batchSizeBytesLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchSizeLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockOnRootRunFinalization",{enumerable:!0,configurable:!0,writable:!0,value:Or("LANGSMITH_TRACING_BACKGROUND")==="false"}),Object.defineProperty(this,"traceBatchConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(this,"_serverInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_getServerInfoPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manualFlushMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchImplementation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedLSEnvVarsForMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_promptCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_multipartDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_runCompressionDisabled",{enumerable:!0,configurable:!0,writable:!0,value:Ct("DISABLE_RUN_COMPRESSION")==="true"}),Object.defineProperty(this,"failedTracesDir",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"failedTracesMaxBytes",{enumerable:!0,configurable:!0,writable:!0,value:100*1024*1024}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:Or("LANGSMITH_DEBUG")==="true"});let n=e.getDefaultClientConfig();if(this.tracingSampleRate=DC(t.tracingSamplingRate),this.apiUrl=il(t.apiUrl??n.apiUrl)??"",this.apiUrl.endsWith("/")&&(this.apiUrl=this.apiUrl.slice(0,-1)),this.apiKey=il(t.apiKey??n.apiKey),this.webUrl=il(t.webUrl??n.webUrl),this.webUrl?.endsWith("/")&&(this.webUrl=this.webUrl.slice(0,-1)),this.workspaceId=il(t.workspaceId??Ct("WORKSPACE_ID")),this.timeout_ms=t.timeout_ms??9e4,this.caller=new xv({...t.callerOptions??{},maxRetries:4,debug:t.debug??this.debug}),this.traceBatchConcurrency=t.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw new Error("Trace batch concurrency must be positive.");this.debug=t.debug??this.debug,this.fetchImplementation=t.fetchImplementation,this.failedTracesDir=Ct("FAILED_TRACES_DIR")||void 0;let r=Ct("FAILED_TRACES_MAX_MB");if(r){let a=parseInt(r,10);Number.isFinite(a)&&a>0&&(this.failedTracesMaxBytes=a*1024*1024)}let s=t.maxIngestMemoryBytes??ox;this.batchIngestCaller=new xv({maxRetries:4,maxConcurrency:this.traceBatchConcurrency,maxQueueSizeBytes:s,...t.callerOptions??{},onFailedResponseHook:BC,debug:t.debug??this.debug}),this.hideInputs=t.hideInputs??t.anonymizer??n.hideInputs,this.hideOutputs=t.hideOutputs??t.anonymizer??n.hideOutputs,this.omitTracedRuntimeInfo=t.omitTracedRuntimeInfo??!1,this.autoBatchTracing=t.autoBatchTracing??this.autoBatchTracing,this.autoBatchQueue=new Zf(s),this.blockOnRootRunFinalization=t.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=t.batchSizeBytesLimit,this.batchSizeLimit=t.batchSizeLimit,this.fetchOptions=t.fetchOptions||{},this.manualFlushMode=t.manualFlushMode??this.manualFlushMode,Q1()&&(this.langSmithToOTELTranslator=new zf),this.cachedLSEnvVarsForMetadata=Y1(),t.cache!==void 0&&t.disablePromptCache&&Ml("Both 'cache' and 'disablePromptCache' were provided. The 'cache' parameter is deprecated and will be removed in a future version. Using 'cache' parameter value."),t.cache!==void 0?(Ml("The 'cache' parameter is deprecated and will be removed in a future version. Use 'configureGlobalPromptCache()' to configure the global cache, or 'disablePromptCache: true' to disable caching for this client."),t.cache===!1?this._promptCache=void 0:t.cache===!0?this._promptCache=dv:this._promptCache=t.cache):t.disablePromptCache||(this._promptCache=dv)}static getDefaultClientConfig(){let t=Ct("API_KEY"),n=Ct("ENDPOINT")??x0,r=Ct("HIDE_INPUTS")==="true",s=Ct("HIDE_OUTPUTS")==="true";return{apiUrl:n,apiKey:t,webUrl:void 0,hideInputs:r,hideOutputs:s}}getHostUrl(){return this.webUrl?this.webUrl:FC(this.apiUrl)?(this.webUrl="http://localhost:3000",this.webUrl):this.apiUrl.endsWith("/api/v1")?(this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl):this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api")?(this.webUrl=this.apiUrl.replace("/api",""),this.webUrl):this.apiUrl.split(".",1)[0].includes("dev")?(this.webUrl="https://dev.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("eu")?(this.webUrl="https://eu.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("beta")?(this.webUrl="https://beta.smith.langchain.com",this.webUrl):(this.webUrl="https://smith.langchain.com",this.webUrl)}get headers(){let t={"User-Agent":`langsmith-js/${J1}`};return this.apiKey&&(t["x-api-key"]=`${this.apiKey}`),this.workspaceId&&(t["x-tenant-id"]=this.workspaceId),t}_getPlatformEndpointPath(t){return this.apiUrl.slice(-3)!=="/v1"&&this.apiUrl.slice(-4)!=="/v1/"?`/v1/platform/${t}`:`/platform/${t}`}async processInputs(t){return this.hideInputs===!1?t:this.hideInputs===!0?{}:typeof this.hideInputs=="function"?this.hideInputs(t):t}async processOutputs(t){return this.hideOutputs===!1?t:this.hideOutputs===!0?{}:typeof this.hideOutputs=="function"?this.hideOutputs(t):t}async prepareRunCreateOrUpdateInputs(t){let n={...t};return n.inputs!==void 0&&(n.inputs=await this.processInputs(n.inputs)),n.outputs!==void 0&&(n.outputs=await this.processOutputs(n.outputs)),n}async _getResponse(t,n){let r=n?.toString()??"",s=`${this.apiUrl}${t}?${r}`;return await this.caller.call(async()=>{let a=await this._fetch(s,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,`fetch ${t}`),a})}async _get(t,n){return(await this._getResponse(t,n)).json()}async*_getPaginated(t,n=new URLSearchParams,r){let s=Number(n.get("offset"))||0,a=Number(n.get("limit"))||100;for(;;){n.set("offset",String(s)),n.set("limit",String(a));let i=`${this.apiUrl}${t}?${n}`,o=await this.caller.call(async()=>{let l=await this._fetch(i,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(l,`fetch ${t}`),l}),c=r?r(await o.json()):await o.json();if(c.length===0||(yield c,c.length<a))break;s+=c.length}}async*_getCursorPaginatedList(t,n=null,r="POST",s="runs"){let a=n?{...n}:{};for(;;){let i=JSON.stringify(a),o=await(await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}${t}`,{method:r,headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(l,`fetch ${t}`),l})).json();if(!o||!o[s])break;yield o[s];let c=o.cursors;if(!c||!c.next)break;a.cursor=c.next}}_shouldSample(){return this.tracingSampleRate===void 0?!0:Math.random()<this.tracingSampleRate}_filterForSampling(t,n=!1){if(this.tracingSampleRate===void 0)return t;if(n){let r=[];for(let s of t)this.filteredPostUuids.has(s.trace_id)?s.id===s.trace_id&&this.filteredPostUuids.delete(s.trace_id):r.push(s);return r}else{let r=[];for(let s of t){let a=s.trace_id??s.id;this.filteredPostUuids.has(a)||(s.id===a?this._shouldSample()?r.push(s):this.filteredPostUuids.add(a):r.push(s))}return r}}async _getBatchSizeLimitBytes(){let t=await this._ensureServerInfo();return this.batchSizeBytesLimit??t?.batch_ingest_config?.size_limit_bytes??ZC}async _getBatchSizeLimit(){let t=await this._ensureServerInfo();return this.batchSizeLimit??t?.batch_ingest_config?.size_limit??qC}async _getDatasetExamplesMultiPartSupport(){return(await this._ensureServerInfo()).instance_flags?.dataset_examples_multipart_enabled??!1}drainAutoBatchQueue({batchSizeLimitBytes:t,batchSizeLimit:n}){let r=[];for(;this.autoBatchQueue.items.length>0;){let[s,a]=this.autoBatchQueue.pop({upToSizeBytes:t,upToSize:n});if(!s.length){a();break}let i=s.reduce((l,u)=>{let d=u.apiUrl??this.apiUrl,h=u.apiKey??this.apiKey,p=u.apiKey===this.apiKey&&u.apiUrl===this.apiUrl?"default":`${d}|${h}`;return l[p]||(l[p]=[]),l[p].push(u),l},{}),o=[];for(let[l,u]of Object.entries(i)){let d=this._processBatch(u,{apiUrl:l==="default"?void 0:l.split("|")[0],apiKey:l==="default"?void 0:l.split("|")[1]});o.push(d)}let c=Promise.all(o).finally(a);r.push(c)}return Promise.all(r)}static async _writeTraceToFallbackDir(t,n,r,s,a){try{let i=typeof n=="string"?Buffer.from(n,"utf8"):Buffer.from(n),o=JSON.stringify({version:1,endpoint:s,headers:r,body_base64:i.toString("base64")}),c=`trace_${Date.now()}_${Zs().slice(0,8)}.json`,l=Nf.join(t,c);if(e._fallbackDirsCreated.has(t)||(await I$(t),e._fallbackDirsCreated.add(t)),a!==void 0&&a>0)try{let u=(await A$(t)).filter(h=>h.startsWith("trace_")&&h.endsWith(".json")),d=0;for(let h of u){let{size:p}=await $$(Nf.join(t,h));d+=p}if(d>=a){console.warn(`Could not write trace to fallback dir ${t} as it's already over size limit (${d} bytes >= ${a} bytes). Increase LANGSMITH_FAILED_TRACES_MAX_MB if possible.`);return}}catch{}await T$(l,o),console.warn(`LangSmith trace upload failed; data saved to ${l} for later replay.`)}catch(i){console.error(`LangSmith tracing error: could not write trace to fallback dir ${t}:`,i)}}async _processBatch(t,n){if(!t.length)return;let r=t.reduce((s,a)=>s+(a.size??0),0);try{if(this.langSmithToOTELTranslator!==void 0)this._sendBatchToOTELTranslator(t);else{let s={runCreates:t.filter(i=>i.action==="create").map(i=>i.item),runUpdates:t.filter(i=>i.action==="update").map(i=>i.item)},a=await this._ensureServerInfo();if(!this._multipartDisabled&&(a?.batch_ingest_config?.use_multipart_endpoint??!0)){let i=!this._runCompressionDisabled&&a?.instance_flags?.gzip_body_enabled;try{await this.multipartIngestRuns(s,{...n,useGzip:i,sizeBytes:r})}catch(o){if(y0(o))this._multipartDisabled=!0,await this.batchIngestRuns(s,{...n,sizeBytes:r});else throw o}}else await this.batchIngestRuns(s,{...n,sizeBytes:r})}}catch(s){console.error("Error exporting batch:",s)}}_sendBatchToOTELTranslator(t){if(this.langSmithToOTELTranslator!==void 0){let n=new Map,r=[];for(let s of t)s.item.id&&s.otelContext&&(n.set(s.item.id,s.otelContext),s.action==="create"?r.push({operation:"post",id:s.item.id,trace_id:s.item.trace_id??s.item.id,run:s.item}):r.push({operation:"patch",id:s.item.id,trace_id:s.item.trace_id??s.item.id,run:s.item}));this.langSmithToOTELTranslator.exportBatch(r,n)}}async processRunOperation(t){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,t.item=b0(t.item,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);let n=this.autoBatchQueue.push(t);if(this.manualFlushMode)return n;let r=await this._getBatchSizeLimitBytes(),s=await this._getBatchSizeLimit();return(this.autoBatchQueue.sizeBytes>r||this.autoBatchQueue.items.length>s)&&this.drainAutoBatchQueue({batchSizeLimitBytes:r,batchSizeLimit:s}),this.autoBatchQueue.items.length>0&&(this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this.drainAutoBatchQueue({batchSizeLimitBytes:r,batchSizeLimit:s})},this.autoBatchAggregationDelayMs)),n}async _getServerInfo(){let t=await(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(VC),...this.fetchOptions});return await se(n,"get server info"),n})).json();return this.debug&&console.log(`
28
+ === LangSmith Server Configuration ===
29
+ `+JSON.stringify(t,null,2)+`
30
+ `),t}async _ensureServerInfo(){return this._getServerInfoPromise===void 0&&(this._getServerInfoPromise=(async()=>{if(this._serverInfo===void 0)try{this._serverInfo=await this._getServerInfo()}catch(t){console.warn(`[LANGSMITH]: Failed to fetch info on supported operations. Falling back to batch operations and default limits. Info: ${t.status??"Unspecified status code"} ${t.message}`)}return this._serverInfo??{}})()),this._getServerInfoPromise.then(t=>(this._serverInfo===void 0&&(this._getServerInfoPromise=void 0),t))}async _getSettings(){return this.settings||(this.settings=this._get("/settings")),await this.settings}async flush(){let t=await this._getBatchSizeLimitBytes(),n=await this._getBatchSizeLimit();await this.drainAutoBatchQueue({batchSizeLimitBytes:t,batchSizeLimit:n})}_cloneCurrentOTELContext(){let t=ex(),n=F$();if(this.langSmithToOTELTranslator!==void 0){let r=t.getActiveSpan();if(r)return t.setSpan(n.active(),r)}}async createRun(t,n){if(!this._filterForSampling([t]).length)return;let r={...this.headers,"Content-Type":"application/json"},s=t.project_name;delete t.project_name;let a=await this.prepareRunCreateOrUpdateInputs({session_name:s,...t,start_time:t.start_time??Date.now()});if(this.autoBatchTracing&&a.trace_id!==void 0&&a.dotted_order!==void 0){let c=this._cloneCurrentOTELContext();this.processRunOperation({action:"create",item:a,otelContext:c,apiKey:n?.apiKey,apiUrl:n?.apiUrl}).catch(console.error);return}let i=b0(a,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);n?.apiKey!==void 0&&(r["x-api-key"]=n.apiKey),n?.workspaceId!==void 0&&(r["x-tenant-id"]=n.workspaceId);let o=vn(i,`Creating run with id: ${i.id}`);await this.caller.call(async()=>{let c=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs`,{method:"POST",headers:r,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"create run",!0),c})}async batchIngestRuns({runCreates:t,runUpdates:n},r){if(t===void 0&&n===void 0)return;let s=await Promise.all(t?.map(c=>this.prepareRunCreateOrUpdateInputs(c))??[]),a=await Promise.all(n?.map(c=>this.prepareRunCreateOrUpdateInputs(c))??[]);if(s.length>0&&a.length>0){let c=s.reduce((u,d)=>(d.id&&(u[d.id]=d),u),{}),l=[];for(let u of a)u.id!==void 0&&c[u.id]?c[u.id]={...c[u.id],...u}:l.push(u);s=Object.values(c),a=l}let i={post:s,patch:a};if(!i.post.length&&!i.patch.length)return;let o={post:[],patch:[]};for(let c of["post","patch"]){let l=c,u=i[l].reverse(),d=u.pop();for(;d!==void 0;)o[l].push(d),d=u.pop()}if(o.post.length>0||o.patch.length>0){let c=o.post.map(l=>l.id).concat(o.patch.map(l=>l.id)).join(",");await this._postBatchIngestRuns(vn(o,`Ingesting runs with ids: ${c}`),r)}}async _postBatchIngestRuns(t,n){let r={...this.headers,"Content-Type":"application/json",Accept:"application/json"};n?.apiKey!==void 0&&(r["x-api-key"]=n.apiKey),await this.batchIngestCaller.callWithOptions({sizeBytes:n?.sizeBytes},async()=>{let s=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs/batch`,{method:"POST",headers:r,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:t});return await se(s,"batch create run",!0),s})}async multipartIngestRuns({runCreates:t,runUpdates:n},r){if(t===void 0&&n===void 0)return;let s={},a=[];for(let l of t??[]){let u=await this.prepareRunCreateOrUpdateInputs(l);u.id!==void 0&&u.attachments!==void 0&&(s[u.id]=u.attachments),delete u.attachments,a.push(u)}let i=[];for(let l of n??[])i.push(await this.prepareRunCreateOrUpdateInputs(l));if(a.find(l=>l.trace_id===void 0||l.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when creating a run');if(i.find(l=>l.trace_id===void 0||l.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when updating a run');if(a.length>0&&i.length>0){let l=a.reduce((d,h)=>(h.id&&(d[h.id]=h),d),{}),u=[];for(let d of i)d.id!==void 0&&l[d.id]?l[d.id]={...l[d.id],...d}:u.push(d);a=Object.values(l),i=u}if(a.length===0&&i.length===0)return;let o=[],c=[];for(let[l,u]of[["post",a],["patch",i]])for(let d of u){let{inputs:h,outputs:p,events:f,extra:m,error:v,serialized:w,attachments:y,...x}=d,k={inputs:h,outputs:p,events:f,extra:m,error:v,serialized:w},O=vn(x,`Serializing for multipart ingestion of run with id: ${x.id}`);c.push({name:`${l}.${x.id}`,payload:new Blob([O],{type:`application/json; length=${O.length}`})});for(let[$,I]of Object.entries(k)){if(I===void 0)continue;let _=vn(I,`Serializing ${$} for multipart ingestion of run with id: ${x.id}`);c.push({name:`${l}.${x.id}.${$}`,payload:new Blob([_],{type:`application/json; length=${_.length}`})})}if(x.id!==void 0){let $=s[x.id];if($){delete s[x.id];for(let[I,_]of Object.entries($)){let P,T;if(Array.isArray(_)?[P,T]=_:(P=_.mimeType,T=_.data),I.includes(".")){console.warn(`Skipping attachment '${I}' for run ${x.id}: Invalid attachment name. Attachment names must not contain periods ('.'). Please rename the attachment and try again.`);continue}c.push({name:`attachment.${x.id}.${I}`,payload:new Blob([T],{type:`${P}; length=${T.byteLength}`})})}}}o.push(`trace=${x.trace_id},id=${x.id}`)}await this._sendMultipartRequest(c,o.join("; "),r)}async _createNodeFetchBody(t,n){let r=[];for(let s of t)r.push(new Blob([`--${n}\r
31
+ `])),r.push(new Blob([`Content-Disposition: form-data; name="${s.name}"\r
32
+ `,`Content-Type: ${s.payload.type}\r
33
+ \r
34
+ `])),r.push(s.payload),r.push(new Blob([`\r
35
+ `]));return r.push(new Blob([`--${n}--\r
36
+ `])),await new Blob(r).arrayBuffer()}async _createMultipartStream(t,n){let r=new TextEncoder;return new ReadableStream({async start(s){let a=async i=>{typeof i=="string"?s.enqueue(r.encode(i)):s.enqueue(i)};for(let i of t){await a(`--${n}\r
37
+ `),await a(`Content-Disposition: form-data; name="${i.name}"\r
38
+ `),await a(`Content-Type: ${i.payload.type}\r
39
+ \r
40
+ `);let o=i.payload.stream().getReader();try{let c;for(;!(c=await o.read()).done;)s.enqueue(c.value)}finally{o.releaseLock()}await a(`\r
41
+ `)}await a(`--${n}--\r
42
+ `),s.close()}})}async _sendMultipartRequest(t,n,r){let s="----LangSmithFormBoundary"+Math.random().toString(36).slice(2),a=()=>this._createNodeFetchBody(t,s),i=()=>this._createMultipartStream(t,s),o=async c=>this.batchIngestCaller.callWithOptions({sizeBytes:r?.sizeBytes},async()=>{let l=await c(),u={...this.headers,"Content-Type":`multipart/form-data; boundary=${s}`};r?.apiKey!==void 0&&(u["x-api-key"]=r.apiKey);let d=l;r?.useGzip&&typeof l=="object"&&"pipeThrough"in l&&(d=l.pipeThrough(new CompressionStream("gzip")),u["Content-Encoding"]="gzip");let h=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs/multipart`,{method:"POST",headers:u,body:d,duplex:"half",signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(h,"Failed to send multipart request",!0),h});try{let c,l=!1;YA()&&!this.multipartStreamingDisabled&&K1()!=="bun"?(l=!0,c=await o(i)):c=await o(a),(!this.multipartStreamingDisabled||l)&&c.status===422&&(r?.apiUrl??this.apiUrl)!==x0&&(console.warn(`Streaming multipart upload to ${r?.apiUrl??this.apiUrl}/runs/multipart failed. This usually means the host does not support chunked uploads. Retrying with a buffered upload for operation "${n}".`),this.multipartStreamingDisabled=!0,c=await o(a))}catch(c){if(y0(c))throw c;if(console.warn(`${c.message.trim()}
43
+
44
+ Context: ${n}`),this.failedTracesDir){let l=await this._createNodeFetchBody(t,s).catch(()=>null);l&&await e._writeTraceToFallbackDir(this.failedTracesDir,l,{"Content-Type":`multipart/form-data; boundary=${s}`},"runs/multipart",this.failedTracesMaxBytes)}}}async updateRun(t,n,r){ve(t),n.inputs&&(n.inputs=await this.processInputs(n.inputs)),n.outputs&&(n.outputs=await this.processOutputs(n.outputs));let s={...n,id:t};if(!this._filterForSampling([s],!0).length)return;if(this.autoBatchTracing&&s.trace_id!==void 0&&s.dotted_order!==void 0){let o=this._cloneCurrentOTELContext();if(n.end_time!==void 0&&s.parent_run_id===void 0&&this.blockOnRootRunFinalization&&!this.manualFlushMode){await this.processRunOperation({action:"update",item:s,otelContext:o,apiKey:r?.apiKey,apiUrl:r?.apiUrl}).catch(console.error);return}else this.processRunOperation({action:"update",item:s,otelContext:o,apiKey:r?.apiKey,apiUrl:r?.apiUrl}).catch(console.error);return}let a={...this.headers,"Content-Type":"application/json"};r?.apiKey!==void 0&&(a["x-api-key"]=r.apiKey),r?.workspaceId!==void 0&&(a["x-tenant-id"]=r.workspaceId);let i=vn(n,`Serializing payload to update run with id: ${t}`);await this.caller.call(async()=>{let o=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs/${t}`,{method:"PATCH",headers:a,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update run",!0),o})}async readRun(t,{loadChildRuns:n}={loadChildRuns:!1}){ve(t);let r=to(await this._get(`/runs/${t}`));return n&&(r=await this._loadChildRuns(r)),r}async getRunUrl({runId:t,run:n,projectOpts:r}){if(n!==void 0){let s;n.session_id?s=n.session_id:r?.projectName?s=(await this.readProject({projectName:r?.projectName})).id:r?.projectId?s=r?.projectId:s=(await this.readProject({projectName:Ct("PROJECT")||"default"})).id;let a=await this._getTenantId();return`${this.getHostUrl()}/o/${a}/projects/p/${s}/r/${n.id}?poll=true`}else if(t!==void 0){let s=await this.readRun(t);if(!s.app_path)throw new Error(`Run ${t} has no app_path`);return`${this.getHostUrl()}${s.app_path}`}else throw new Error("Must provide either runId or run")}async _loadChildRuns(t){let n=await UC(this.listRuns({isRoot:!1,projectId:t.session_id,traceId:t.trace_id})),r={},s={};n.sort((a,i)=>(a?.dotted_order??"").localeCompare(i?.dotted_order??""));for(let a of n){if(a.parent_run_id===null||a.parent_run_id===void 0)throw new Error(`Child run ${a.id} has no parent`);a.dotted_order?.startsWith(t.dotted_order??"")&&a.id!==t.id&&(a.parent_run_id in r||(r[a.parent_run_id]=[]),r[a.parent_run_id].push(a),s[a.id]=a)}t.child_runs=r[t.id]||[];for(let a in r)a!==t.id&&(s[a].child_runs=r[a]);return t}async*listRuns(t){let{projectId:n,projectName:r,parentRunId:s,traceId:a,referenceExampleId:i,startTime:o,executionOrder:c,isRoot:l,runType:u,error:d,id:h,query:p,filter:f,traceFilter:m,treeFilter:v,limit:w,select:y,order:x}=t,k=[];if(n&&(k=Array.isArray(n)?n:[n]),r){let _=Array.isArray(r)?r:[r],P=await Promise.all(_.map(T=>this.readProject({projectName:T}).then(Z=>Z.id)));k.push(...P)}let O=["app_path","completion_cost","completion_tokens","dotted_order","end_time","error","events","extra","feedback_stats","first_token_time","id","inputs","name","outputs","parent_run_id","parent_run_ids","prompt_cost","prompt_tokens","reference_example_id","run_type","session_id","start_time","status","tags","total_cost","total_tokens","trace_id"],$={session:k.length?k:null,run_type:u,reference_example:i,query:p,filter:f,trace_filter:m,tree_filter:v,execution_order:c,parent_run:s,start_time:o?o.toISOString():null,error:d,id:h,limit:w,trace:a,select:y||O,is_root:l,order:x};$.select.includes("child_run_ids")&&Ml("Deprecated: 'child_run_ids' in the listRuns select parameter is deprecated and will be removed in a future version.");let I=0;for await(let _ of this._getCursorPaginatedList("/runs/query",$)){let P=_.map(to);if(w){if(I>=w)break;if(P.length+I>w){yield*P.slice(0,w-I);break}I+=P.length,yield*P}else yield*P}}async*listGroupRuns(t){let{projectId:n,projectName:r,groupBy:s,filter:a,startTime:i,endTime:o,limit:c,offset:l}=t,u={session_id:n||(await this.readProject({projectName:r})).id,group_by:s,filter:a,start_time:i?i.toISOString():null,end_time:o?o.toISOString():null,limit:Number(c)||100},d=Number(l)||0,h="/runs/group",p=`${this.apiUrl}${h}`;for(;;){let f={...u,offset:d},m=Object.fromEntries(Object.entries(f).filter(([k,O])=>O!==void 0)),v=JSON.stringify(m),w=await(await this.caller.call(async()=>{let k=await this._fetch(p,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:v});return await se(k,`Failed to fetch ${h}`),k})).json(),{groups:y,total:x}=w;if(y.length===0)break;for(let k of y)yield k;if(d+=y.length,d>=x)break}}async*readThread(t){let{threadId:n,projectId:r,projectName:s,isRoot:a=!0,limit:i,filter:o,order:c="asc"}=t;if(!r&&!s)throw new Error("threadId requires projectId or projectName");let l=`eq(thread_id, ${JSON.stringify(n)})`,u=o?`and(${l}, ${o})`:l;yield*this.listRuns({projectId:r??void 0,projectName:s??void 0,isRoot:a,limit:i,filter:u,order:c})}async listThreads(t){let{projectId:n,projectName:r,limit:s,offset:a=0,filter:i,startTime:o,isRoot:c=!0}=t;if(!n&&!r)throw new Error("Either projectId or projectName must be provided");if(n&&r)throw new Error("Provide exactly one of projectId or projectName");let l=n??(await this.readProject({projectName:r})).id,u=o??new Date(Date.now()-1440*60*1e3),d={session:[l],is_root:c,limit:100,order:"desc",select:["id","name","status","start_time","end_time","thread_id","trace_id","run_type","error","tags","session_id","parent_run_id","total_tokens","total_cost","dotted_order","reference_example_id","feedback_stats","app_path","completion_cost","completion_tokens","prompt_cost","prompt_tokens","first_token_time"],start_time:u.toISOString()};i!=null&&(d.filter=i);let h=new Map;for await(let m of this._getCursorPaginatedList("/runs/query",d))for(let v of m){let w=to(v),y=w.thread_id;if(y){let x=h.get(y)??[];x.push(w),h.set(y,x)}}let p=[];for(let[m,v]of h.entries()){v.sort((k,O)=>{let $=k,I=O,_=$.start_time??"",P=I.start_time??"";if(_!==P)return _.localeCompare(P);let T=$.dotted_order??"",Z=I.dotted_order??"";return T.localeCompare(Z)});let w=[...v.map(k=>k.start_time).filter(Boolean)].sort(),y=w.length?w[0]:"",x=w.length?w[w.length-1]:"";p.push({thread_id:m,runs:v,count:v.length,filter:"",total_tokens:0,total_cost:null,min_start_time:y,max_start_time:x,latency_p50:0,latency_p99:0,feedback_stats:null,first_inputs:"",last_outputs:"",last_error:null})}p.sort((m,v)=>{let w=m.max_start_time??"";return(v.max_start_time??"").localeCompare(w)});let f=a>0?p.slice(a):p;return s!==void 0?f.slice(0,s):f}async getRunStats({id:t,trace:n,parentRun:r,runType:s,projectNames:a,projectIds:i,referenceExampleIds:o,startTime:c,endTime:l,error:u,query:d,filter:h,traceFilter:p,treeFilter:f,isRoot:m,dataSourceType:v}){let w=i||[];a&&(w=[...i||[],...await Promise.all(a.map(k=>this.readProject({projectName:k}).then(O=>O.id)))]);let y=Object.fromEntries(Object.entries({id:t,trace:n,parent_run:r,run_type:s,session:w,reference_example:o,start_time:c,end_time:l,error:u,query:d,filter:h,trace_filter:p,tree_filter:f,is_root:m,data_source_type:v}).filter(([k,O])=>O!==void 0)),x=JSON.stringify(y);return await(await this.caller.call(async()=>{let k=await this._fetch(`${this.apiUrl}/runs/stats`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:x});return await se(k,"get run stats"),k})).json()}async shareRun(t,{shareId:n}={}){let r={run_id:t,share_token:n||Zs()};ve(t);let s=JSON.stringify(r),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await se(i,"share run"),i})).json();if(a===null||!("share_token"in a))throw new Error("Invalid response from server");return`${this.getHostUrl()}/public/${a.share_token}/r`}async unshareRun(t){ve(t),await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"unshare run",!0),n})}async readRunSharedLink(t){ve(t);let n=await(await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"read run shared link"),r})).json();if(!(n===null||!("share_token"in n)))return`${this.getHostUrl()}/public/${n.share_token}/r`}async listSharedRuns(t,{runIds:n}={}){let r=new URLSearchParams({share_token:t});if(n!==void 0)for(let s of n)r.append("id",s);return ve(t),(await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/public/${t}/runs${r}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"list shared runs"),s})).json()).map(to)}async readDatasetSharedSchema(t,n){if(!t&&!n)throw new Error("Either datasetId or datasetName must be given");t||(t=(await this.readDataset({datasetName:n})).id),ve(t);let r=await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"read dataset shared schema"),s})).json();return r.url=`${this.getHostUrl()}/public/${r.share_token}/d`,r}async shareDataset(t,n){if(!t&&!n)throw new Error("Either datasetId or datasetName must be given");t||(t=(await this.readDataset({datasetName:n})).id);let r={dataset_id:t};ve(t);let s=JSON.stringify(r),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await se(i,"share dataset"),i})).json();return a.url=`${this.getHostUrl()}/public/${a.share_token}/d`,a}async unshareDataset(t){ve(t),await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"unshare dataset",!0),n})}async readSharedDataset(t){return ve(t),await(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/public/${t}/datasets`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"read shared dataset"),n})).json()}async listSharedExamples(t,n){let r={};n?.exampleIds&&(r.id=n.exampleIds);let s=new URLSearchParams;Object.entries(r).forEach(([o,c])=>{Array.isArray(c)?c.forEach(l=>s.append(o,l)):s.append(o,c)});let a=await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/public/${t}/examples?${s.toString()}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"list shared examples"),o}),i=await a.json();if(!a.ok)throw"detail"in i?new Error(`Failed to list shared examples.
45
+ Status: ${a.status}
46
+ Message: ${Array.isArray(i.detail)?i.detail.join(`
47
+ `):"Unspecified error"}`):new Error(`Failed to list shared examples: ${a.status} ${a.statusText}`);return i.map(o=>({...o,_hostUrl:this.getHostUrl()}))}async createProject({projectName:t,description:n=null,metadata:r=null,upsert:s=!1,projectExtra:a=null,referenceDatasetId:i=null}){let o=s?"?upsert=true":"",c=`${this.apiUrl}/sessions${o}`,l=a||{};r&&(l.metadata=r);let u={name:t,extra:l,description:n};i!==null&&(u.reference_dataset_id=i);let d=JSON.stringify(u);return await(await this.caller.call(async()=>{let h=await this._fetch(c,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:d});return await se(h,"create project"),h})).json()}async updateProject(t,{name:n=null,description:r=null,metadata:s=null,projectExtra:a=null,endTime:i=null}){let o=`${this.apiUrl}/sessions/${t}`,c=a;s&&(c={...c||{},metadata:s});let l=JSON.stringify({name:n,extra:c,description:r,end_time:i?new Date(i).toISOString():null});return await(await this.caller.call(async()=>{let u=await this._fetch(o,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await se(u,"update project"),u})).json()}async hasProject({projectId:t,projectName:n}){let r="/sessions",s=new URLSearchParams;if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(t!==void 0)ve(t),r+=`/${t}`;else if(n!==void 0)s.append("name",n);else throw new Error("Must provide projectName or projectId");let a=await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}${r}?${s}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(i,"has project"),i});try{let i=await a.json();return a.ok?Array.isArray(i)?i.length>0:!0:!1}catch{return!1}}async readProject({projectId:t,projectName:n,includeStats:r}){let s="/sessions",a=new URLSearchParams;if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(t!==void 0)ve(t),s+=`/${t}`;else if(n!==void 0)a.append("name",n);else throw new Error("Must provide projectName or projectId");r!==void 0&&a.append("include_stats",r.toString());let i=await this._get(s,a),o;if(Array.isArray(i)){if(i.length===0)throw new Error(`Project[id=${t}, name=${n}] not found`);o=i[0]}else o=i;return o}async getProjectUrl({projectId:t,projectName:n}){if(t===void 0&&n===void 0)throw new Error("Must provide either projectName or projectId");let r=await this.readProject({projectId:t,projectName:n}),s=await this._getTenantId();return`${this.getHostUrl()}/o/${s}/projects/p/${r.id}`}async getDatasetUrl({datasetId:t,datasetName:n}){if(t===void 0&&n===void 0)throw new Error("Must provide either datasetName or datasetId");let r=await this.readDataset({datasetId:t,datasetName:n}),s=await this._getTenantId();return`${this.getHostUrl()}/o/${s}/datasets/${r.id}`}async _getTenantId(){if(this._tenantId!==null)return this._tenantId;let t=new URLSearchParams({limit:"1"});for await(let n of this._getPaginated("/sessions",t))return this._tenantId=n[0].tenant_id,n[0].tenant_id;throw new Error("No projects found to resolve tenant.")}async*listProjects({projectIds:t,name:n,nameContains:r,referenceDatasetId:s,referenceDatasetName:a,includeStats:i,datasetVersion:o,referenceFree:c,metadata:l}={}){let u=new URLSearchParams;if(t!==void 0)for(let d of t)u.append("id",d);if(n!==void 0&&u.append("name",n),r!==void 0&&u.append("name_contains",r),s!==void 0)u.append("reference_dataset",s);else if(a!==void 0){let d=await this.readDataset({datasetName:a});u.append("reference_dataset",d.id)}i!==void 0&&u.append("include_stats",i.toString()),o!==void 0&&u.append("dataset_version",o),c!==void 0&&u.append("reference_free",c.toString()),l!==void 0&&u.append("metadata",JSON.stringify(l));for await(let d of this._getPaginated("/sessions",u))yield*d}async deleteProject({projectId:t,projectName:n}){let r;if(t===void 0&&n===void 0)throw new Error("Must provide projectName or projectId");if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");t===void 0?r=(await this.readProject({projectName:n})).id:r=t,ve(r),await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/sessions/${r}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,`delete session ${r} (${n})`,!0),s})}async uploadCsv({csvFile:t,fileName:n,inputKeys:r,outputKeys:s,description:a,dataType:i,name:o}){let c=`${this.apiUrl}/datasets/upload`,l=new FormData,u=new Blob([t],{type:"text/csv"});return l.append("file",u,n),r.forEach(d=>{l.append("input_keys",d)}),s.forEach(d=>{l.append("output_keys",d)}),a&&l.append("description",a),i&&l.append("data_type",i),o&&l.append("name",o),await(await this.caller.call(async()=>{let d=await this._fetch(c,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await se(d,"upload CSV"),d})).json()}async createDataset(t,{description:n,dataType:r,inputsSchema:s,outputsSchema:a,metadata:i}={}){let o={name:t,description:n,extra:i?{metadata:i}:void 0};r&&(o.data_type=r),s&&(o.inputs_schema_definition=s),a&&(o.outputs_schema_definition=a);let c=JSON.stringify(o);return await(await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/datasets`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(l,"create dataset"),l})).json()}async readDataset({datasetId:t,datasetName:n}){let r="/datasets",s=new URLSearchParams({limit:"1"});if(t&&n)throw new Error("Must provide either datasetName or datasetId, not both");if(t)ve(t),r+=`/${t}`;else if(n)s.append("name",n);else throw new Error("Must provide datasetName or datasetId");let a=await this._get(r,s),i;if(Array.isArray(a)){if(a.length===0)throw new Error(`Dataset[id=${t}, name=${n}] not found`);i=a[0]}else i=a;return i}async hasDataset({datasetId:t,datasetName:n}){try{return await this.readDataset({datasetId:t,datasetName:n}),!0}catch(r){if(r instanceof Error&&r.message.toLocaleLowerCase().includes("not found"))return!1;throw r}}async diffDatasetVersions({datasetId:t,datasetName:n,fromVersion:r,toVersion:s}){let a=t;if(a===void 0&&n===void 0)throw new Error("Must provide either datasetName or datasetId");if(a!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");a===void 0&&(a=(await this.readDataset({datasetName:n})).id);let i=new URLSearchParams({from_version:typeof r=="string"?r:r.toISOString(),to_version:typeof s=="string"?s:s.toISOString()});return await this._get(`/datasets/${a}/versions/diff`,i)}async readDatasetOpenaiFinetuning({datasetId:t,datasetName:n}){let r="/datasets";if(t===void 0)if(n!==void 0)t=(await this.readDataset({datasetName:n})).id;else throw new Error("Must provide either datasetName or datasetId");return(await(await this._getResponse(`${r}/${t}/openai_ft`)).text()).trim().split(`
48
+ `).map(s=>JSON.parse(s))}async*listDatasets({limit:t=100,offset:n=0,datasetIds:r,datasetName:s,datasetNameContains:a,metadata:i}={}){let o="/datasets",c=new URLSearchParams({limit:t.toString(),offset:n.toString()});if(r!==void 0)for(let l of r)c.append("id",l);s!==void 0&&c.append("name",s),a!==void 0&&c.append("name_contains",a),i!==void 0&&c.append("metadata",JSON.stringify(i));for await(let l of this._getPaginated(o,c))yield*l}async updateDataset(t){let{datasetId:n,datasetName:r,...s}=t;if(!n&&!r)throw new Error("Must provide either datasetName or datasetId");let a=n??(await this.readDataset({datasetName:r})).id;ve(a);let i=JSON.stringify(s);return await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${a}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update dataset"),o})).json()}async updateDatasetTag(t){let{datasetId:n,datasetName:r,asOf:s,tag:a}=t;if(!n&&!r)throw new Error("Must provide either datasetName or datasetId");let i=n??(await this.readDataset({datasetName:r})).id;ve(i);let o=JSON.stringify({as_of:typeof s=="string"?s:s.toISOString(),tag:a});await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/datasets/${i}/tags`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"update dataset tags",!0),c})}async deleteDataset({datasetId:t,datasetName:n}){let r="/datasets",s=t;if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(n!==void 0&&(s=(await this.readDataset({datasetName:n})).id),s!==void 0)ve(s),r+=`/${s}`;else throw new Error("Must provide datasetName or datasetId");await this.caller.call(async()=>{let a=await this._fetch(this.apiUrl+r,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,`delete ${r}`,!0),a})}async indexDataset({datasetId:t,datasetName:n,tag:r}){let s=t;if(!s&&!n)throw new Error("Must provide either datasetName or datasetId");if(s&&n)throw new Error("Must provide either datasetName or datasetId, not both");s||(s=(await this.readDataset({datasetName:n})).id),ve(s);let a=JSON.stringify({tag:r});await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/datasets/${s}/index`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await se(i,"index dataset"),i})).json()}async similarExamples(t,n,r,{filter:s}={}){let a={limit:r,inputs:t};s!==void 0&&(a.filter=s),ve(n);let i=JSON.stringify(a);return(await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${n}/search`,{headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,method:"POST",body:i});return await se(o,"fetch similar examples"),o})).json()).examples}async createExample(t,n,r){if(k0(t)&&(n!==void 0||r!==void 0))throw new Error("Cannot provide outputs or options when using ExampleCreate object");let s=n?r?.datasetId:t.dataset_id,a=n?r?.datasetName:t.dataset_name;if(s===void 0&&a===void 0)throw new Error("Must provide either datasetName or datasetId");if(s!==void 0&&a!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");s===void 0&&(s=(await this.readDataset({datasetName:a})).id);let i=(n?r?.createdAt:t.created_at)||new Date,o;k0(t)?o=t:o={inputs:t,outputs:n,created_at:i?.toISOString(),id:r?.exampleId,metadata:r?.metadata,split:r?.split,source_run_id:r?.sourceRunId,use_source_run_io:r?.useSourceRunIO,use_source_run_attachments:r?.useSourceRunAttachments,attachments:r?.attachments};let c=await this._uploadExamplesMultipart(s,[o]);return await this.readExample(c.example_ids?.[0]??Zs())}async createExamples(t){if(Array.isArray(t)){if(t.length===0)return[];let w=t,y=w[0].dataset_id,x=w[0].dataset_name;if(y===void 0&&x===void 0)throw new Error("Must provide either datasetName or datasetId");if(y!==void 0&&x!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");y===void 0&&(y=(await this.readDataset({datasetName:x})).id);let k=await this._uploadExamplesMultipart(y,w);return await Promise.all(k.example_ids.map(O=>this.readExample(O)))}let{inputs:n,outputs:r,metadata:s,splits:a,sourceRunIds:i,useSourceRunIOs:o,useSourceRunAttachments:c,attachments:l,exampleIds:u,datasetId:d,datasetName:h}=t;if(n===void 0)throw new Error("Must provide inputs when using legacy parameters");let p=d,f=h;if(p===void 0&&f===void 0)throw new Error("Must provide either datasetName or datasetId");if(p!==void 0&&f!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");p===void 0&&(p=(await this.readDataset({datasetName:f})).id);let m=n.map((w,y)=>({dataset_id:p,inputs:w,outputs:r?.[y],metadata:s?.[y],split:a?.[y],id:u?.[y],attachments:l?.[y],source_run_id:i?.[y],use_source_run_io:o?.[y],use_source_run_attachments:c?.[y]})),v=await this._uploadExamplesMultipart(p,m);return await Promise.all(v.example_ids.map(w=>this.readExample(w)))}async createLLMExample(t,n,r){return this.createExample({input:t},{output:n},r)}async createChatExample(t,n,r){let s=t.map(i=>kv(i)?Ev(i):i),a=kv(n)?Ev(n):n;return this.createExample({input:s},{output:a},r)}async readExample(t){ve(t);let n=`/examples/${t}`,r=await this._get(n),{attachment_urls:s,...a}=r,i=a;return s&&(i.attachments=Object.entries(s).reduce((o,[c,l])=>(o[c.slice(11)]={presigned_url:l.presigned_url,mime_type:l.mime_type},o),{})),i}async*listExamples({datasetId:t,datasetName:n,exampleIds:r,asOf:s,splits:a,inlineS3Urls:i,metadata:o,limit:c,offset:l,filter:u,includeAttachments:d}={}){let h;if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(t!==void 0)h=t;else if(n!==void 0)h=(await this.readDataset({datasetName:n})).id;else throw new Error("Must provide a datasetName or datasetId");let p=new URLSearchParams({dataset:h}),f=s?typeof s=="string"?s:s?.toISOString():void 0;f&&p.append("as_of",f);let m=i??!0;if(p.append("inline_s3_urls",m.toString()),r!==void 0)for(let w of r)p.append("id",w);if(a!==void 0)for(let w of a)p.append("splits",w);if(o!==void 0){let w=JSON.stringify(o);p.append("metadata",w)}c!==void 0&&p.append("limit",c.toString()),l!==void 0&&p.append("offset",l.toString()),u!==void 0&&p.append("filter",u),d===!0&&["attachment_urls","outputs","metadata"].forEach(w=>p.append("select",w));let v=0;for await(let w of this._getPaginated("/examples",p)){for(let y of w){let{attachment_urls:x,...k}=y,O=k;x&&(O.attachments=Object.entries(x).reduce(($,[I,_])=>($[I.slice(11)]={presigned_url:_.presigned_url,mime_type:_.mime_type||void 0},$),{})),yield O,v++}if(c!==void 0&&v>=c)break}}async deleteExample(t){ve(t);let n=`/examples/${t}`;await this.caller.call(async()=>{let r=await this._fetch(this.apiUrl+n,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,`delete ${n}`,!0),r})}async deleteExamples(t,n){if(t.forEach(r=>ve(r)),n?.hardDelete){let r=this._getPlatformEndpointPath("datasets/examples/delete");await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}${r}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},body:JSON.stringify({example_ids:t,hard_delete:!0}),signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"hard delete examples",!0),s})}else{let r=new URLSearchParams;t.forEach(s=>r.append("example_ids",s)),await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/examples?${r.toString()}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"delete examples",!0),s})}}async updateExample(t,n){let r;n?r=t:r=t.id,ve(r);let s;n?s={id:r,...n}:s=t;let a;return s.dataset_id!==void 0?a=s.dataset_id:a=(await this.readExample(r)).dataset_id,this._updateExamplesMultipart(a,[s])}async updateExamples(t){let n;return t[0].dataset_id===void 0?n=(await this.readExample(t[0].id)).dataset_id:n=t[0].dataset_id,this._updateExamplesMultipart(n,t)}async readDatasetVersion({datasetId:t,datasetName:n,asOf:r,tag:s}){let a;if(t?a=t:a=(await this.readDataset({datasetName:n})).id,ve(a),r&&s||!r&&!s)throw new Error("Exactly one of asOf and tag must be specified.");let i=new URLSearchParams;return r!==void 0&&i.append("as_of",typeof r=="string"?r:r.toISOString()),s!==void 0&&i.append("tag",s),await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${a}/version?${i.toString()}`,{method:"GET",headers:{...this.headers},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"read dataset version"),o})).json()}async listDatasetSplits({datasetId:t,datasetName:n,asOf:r}){let s;if(t===void 0&&n===void 0)throw new Error("Must provide dataset name or ID");if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");t===void 0?s=(await this.readDataset({datasetName:n})).id:s=t,ve(s);let a=new URLSearchParams,i=r?typeof r=="string"?r:r?.toISOString():void 0;return i&&a.append("as_of",i),await this._get(`/datasets/${s}/splits`,a)}async updateDatasetSplits({datasetId:t,datasetName:n,splitName:r,exampleIds:s,remove:a=!1}){let i;if(t===void 0&&n===void 0)throw new Error("Must provide dataset name or ID");if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");t===void 0?i=(await this.readDataset({datasetName:n})).id:i=t,ve(i);let o={split_name:r,examples:s.map(l=>(ve(l),l)),remove:a},c=JSON.stringify(o);await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/datasets/${i}/splits`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(l,"update dataset splits",!0),l})}async createFeedback(t,n,{score:r,value:s,correction:a,comment:i,sourceInfo:o,feedbackSourceType:c="api",sourceRunId:l,feedbackId:u,feedbackConfig:d,projectId:h,comparativeExperimentId:p,sessionId:f,startTime:m}){if(!t&&!h)throw new Error("One of runId or projectId must be provided");if(t&&h)throw new Error("Only one of runId or projectId can be provided");let v={type:c??"api",metadata:o??{}};l!==void 0&&v?.metadata!==void 0&&!v.metadata.__run&&(v.metadata.__run={run_id:l}),v?.metadata!==void 0&&v.metadata.__run?.run_id!==void 0&&ve(v.metadata.__run.run_id);let w={id:u??r1(),run_id:t,key:n,score:w0(r),value:s,correction:a,comment:i,feedback_source:v,comparative_experiment_id:p,feedbackConfig:d,session_id:f??h,start_time:m},y=JSON.stringify(w),x=`${this.apiUrl}/feedback`;return await this.caller.call(async()=>{let k=await this._fetch(x,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:y});return await se(k,"create feedback",!0),k}),w}async updateFeedback(t,{score:n,value:r,correction:s,comment:a}){let i={};n!=null&&(i.score=w0(n)),r!=null&&(i.value=r),s!=null&&(i.correction=s),a!=null&&(i.comment=a),ve(t);let o=JSON.stringify(i);await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/feedback/${t}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"update feedback",!0),c})}async readFeedback(t){ve(t);let n=`/feedback/${t}`;return await this._get(n)}async deleteFeedback(t){ve(t);let n=`/feedback/${t}`;await this.caller.call(async()=>{let r=await this._fetch(this.apiUrl+n,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,`delete ${n}`,!0),r})}async*listFeedback({runIds:t,feedbackKeys:n,feedbackSourceTypes:r}={}){let s=new URLSearchParams;if(t)for(let a of t)ve(a),s.append("run",a);if(n)for(let a of n)s.append("key",a);if(r)for(let a of r)s.append("source",a);for await(let a of this._getPaginated("/feedback",s))yield*a}async createPresignedFeedbackToken(t,n,{expiration:r,feedbackConfig:s}={}){let a={run_id:t,feedback_key:n,feedback_config:s};r?typeof r=="string"?a.expires_at=r:(r?.hours||r?.minutes||r?.days)&&(a.expires_in=r):a.expires_in={hours:3};let i=JSON.stringify(a);return await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/feedback/tokens`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"create presigned feedback token"),o})).json()}async createComparativeExperiment({name:t,experimentIds:n,referenceDatasetId:r,createdAt:s,description:a,metadata:i,id:o}){if(n.length===0)throw new Error("At least one experiment is required");if(r||(r=(await this.readProject({projectId:n[0]})).reference_dataset_id),!r==null)throw new Error("A reference dataset is required");let c={id:o,name:t,experiment_ids:n,reference_dataset_id:r,description:a,created_at:(s??new Date)?.toISOString(),extra:{}};i&&(c.extra.metadata=i);let l=JSON.stringify(c);return(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets/comparative`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await se(u,"create comparative experiment"),u})).json()}async*listPresignedFeedbackTokens(t){ve(t);let n=new URLSearchParams({run_id:t});for await(let r of this._getPaginated("/feedback/tokens",n))yield*r}_selectEvalResults(t){let n;return"results"in t?n=t.results:Array.isArray(t)?n=t:n=[t],n}async _logEvaluationFeedback(t,n,r){let s=this._selectEvalResults(t),a=[];for(let i of s){let o=r||{};i.evaluatorInfo&&(o={...i.evaluatorInfo,...o});let c=null;i.targetRunId?c=i.targetRunId:n&&(c=n.id),a.push(await this.createFeedback(c,i.key,{score:i.score,value:i.value,comment:i.comment,correction:i.correction,sourceInfo:o,sourceRunId:i.sourceRunId,feedbackConfig:i.feedbackConfig,feedbackSourceType:"model",sessionId:n?.session_id,startTime:n?.start_time}))}return[s,a]}async logEvaluationFeedback(t,n,r){let[s]=await this._logEvaluationFeedback(t,n,r);return s}async createFeedbackConfig(t){let{feedbackKey:n,feedbackConfig:r,isLowerScoreBetter:s=!1}=t,a={feedback_key:n,feedback_config:r,is_lower_score_better:s};return(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(a)});return await se(i,"create feedback config"),i})).json()}async*listFeedbackConfigs(t={}){let{feedbackKeys:n,nameContains:r,limit:s}=t,a=new URLSearchParams;n&&n.forEach(o=>{a.append("key",o)}),r&&a.append("name_contains",r),a.append("limit",(s!==void 0?Math.min(s,100):100).toString());let i=0;for await(let o of this._getPaginated("/feedback-configs",a))if(yield*o,i+=o.length,s!==void 0&&i>=s)break}async updateFeedbackConfig(t,n={}){let{feedbackConfig:r,isLowerScoreBetter:s}=n,a={feedback_key:t};return r!==void 0&&(a.feedback_config=r),s!==void 0&&(a.is_lower_score_better=s),(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(a)});return await se(i,"update feedback config"),i})).json()}async deleteFeedbackConfig(t){let n=new URLSearchParams({feedback_key:t});await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/feedback-configs?${n}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"delete feedback config",!0),r})}async*listAnnotationQueues(t={}){let{queueIds:n,name:r,nameContains:s,limit:a}=t,i=new URLSearchParams;n&&n.forEach((c,l)=>{ve(c,`queueIds[${l}]`),i.append("ids",c)}),r&&i.append("name",r),s&&i.append("name_contains",s),i.append("limit",(a!==void 0?Math.min(a,100):100).toString());let o=0;for await(let c of this._getPaginated("/annotation-queues",i))if(yield*c,o++,a!==void 0&&o>=a)break}async createAnnotationQueue(t){let{name:n,description:r,queueId:s,rubricInstructions:a,rubricItems:i}=t,o={name:n,description:r,id:s||Zs(),rubric_instructions:a,rubric_items:i},c=JSON.stringify(Object.fromEntries(Object.entries(o).filter(([l,u])=>u!==void 0)));return(await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/annotation-queues`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(l,"create annotation queue"),l})).json()}async readAnnotationQueue(t){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"read annotation queue"),n})).json()}async updateAnnotationQueue(t,n){let{name:r,description:s,rubricInstructions:a,rubricItems:i}=n,o={};r!==void 0&&(o.name=r),s!==void 0&&(o.description=s),a!==void 0&&(o.rubric_instructions=a),i!==void 0&&(o.rubric_items=i);let c=JSON.stringify(o);await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(l,"update annotation queue",!0),l})}async deleteAnnotationQueue(t){await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"delete annotation queue",!0),n})}async addRunsToAnnotationQueue(t,n){let r=JSON.stringify(n.map((s,a)=>ve(s,`runIds[${a}]`).toString()));await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/runs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(s,"add runs to annotation queue",!0),s})}async getRunFromAnnotationQueue(t,n){let r=`/annotation-queues/${ve(t,"queueId")}/run`,s=await(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${r}/${n}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,"get run from annotation queue"),a})).json();return to(s)}async deleteRunFromAnnotationQueue(t,n){await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/runs/${ve(n,"queueRunId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"delete run from annotation queue",!0),r})}async getSizeFromAnnotationQueue(t){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/size`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"get size from annotation queue"),n})).json()}async _currentTenantIsOwner(t){let n=await this._getSettings();return t=="-"||n.tenant_handle===t}async _ownerConflictError(t,n){let r=await this._getSettings();return new Error(`Cannot ${t} for another tenant.
49
+
50
+ Current tenant: ${r.tenant_handle}
51
+
52
+ Requested tenant: ${n}`)}async _getLatestCommitHash(t){let n=await(await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/commits/${t}/?limit=1&offset=0`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"get latest commit hash"),r})).json();if(n.commits.length!==0)return n.commits[0].commit_hash}async _likeOrUnlikePrompt(t,n){let[r,s,a]=Cr(t),i=JSON.stringify({like:n});return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/likes/${r}/${s}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,`${n?"like":"unlike"} prompt`),o})).json()}async _getPromptUrl(t){let[n,r,s]=Cr(t);if(await this._currentTenantIsOwner(n)){let a=await this._getSettings();return s!=="latest"?`${this.getHostUrl()}/prompts/${r}/${s.substring(0,8)}?organizationId=${a.id}`:`${this.getHostUrl()}/prompts/${r}?organizationId=${a.id}`}else return s!=="latest"?`${this.getHostUrl()}/hub/${n}/${r}/${s.substring(0,8)}`:`${this.getHostUrl()}/hub/${n}/${r}`}async promptExists(t){return!!await this.getPrompt(t)}async likePrompt(t){return this._likeOrUnlikePrompt(t,!0)}async unlikePrompt(t){return this._likeOrUnlikePrompt(t,!1)}async*listCommits(t){let[n,r,s]=Cr(t);for await(let a of this._getPaginated(`/commits/${n}/${r}/`,new URLSearchParams,i=>i.commits))yield*a}async*listPrompts(t){let n=new URLSearchParams;n.append("sort_field",t?.sortField??"updated_at"),n.append("sort_direction","desc"),n.append("is_archived",(!!t?.isArchived).toString()),t?.isPublic!==void 0&&n.append("is_public",t.isPublic.toString()),t?.query&&n.append("query",t.query);for await(let r of this._getPaginated("/repos",n,s=>s.repos))yield*r}async getPrompt(t){let[n,r,s]=Cr(t),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/repos/${n}/${r}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return i?.status===404?null:(await se(i,"get prompt"),i)}))?.json();return a?.repo?a.repo:null}async createPrompt(t,n){let r=await this._getSettings();if(n?.isPublic&&!r.tenant_handle)throw new Error(`Cannot create a public prompt without first
53
+
54
+ creating a LangChain Hub handle.
55
+ You can add a handle by creating a public prompt at:
56
+
57
+ https://smith.langchain.com/prompts`);let[s,a,i]=Cr(t);if(!await this._currentTenantIsOwner(s))throw await this._ownerConflictError("create a prompt",s);let o={repo_handle:a,...n?.description&&{description:n.description},...n?.readme&&{readme:n.readme},...n?.tags&&{tags:n.tags},is_public:!!n?.isPublic},c=JSON.stringify(o),l=await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(d,"create prompt"),d}),{repo:u}=await l.json();return u}async createCommit(t,n,r){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[s,a,i]=Cr(t),o=r?.parentCommitHash==="latest"||!r?.parentCommitHash?await this._getLatestCommitHash(`${s}/${a}`):r?.parentCommitHash,c={manifest:JSON.parse(JSON.stringify(n)),parent_commit:o},l=JSON.stringify(c),u=await(await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/commits/${s}/${a}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await se(d,"create commit"),d})).json();return this._getPromptUrl(`${s}/${a}${u.commit_hash?`:${u.commit_hash}`:""}`)}async updateExamplesMultipart(t,n=[]){return this._updateExamplesMultipart(t,n)}async _updateExamplesMultipart(t,n=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let r=new FormData;for(let a of n){let i=a.id,o={...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split}},c=vn(o,`Serializing body for example with id: ${i}`),l=new Blob([c],{type:"application/json"});if(r.append(i,l),a.inputs){let u=vn(a.inputs,`Serializing inputs for example with id: ${i}`),d=new Blob([u],{type:"application/json"});r.append(`${i}.inputs`,d)}if(a.outputs){let u=vn(a.outputs,`Serializing outputs whle updating example with id: ${i}`),d=new Blob([u],{type:"application/json"});r.append(`${i}.outputs`,d)}if(a.attachments)for(let[u,d]of Object.entries(a.attachments)){let h,p;Array.isArray(d)?[h,p]=d:(h=d.mimeType,p=d.data);let f=new Blob([p],{type:`${h}; length=${p.byteLength}`});r.append(`${i}.attachment.${u}`,f)}if(a.attachments_operations){let u=vn(a.attachments_operations,`Serializing attachments while updating example with id: ${i}`),d=new Blob([u],{type:"application/json"});r.append(`${i}.attachments_operations`,d)}}let s=t??n[0]?.dataset_id;return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${s}/examples`)}`,{method:"PATCH",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(a,"update examples"),a})).json()}async uploadExamplesMultipart(t,n=[]){return this._uploadExamplesMultipart(t,n)}async _uploadExamplesMultipart(t,n=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let r=new FormData;for(let s of n){let a=(s.id??Zs()).toString(),i={created_at:s.created_at,...s.metadata&&{metadata:s.metadata},...s.split&&{split:s.split},...s.source_run_id&&{source_run_id:s.source_run_id},...s.use_source_run_io&&{use_source_run_io:s.use_source_run_io},...s.use_source_run_attachments&&{use_source_run_attachments:s.use_source_run_attachments}},o=vn(i,`Serializing body for uploaded example with id: ${a}`),c=new Blob([o],{type:"application/json"});if(r.append(a,c),s.inputs){let l=vn(s.inputs,`Serializing inputs for uploaded example with id: ${a}`),u=new Blob([l],{type:"application/json"});r.append(`${a}.inputs`,u)}if(s.outputs){let l=vn(s.outputs,`Serializing outputs for uploaded example with id: ${a}`),u=new Blob([l],{type:"application/json"});r.append(`${a}.outputs`,u)}if(s.attachments)for(let[l,u]of Object.entries(s.attachments)){let d,h;Array.isArray(u)?[d,h]=u:(d=u.mimeType,h=u.data);let p=new Blob([h],{type:`${d}; length=${h.byteLength}`});r.append(`${a}.attachment.${l}`,p)}}return(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${t}/examples`)}`,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(s,"upload examples"),s})).json()}async updatePrompt(t,n){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[r,s]=Cr(t);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("update a prompt",r);let a={};if(n?.description!==void 0&&(a.description=n.description),n?.readme!==void 0&&(a.readme=n.readme),n?.tags!==void 0&&(a.tags=n.tags),n?.isPublic!==void 0&&(a.is_public=n.isPublic),n?.isArchived!==void 0&&(a.is_archived=n.isArchived),Object.keys(a).length===0)throw new Error("No valid update options provided");let i=JSON.stringify(a);return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/repos/${r}/${s}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update prompt"),o})).json()}async deletePrompt(t){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[n,r,s]=Cr(t);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError("delete a prompt",n);return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${n}/${r}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,"delete prompt"),a})).json()}_getPromptCacheKey(t,n){return`${t}${n?":with_model":""}`}async _fetchPromptFromApi(t,n){let[r,s,a]=Cr(t),i=await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/commits/${r}/${s}/${a}${n?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"pull prompt commit"),o})).json();return{owner:r,repo:s,commit_hash:i.commit_hash,manifest:i.manifest,examples:i.examples}}async pullPromptCommit(t,n){let r=this._fetchPromptFromApi.bind(this,t,n);if(!n?.skipCache&&this._promptCache){let s=this._getPromptCacheKey(t,n?.includeModel),a=this._promptCache.get(s,r);if(a)return a;let i=await r();return this._promptCache.set(s,i,r),i}return this._fetchPromptFromApi(t,n)}async _pullPrompt(t,n){let r=await this.pullPromptCommit(t,{includeModel:n?.includeModel,skipCache:n?.skipCache});return JSON.stringify(r.manifest)}async pushPrompt(t,n){return await this.promptExists(t)?n&&Object.keys(n).some(r=>r!=="object")&&await this.updatePrompt(t,{description:n?.description,readme:n?.readme,tags:n?.tags,isPublic:n?.isPublic}):await this.createPrompt(t,{description:n?.description,readme:n?.readme,tags:n?.tags,isPublic:n?.isPublic}),n?.object?await this.createCommit(t,n?.object,{parentCommitHash:n?.parentCommitHash}):await this._getPromptUrl(t)}async clonePublicDataset(t,n={}){let{sourceApiUrl:r=this.apiUrl,datasetName:s}=n,[a,i]=this.parseTokenOrUrl(t,r),o=new e({apiUrl:a,apiKey:"placeholder"}),c=await o.readSharedDataset(i),l=s||c.name;try{if(await this.hasDataset({datasetId:l})){console.log(`Dataset ${l} already exists in your tenant. Skipping.`);return}}catch{}let u=await o.listSharedExamples(i),d=await this.createDataset(l,{description:c.description,dataType:c.data_type||"kv",inputsSchema:c.inputs_schema_definition??void 0,outputsSchema:c.outputs_schema_definition??void 0});try{await this.createExamples({inputs:u.map(h=>h.inputs),outputs:u.flatMap(h=>h.outputs?[h.outputs]:[]),datasetId:d.id})}catch(h){throw console.error(`An error occurred while creating dataset ${l}. You should delete it manually.`),h}}parseTokenOrUrl(t,n,r=2,s="dataset"){try{return ve(t),[n,t]}catch{}try{let a=new URL(t).pathname.split("/").filter(i=>i!=="");if(a.length>=r){let i=a[a.length-r];return[n,i]}else throw new Error(`Invalid public ${s} URL: ${t}`)}catch{throw new Error(`Invalid public ${s} URL or token: ${t}`)}}cleanup(){this._promptCache&&this._promptCache.stop()}async awaitPendingTraceBatches(){if(this.manualFlushMode)return console.warn("[WARNING]: When tracing in manual flush mode, you must call `await client.flush()` manually to submit trace batches."),Promise.resolve();await new Promise(t=>setTimeout(t,1)),await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:t})=>t),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0&&await U$()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}};Object.defineProperty(pi,"_fallbackDirsCreated",{enumerable:!0,configurable:!0,writable:!0,value:new Set});function k0(e){return"dataset_id"in e||"dataset_name"in e}var HC=e=>!!["TRACING_V2","TRACING"].find(t=>Ct(t)==="true"),ds=Symbol.for("lc:context_variables"),Mp=Symbol.for("langsmith:replica_trace_roots");function E0(e,t){if(ds in e)return e[ds][t]}function WC(e,t,n){let r=ds in e?e[ds]:{};r[t]=n,e[ds]=r}var JC="6ba7b810-9dad-11d1-80b4-00c04fd430c8";function S0(e){let t=Object.keys(e).sort().map(n=>`${n}:${e[n]??""}`).join("|");return n1(t,JC)}function GC(e){return e.replace(/[-:.]/g,"")}function cx(e,t=1){let n=t.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date(e).toISOString().slice(0,-1)}${n}Z`}function lx(e,t,n=1){let r=cx(e,n);return{dottedOrder:GC(r)+t,microsecondPrecisionDatestring:r}}var KC=new Set(["projectName","updates","reroot"]);function XC(e){let t={};for(let n of Object.keys(e))KC.has(n)&&(t[n]=e[n]);return t}var mu=class e{constructor(t,n,r,s){Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.metadata=t,this.tags=n,this.project_name=r,this.replicas=s}static fromHeader(t){let n=t.split(","),r={},s=[],a,i;for(let o of n){let[c,l]=o.split("="),u=decodeURIComponent(l);c==="langsmith-metadata"?r=JSON.parse(u):c==="langsmith-tags"?s=u.split(","):c==="langsmith-project"?a=u:c==="langsmith-replicas"&&(i=JSON.parse(u).map(d=>Array.isArray(d)?d:XC(d)))}return new e(r,s,a,i)}toHeader(){let t=[];return this.metadata&&Object.keys(this.metadata).length>0&&t.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`),this.tags&&this.tags.length>0&&t.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`),this.project_name&&t.push(`langsmith-project=${encodeURIComponent(this.project_name)}`),t.join(",")}},fi=class e{constructor(t){if(Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"run_type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_runs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"end_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"serialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reference_example_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"client",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"trace_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dotted_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingEnabled",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"attachments",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"distributedParentId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serialized_start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_awaitInputsOnPost",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),YC(t)){Object.assign(this,{...t});return}let n=e.getDefaultConfig(),{metadata:r,...s}=t,a=s.client??e.getSharedClient(),i={...r,...s?.extra?.metadata};if(s.extra={...s.extra,metadata:i},"id"in s&&s.id==null&&delete s.id,Object.assign(this,{...n,...s,client:a}),this.execution_order??=1,this.child_execution_order??=1,this.dotted_order||(this._serialized_start_time=cx(this.start_time,this.execution_order)),this.id||(this.id=w$(this._serialized_start_time??this.start_time)),this.trace_id||(this.parent_run?this.trace_id=this.parent_run.trace_id??this.id:this.trace_id=this.id),this.replicas=nN(this.replicas),!this.dotted_order){let{dottedOrder:o}=lx(this.start_time,this.id,this.execution_order);this.parent_run?this.dotted_order=this.parent_run.dotted_order+"."+o:this.dotted_order=o}}set metadata(t){this.extra={...this.extra,metadata:{...this.extra?.metadata,...t}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){let t=Date.now();return{run_type:"chain",project_name:F1(),child_runs:[],api_url:Or("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:Or("LANGCHAIN_API_KEY"),caller_options:{},start_time:t,serialized:{},inputs:{},extra:{}}}static getSharedClient(){return e.sharedClient||(e.sharedClient=new pi),e.sharedClient}createChild(t){let n=this.child_execution_order+1,r=this.replicas?.map(h=>{let{reroot:p,...f}=h;return f}),s=t.replicas??r,a=new e({...t,parent_run:this,project_name:this.project_name,replicas:s,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:n,child_execution_order:n}),i=this.extra?.metadata??{},o=a.extra?.metadata??{};Object.keys(i).length>0&&(a.extra={...a.extra,metadata:{...i,...o}}),ds in this&&(a[ds]=this[ds]);let c=Symbol.for("lc:child_config"),l=t.extra?.[c]??this.extra[c];if(eN(l)){let h={...l},p=QC(h.callbacks)?h.callbacks.copy?.():void 0;p&&(Object.assign(p,{_parentRunId:a.id}),p.handlers?.find(ux)?.updateFromRunTree?.(a),h.callbacks=p),a.extra[c]=h}let u=new Set,d=this;for(;d!=null&&!u.has(d.id);)u.add(d.id),d.child_execution_order=Math.max(d.child_execution_order,n),d=d.parent_run;return this.child_runs.push(a),a}async end(t,n,r=Date.now(),s){this.outputs=this.outputs??t,this.error=this.error??n,this.end_time=this.end_time??r,s&&Object.keys(s).length>0&&(this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...s}}:{metadata:s})}_convertToCreate(t,n,r=!0){let s=t.extra??{};if(s?.runtime?.library===void 0&&(s.runtime||(s.runtime={}),n))for(let[o,c]of Object.entries(n))s.runtime[o]||(s.runtime[o]=c);let a=t.parent_run?.id??t.parent_run_id,i;return r?i=[]:i=t.child_runs.map(o=>this._convertToCreate(o,n,r)),{id:t.id,name:t.name,start_time:t._serialized_start_time??t.start_time,end_time:t.end_time,run_type:t.run_type,reference_example_id:t.reference_example_id,extra:s,serialized:t.serialized,error:t.error,inputs:t.inputs,outputs:t.outputs,session_name:t.project_name,child_runs:i,parent_run_id:a,trace_id:t.trace_id,dotted_order:t.dotted_order,tags:t.tags,attachments:t.attachments,events:t.events}}_sliceParentId(t,n){if(n.dotted_order){let r=n.dotted_order.split("."),s=null;for(let a=0;a<r.length;a++)if(r[a].slice(-36)===t){s=a;break}if(s!==null){let a=r.slice(s+1);n.dotted_order=a.join("."),a.length>0?n.trace_id=a[0].slice(-36):n.trace_id=n.id}}n.parent_run_id===t&&(n.parent_run_id=void 0)}_setReplicaTraceRoot(t,n){let r=E0(this,Mp)??{};r[t]=n,WC(this,Mp,r);for(let s of this.child_runs)s._setReplicaTraceRoot(t,n)}_remapForProject(t){let{projectName:n,runtimeEnv:r,excludeChildRuns:s=!0,reroot:a=!1,distributedParentId:i,apiUrl:o,apiKey:c,workspaceId:l}=t,u=this._convertToCreate(this,r,s);if(n===this.project_name)return{...u,session_name:n};if(a){if(i)this._sliceParentId(i,u);else if(u.parent_run_id=void 0,u.dotted_order){let y=u.dotted_order.split(".");y.length>0&&(u.dotted_order=y[y.length-1],u.trace_id=u.id)}let w=S0({projectName:n,apiUrl:o,apiKey:c,workspaceId:l});this._setReplicaTraceRoot(w,u.id)}let d;if(!a){let w=E0(this,Mp)??{},y=S0({projectName:n,apiUrl:o,apiKey:c,workspaceId:l});if(d=w[y],d&&(u.trace_id=d,u.dotted_order)){let x=u.dotted_order.split("."),k=null;for(let O=0;O<x.length;O++)if(x[O].slice(-36)===d){k=O;break}if(k!==null){let O=x.slice(k);u.dotted_order=O.join(".")}}}let h=u.id,p=el(h,n),f;u.trace_id?f=el(u.trace_id,n):f=p;let m;u.parent_run_id&&(m=el(u.parent_run_id,n));let v;return u.dotted_order&&(v=u.dotted_order.split(".").map(w=>{let y=w.slice(-36),x=el(y,n);return w.slice(0,-36)+x}).join(".")),{...u,id:p,trace_id:f,parent_run_id:m,dotted_order:v,session_name:n}}async postRun(t=!0){this._awaitInputsOnPost&&(this.inputs=await this.inputs);try{let n=X1();if(this.replicas&&this.replicas.length>0)for(let{projectName:r,apiKey:s,apiUrl:a,workspaceId:i,reroot:o}of this.replicas){let c=this._remapForProject({projectName:r??this.project_name,runtimeEnv:n,excludeChildRuns:!0,reroot:o,distributedParentId:this.distributedParentId,apiUrl:a,apiKey:s,workspaceId:i});await this.client.createRun(c,{apiKey:s,apiUrl:a,workspaceId:i})}else{let r=this._convertToCreate(this,n,t);await this.client.createRun(r)}if(!t){Ml("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let r of this.child_runs)await r.postRun(!1)}this.child_runs=[]}catch(n){console.error(`Error in postRun for run ${this.id}:`,n)}}async patchRun(t){if(this.replicas&&this.replicas.length>0)for(let{projectName:n,apiKey:r,apiUrl:s,workspaceId:a,updates:i,reroot:o}of this.replicas){let c=this._remapForProject({projectName:n??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:o,distributedParentId:this.distributedParentId,apiUrl:s,apiKey:r,workspaceId:a}),l={id:c.id,name:c.name,run_type:c.run_type,start_time:c.start_time,outputs:c.outputs,error:c.error,parent_run_id:c.parent_run_id,session_name:c.session_name,reference_example_id:c.reference_example_id,end_time:c.end_time,dotted_order:c.dotted_order,trace_id:c.trace_id,events:c.events,tags:c.tags,extra:c.extra,attachments:this.attachments,...i};t?.excludeInputs||(l.inputs=c.inputs),await this.client.updateRun(c.id,l,{apiKey:r,apiUrl:s,workspaceId:a})}else try{let n={name:this.name,run_type:this.run_type,start_time:this._serialized_start_time??this.start_time,end_time:this.end_time,error:this.error,outputs:this.outputs,parent_run_id:this.parent_run?.id??this.parent_run_id,reference_example_id:this.reference_example_id,extra:this.extra,events:this.events,dotted_order:this.dotted_order,trace_id:this.trace_id,tags:this.tags,attachments:this.attachments,session_name:this.project_name};t?.excludeInputs||(n.inputs=this.inputs),await this.client.updateRun(this.id,n)}catch(n){console.error(`Error in patchRun for run ${this.id}`,n)}this.child_runs=[]}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent(t){this.events||(this.events=[]),typeof t=="string"?this.events.push({name:"event",time:new Date().toISOString(),message:t}):this.events.push({...t,time:t.time??new Date().toISOString()})}static fromRunnableConfig(t,n){let r=t?.callbacks,s,a,i,o=HC();if(r){let c=r?.getParentRunId?.()??"",l=r?.handlers?.find(u=>u?.name=="langchain_tracer");s=l?.getRun?.(c),a=l?.projectName,i=l?.client,o=o||!!l}return s?new e({name:s.name,id:s.id,trace_id:s.trace_id,dotted_order:s.dotted_order,client:i,tracingEnabled:o,project_name:a,tags:[...new Set((s?.tags??[]).concat(t?.tags??[]))],extra:{metadata:{...s?.extra?.metadata,...t?.metadata}}}).createChild(n):new e({...n,client:i,tracingEnabled:o,project_name:a})}static fromDottedOrder(t){return this.fromHeaders({"langsmith-trace":t})}static fromHeaders(t,n){let r="get"in t&&typeof t.get=="function"?{"langsmith-trace":t.get("langsmith-trace"),baggage:t.get("baggage")}:t,s=r["langsmith-trace"];if(!s||typeof s!="string")return;let a=s.trim(),i=a.split(".").map(u=>{let[d,h]=u.split("Z");return{strTime:d,time:Date.parse(d+"Z"),uuid:h}}),o=i[0].uuid,c={...n,name:n?.name??"parent",run_type:n?.run_type??"chain",start_time:n?.start_time??Date.now(),id:i.at(-1)?.uuid,trace_id:o,dotted_order:a};if(r.baggage&&typeof r.baggage=="string"){let u=mu.fromHeader(r.baggage);c.metadata=u.metadata,c.tags=u.tags,c.project_name=u.project_name,c.replicas=u.replicas}let l=new e(c);return l.distributedParentId=l.id,l}toHeaders(t){let n={"langsmith-trace":this.dotted_order,baggage:new mu(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if(t)for(let[r,s]of Object.entries(n))t.set(r,s);return n}};Object.defineProperty(fi,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function YC(e){return e!=null&&typeof e.createChild=="function"&&typeof e.postRun=="function"}function ux(e){return typeof e=="object"&&e!=null&&typeof e.name=="string"&&e.name==="langchain_tracer"}function O0(e){return Array.isArray(e)&&e.some(t=>ux(t))}function QC(e){return typeof e=="object"&&e!=null&&Array.isArray(e.handlers)}function eN(e){let t=e?.callbacks;return e!=null&&typeof t=="object"&&(O0(t?.handlers)||O0(t))}function tN(){let e=Or("LANGSMITH_RUNS_ENDPOINTS");if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t)){let n=[];for(let r of t){if(typeof r!="object"||r===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof r}`);continue}if(typeof r.api_url!="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof r.api_url}`);continue}if(typeof r.api_key!="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof r.api_key}`);continue}n.push({apiUrl:r.api_url.replace(/\/$/,""),apiKey:r.api_key})}return n}else if(typeof t=="object"&&t!==null){rN(t);let n=[];for(let[r,s]of Object.entries(t)){let a=r.replace(/\/$/,"");if(typeof s=="string")n.push({apiUrl:a,apiKey:s});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${r}: expected string, got ${typeof s}`);continue}}return n}else return console.warn(`Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof t}`),[]}catch(t){if(PC(t))throw t;return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey"),[]}}function nN(e){return e?e.map(t=>Array.isArray(t)?{projectName:t[0],updates:t[1]}:t):tN()}function rN(e){if(Object.keys(e).length>0&&Ct("ENDPOINT"))throw new Uf}var sN=Q({BaseTracer:()=>Jr,isBaseTracer:()=>za}),aN=e=>{if(e)return e.events=e.events??[],e.child_runs=e.child_runs??[],e};function Vf(e,t){if(e)return new fi({...e,start_time:e._serialized_start_time??e.start_time,parent_run:Vf(t),child_runs:e.child_runs.map(n=>Vf(n)).filter(n=>n!==void 0),extra:{...e.extra,runtime:f1()},tracingEnabled:!1})}function zp(e,t){return e&&!Array.isArray(e)&&typeof e=="object"?e:{[t]:e}}function za(e){return typeof e._addRunToRunMap=="function"}var Jr=class extends Ea{runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor(e){super(...arguments)}copy(){return this}getRunById(e){if(e!==void 0)return this.usesRunTreeMap?aN(this.runTreeMap.get(e)):this.runMap.get(e)}stringifyError(e){return e instanceof Error?e.message+(e?.stack?`
58
+
59
+ ${e.stack}`:""):typeof e=="string"?e:`${e}`}_addChildRun(e,t){e.child_runs.push(t)}_addRunToRunMap(e){let{dottedOrder:t,microsecondPrecisionDatestring:n}=lx(new Date(e.start_time).getTime(),e.id,e.execution_order),r={...e},s=this.getRunById(r.parent_run_id);if(r.parent_run_id!==void 0?s?(this._addChildRun(s,r),s.child_execution_order=Math.max(s.child_execution_order,r.child_execution_order),r.trace_id=s.trace_id,s.dotted_order!==void 0&&(r.dotted_order=[s.dotted_order,t].join("."),r._serialized_start_time=n)):r.parent_run_id=void 0:(r.trace_id=r.id,r.dotted_order=t,r._serialized_start_time=n),this.usesRunTreeMap){let a=Vf(r,s);a!==void 0&&this.runTreeMap.set(r.id,a)}else this.runMap.set(r.id,r);return r}async _endTrace(e){let t=e.parent_run_id!==void 0&&this.getRunById(e.parent_run_id);t?t.child_execution_order=Math.max(t.child_execution_order,e.child_execution_order):await this.persistRun(e),await this.onRunUpdate?.(e),this.usesRunTreeMap?this.runTreeMap.delete(e.id):this.runMap.delete(e.id)}_getExecutionOrder(e){let t=e!==void 0&&this.getRunById(e);return t?t.child_execution_order+1:1}_createRunForLLMStart(e,t,n,r,s,a,i,o){let c=this._getExecutionOrder(r),l=Date.now(),u=i?{...s,metadata:i}:s,d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:{prompts:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:u??{},tags:a||[]};return this._addRunToRunMap(d)}async handleLLMStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForLLMStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}_createRunForChatModelStart(e,t,n,r,s,a,i,o){let c=this._getExecutionOrder(r),l=Date.now(),u=i?{...s,metadata:i}:s,d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:{messages:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:u??{},tags:a||[]};return this._addRunToRunMap(d)}async handleChatModelStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForChatModelStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}async handleLLMEnd(e,t,n,r,s){let a=this.getRunById(t);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.outputs=e,a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...s},await this.onLLMEnd?.(a),await this._endTrace(a),a}async handleLLMError(e,t,n,r,s){let a=this.getRunById(t);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...s},await this.onLLMError?.(a),await this._endTrace(a),a}_createRunForChainStart(e,t,n,r,s,a,i,o,c){let l=this._getExecutionOrder(r),u=Date.now(),d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:u,serialized:e,events:[{name:"start",time:new Date(u).toISOString()}],inputs:t,execution_order:l,child_execution_order:l,run_type:i??"chain",child_runs:[],extra:a?{...c,metadata:a}:{...c},tags:s||[]};return this._addRunToRunMap(d)}async handleChainStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForChainStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onChainStart?.(c),c}async handleChainEnd(e,t,n,r,s){let a=this.getRunById(t);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.outputs=zp(e,"output"),a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),s?.inputs!==void 0&&(a.inputs=zp(s.inputs,"input")),await this.onChainEnd?.(a),await this._endTrace(a),a}async handleChainError(e,t,n,r,s){let a=this.getRunById(t);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),s?.inputs!==void 0&&(a.inputs=zp(s.inputs,"input")),await this.onChainError?.(a),await this._endTrace(a),a}_createRunForToolStart(e,t,n,r,s,a,i){let o=this._getExecutionOrder(r),c=Date.now(),l={id:n,name:i??e.id[e.id.length-1],parent_run_id:r,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{input:t},execution_order:o,child_execution_order:o,run_type:"tool",child_runs:[],extra:a?{metadata:a}:{},tags:s||[]};return this._addRunToRunMap(l)}async handleToolStart(e,t,n,r,s,a,i){let o=this.getRunById(n)??this._createRunForToolStart(e,t,n,r,s,a,i);return await this.onRunCreate?.(o),await this.onToolStart?.(o),o}async handleToolEnd(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.outputs={output:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onToolEnd?.(n),await this._endTrace(n),n}async handleToolError(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onToolError?.(n),await this._endTrace(n),n}async handleAgentAction(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="chain")return;let r=n;r.actions=r.actions||[],r.actions.push(e),r.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentAction?.(n)}async handleAgentEnd(e,t){let n=this.getRunById(t);!n||n?.run_type!=="chain"||(n.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentEnd?.(n))}_createRunForRetrieverStart(e,t,n,r,s,a,i){let o=this._getExecutionOrder(r),c=Date.now(),l={id:n,name:i??e.id[e.id.length-1],parent_run_id:r,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{query:t},execution_order:o,child_execution_order:o,run_type:"retriever",child_runs:[],extra:a?{metadata:a}:{},tags:s||[]};return this._addRunToRunMap(l)}async handleRetrieverStart(e,t,n,r,s,a,i){let o=this.getRunById(n)??this._createRunForRetrieverStart(e,t,n,r,s,a,i);return await this.onRunCreate?.(o),await this.onRetrieverStart?.(o),o}async handleRetrieverEnd(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.outputs={documents:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onRetrieverEnd?.(n),await this._endTrace(n),n}async handleRetrieverError(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onRetrieverError?.(n),await this._endTrace(n),n}async handleText(e,t){let n=this.getRunById(t);!n||n?.run_type!=="chain"||(n.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:e}}),await this.onText?.(n))}async handleLLMNewToken(e,t,n,r,s,a){let i=this.getRunById(n);if(!i||i?.run_type!=="llm")throw new Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return i.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:e,idx:t,chunk:a?.chunk}}),await this.onLLMNewToken?.(i,e,{chunk:a?.chunk}),i}},qf={exports:{}};qf.exports;var I0;function iN(){return I0||(I0=1,(function(e){let t=(s=0)=>a=>`\x1B[${38+s};5;${a}m`,n=(s=0)=>(a,i,o)=>`\x1B[${38+s};2;${a};${i};${o}m`;function r(){let s=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.gray=a.color.blackBright,a.bgColor.bgGray=a.bgColor.bgBlackBright,a.color.grey=a.color.blackBright,a.bgColor.bgGrey=a.bgColor.bgBlackBright;for(let[i,o]of Object.entries(a)){for(let[c,l]of Object.entries(o))a[c]={open:`\x1B[${l[0]}m`,close:`\x1B[${l[1]}m`},o[c]=a[c],s.set(l[0],l[1]);Object.defineProperty(a,i,{value:o,enumerable:!1})}return Object.defineProperty(a,"codes",{value:s,enumerable:!1}),a.color.close="\x1B[39m",a.bgColor.close="\x1B[49m",a.color.ansi256=t(),a.color.ansi16m=n(),a.bgColor.ansi256=t(10),a.bgColor.ansi16m=n(10),Object.defineProperties(a,{rgbToAnsi256:{value:(i,o,c)=>i===o&&o===c?i<8?16:i>248?231:Math.round((i-8)/247*24)+232:16+36*Math.round(i/255*5)+6*Math.round(o/255*5)+Math.round(c/255*5),enumerable:!1},hexToRgb:{value:i=>{let o=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(i.toString(16));if(!o)return[0,0,0];let{colorString:c}=o.groups;c.length===3&&(c=c.split("").map(u=>u+u).join(""));let l=Number.parseInt(c,16);return[l>>16&255,l>>8&255,l&255]},enumerable:!1},hexToAnsi256:{value:i=>a.rgbToAnsi256(...a.hexToRgb(i)),enumerable:!1}}),a}Object.defineProperty(e,"exports",{enumerable:!0,get:r})})(qf)),qf.exports}var oN=iN(),dx=Aa(oN),cN=Q({ConsoleCallbackHandler:()=>Hf});function Zt(e,t){return`${e.open}${t}${e.close}`}function Nn(e,t){try{return JSON.stringify(e,null,2)}catch{return t}}function T0(e){return typeof e=="string"?e.trim():e==null?e:Nn(e,e.toString())}function Gr(e){if(!e.end_time)return"";let t=e.end_time-e.start_time;return t<1e3?`${t}ms`:`${(t/1e3).toFixed(2)}s`}var{color:rn}=dx,Hf=class extends Jr{name="console_callback_handler";persistRun(e){return Promise.resolve()}getParents(e){let t=[],n=e;for(;n.parent_run_id;){let r=this.runMap.get(n.parent_run_id);if(r)t.push(r),n=r;else break}return t}getBreadcrumbs(e){let t=[...this.getParents(e).reverse(),e].map((n,r,s)=>{let a=`${n.execution_order}:${n.run_type}:${n.name}`;return r===s.length-1?Zt(dx.bold,a):a}).join(" > ");return Zt(rn.grey,t)}onChainStart(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.green,"[chain/start]")} [${t}] Entering Chain run with input: ${Nn(e.inputs,"[inputs]")}`)}onChainEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.cyan,"[chain/end]")} [${t}] [${Gr(e)}] Exiting Chain run with output: ${Nn(e.outputs,"[outputs]")}`)}onChainError(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.red,"[chain/error]")} [${t}] [${Gr(e)}] Chain run errored with error: ${Nn(e.error,"[error]")}`)}onLLMStart(e){let t=this.getBreadcrumbs(e),n="prompts"in e.inputs?{prompts:e.inputs.prompts.map(r=>r.trim())}:e.inputs;console.log(`${Zt(rn.green,"[llm/start]")} [${t}] Entering LLM run with input: ${Nn(n,"[inputs]")}`)}onLLMEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.cyan,"[llm/end]")} [${t}] [${Gr(e)}] Exiting LLM run with output: ${Nn(e.outputs,"[response]")}`)}onLLMError(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.red,"[llm/error]")} [${t}] [${Gr(e)}] LLM run errored with error: ${Nn(e.error,"[error]")}`)}onToolStart(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.green,"[tool/start]")} [${t}] Entering Tool run with input: "${T0(e.inputs.input)}"`)}onToolEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.cyan,"[tool/end]")} [${t}] [${Gr(e)}] Exiting Tool run with output: "${T0(e.outputs?.output)}"`)}onToolError(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.red,"[tool/error]")} [${t}] [${Gr(e)}] Tool run errored with error: ${Nn(e.error,"[error]")}`)}onRetrieverStart(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.green,"[retriever/start]")} [${t}] Entering Retriever run with input: ${Nn(e.inputs,"[inputs]")}`)}onRetrieverEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.cyan,"[retriever/end]")} [${t}] [${Gr(e)}] Exiting Retriever run with output: ${Nn(e.outputs,"[outputs]")}`)}onRetrieverError(e){let t=this.getBreadcrumbs(e);console.log(`${Zt(rn.red,"[retriever/error]")} [${t}] [${Gr(e)}] Retriever run errored with error: ${Nn(e.error,"[error]")}`)}onAgentAction(e){let t=e,n=this.getBreadcrumbs(e);console.log(`${Zt(rn.blue,"[agent/action]")} [${n}] Agent selected action: ${Nn(t.actions[t.actions.length-1],"[action]")}`)}},Dp,hx=()=>(Dp===void 0&&(Dp=new pi(Ur("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{})),Dp),lN=class{getStore(){}run(e,t){return t()}},Fp=Symbol.for("ls:tracing_async_local_storage"),uN=new lN,dN=class{getInstance(){return globalThis[Fp]??uN}initializeGlobalInstance(e){globalThis[Fp]===void 0&&(globalThis[Fp]=e)}},hN=new dN;function pN(e=!1){let t=hN.getInstance().getStore();if(!e&&t===void 0)throw new Error(`Could not get the current run tree.
60
+
61
+ Please make sure you are calling this method within a traceable function and that tracing is enabled.`);return t}function Yg(e){return typeof e=="function"&&"langsmith:traceable"in e}var fN=Q({LangChainTracer:()=>Wf});function mN(e){let t;for(let n of e)for(let r of n)ct.isInstance(r.message)&&r.message.usage_metadata!==void 0&&(t=zg(t,r.message.usage_metadata));return t}var Wf=class px extends Jr{name="langchain_tracer";projectName;exampleId;client;replicas;usesRunTreeMap=!0;constructor(t={}){super(t);let{exampleId:n,projectName:r,client:s,replicas:a}=t;this.projectName=r??F1(),this.replicas=a,this.exampleId=n,this.client=s??hx();let i=px.getTraceableRunTree();i&&this.updateFromRunTree(i)}async persistRun(t){}async onRunCreate(t){t.extra?.lc_defers_inputs||await this.getRunTreeWithTracingConfig(t.id)?.postRun()}async onRunUpdate(t){let n=this.getRunTreeWithTracingConfig(t.id);t.extra?.lc_defers_inputs?await n?.postRun():await n?.patchRun()}onLLMEnd(t){let n=t.outputs;if(n?.generations){let r=mN(n.generations);if(r!==void 0){t.extra=t.extra??{};let s=t.extra.metadata??{};s.usage_metadata=r,t.extra.metadata=s}}}getRun(t){return this.runTreeMap.get(t)}updateFromRunTree(t){this.runTreeMap.set(t.id,t);let n=t,r=new Set;for(;n.parent_run&&!(r.has(n.id)||(r.add(n.id),!n.parent_run));)n=n.parent_run;r.clear();let s=[n];for(;s.length>0;){let a=s.shift();!a||r.has(a.id)||(r.add(a.id),this.runTreeMap.set(a.id,a),a.child_runs&&s.push(...a.child_runs))}this.client=t.client??this.client,this.replicas=t.replicas??this.replicas,this.projectName=t.project_name??this.projectName,this.exampleId=t.reference_example_id??this.exampleId}getRunTreeWithTracingConfig(t){let n=this.runTreeMap.get(t);if(n)return new fi({...n,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return pN(!0)}catch{return}}},fx=Symbol.for("ls:tracing_async_local_storage"),$o=Symbol.for("lc:context_variables"),gN=e=>{globalThis[fx]=e},Fo=()=>globalThis[fx],Qs;function yN(){return new("default"in Br?Br.default:Br)({autoStart:!0,concurrency:1})}function _N(){return typeof Qs>"u"&&(Qs=yN()),Qs}async function ft(e,t){if(t===!0){let n=Fo();n!==void 0?await n.run(void 0,async()=>e()):await e()}else Qs=_N(),Qs.add(async()=>{let n=Fo();n!==void 0?await n.run(void 0,async()=>e()):await e()})}async function vN(){let e=hx();await Promise.allSettled([typeof Qs<"u"?Qs.onIdle():Promise.resolve(),e.awaitPendingTraceBatches()])}var bN=Q({awaitAllCallbacks:()=>vN,consumeCallback:()=>ft}),wN=e=>!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find(t=>Ur(t)==="true");function mx(e){let t=Fo();if(t!==void 0)return t.getStore()?.[$o]?.[e]}var xN=Symbol("lc:configure_hooks"),kN=()=>mx(xN)||[],EN=Q({BaseCallbackManager:()=>gx,BaseRunManager:()=>Pc,CallbackManager:()=>Kt,CallbackManagerForChainRun:()=>_x,CallbackManagerForLLMRun:()=>Jf,CallbackManagerForRetrieverRun:()=>yx,CallbackManagerForToolRun:()=>vx,ensureHandler:()=>Uo,parseCallbackConfigArg:()=>Nc});function Nc(e){return e?Array.isArray(e)||"name"in e?{callbacks:e}:e:{}}var gx=class{setHandler(e){return this.setHandlers([e])}},Pc=class{constructor(e,t,n,r,s,a,i,o){this.runId=e,this.handlers=t,this.inheritableHandlers=n,this.tags=r,this.inheritableTags=s,this.metadata=a,this.inheritableMetadata=i,this._parentRunId=o}get parentRunId(){return this._parentRunId}async handleText(e){await Promise.all(this.handlers.map(t=>ft(async()=>{try{await t.handleText?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleText: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleCustomEvent(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{try{await a.handleCustomEvent?.(e,t,this.runId,this.tags,this.metadata)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleCustomEvent: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}},yx=class extends Pc{getChild(e){let t=new Kt(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleRetrieverEnd(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetriever`),t.raiseError)throw n}},t.awaitHandlers)))}async handleRetrieverError(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverError?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetrieverError: ${n}`),t.raiseError)throw e}},t.awaitHandlers)))}},Jf=class extends Pc{async handleLLMNewToken(e,t,n,r,s,a){await Promise.all(this.handlers.map(i=>ft(async()=>{if(!i.ignoreLLM)try{await i.handleLLMNewToken?.(e,t??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,a)}catch(o){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleLLMNewToken: ${o}`),i.raiseError)throw o}},i.awaitHandlers)))}async handleLLMError(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreLLM)try{await a.handleLLMError?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMError: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleLLMEnd(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreLLM)try{await a.handleLLMEnd?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMEnd: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}},_x=class extends Pc{getChild(e){let t=new Kt(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleChainError(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreChain)try{await a.handleChainError?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleChainError: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleChainEnd(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreChain)try{await a.handleChainEnd?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleChainEnd: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleAgentAction(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleAgentAction?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentAction: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleAgentEnd(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleAgentEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentEnd: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}},vx=class extends Pc{getChild(e){let t=new Kt(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleToolError(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleToolError?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolError: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleToolEvent(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleToolEvent?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if(t.raiseError)throw n}},t.awaitHandlers)))}async handleToolEnd(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleToolEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolEnd: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}},Kt=class oo extends gx{handlers=[];inheritableHandlers=[];tags=[];inheritableTags=[];metadata={};inheritableMetadata={};name="callback_manager";_parentRunId;constructor(t,n){super(),this.handlers=n?.handlers??this.handlers,this.inheritableHandlers=n?.inheritableHandlers??this.inheritableHandlers,this.tags=n?.tags??this.tags,this.inheritableTags=n?.inheritableTags??this.inheritableTags,this.metadata=n?.metadata??this.metadata,this.inheritableMetadata=n?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=t}getParentRunId(){return this._parentRunId}async handleLLMStart(t,n,r=void 0,s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return Promise.all(n.map(async(l,u)=>{let d=u===0&&r?r:ts();return await Promise.all(this.handlers.map(h=>{if(!h.ignoreLLM)return za(h)&&h._createRunForLLMStart(t,[l],d,this._parentRunId,a,this.tags,this.metadata,c),ft(async()=>{try{await h.handleLLMStart?.(t,[l],d,this._parentRunId,a,this.tags,this.metadata,c)}catch(p){if((h.raiseError?console.error:console.warn)(`Error in handler ${h.constructor.name}, handleLLMStart: ${p}`),h.raiseError)throw p}},h.awaitHandlers)})),new Jf(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(t,n,r=void 0,s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return Promise.all(n.map(async(l,u)=>{let d=u===0&&r?r:ts();return await Promise.all(this.handlers.map(h=>{if(!h.ignoreLLM)return za(h)&&h._createRunForChatModelStart(t,[l],d,this._parentRunId,a,this.tags,this.metadata,c),ft(async()=>{try{if(h.handleChatModelStart)await h.handleChatModelStart?.(t,[l],d,this._parentRunId,a,this.tags,this.metadata,c);else if(h.handleLLMStart){let p=Fg(l);await h.handleLLMStart?.(t,[p],d,this._parentRunId,a,this.tags,this.metadata,c)}}catch(p){if((h.raiseError?console.error:console.warn)(`Error in handler ${h.constructor.name}, handleLLMStart: ${p}`),h.raiseError)throw p}},h.awaitHandlers)})),new Jf(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(t,n,r=ts(),s=void 0,a=void 0,i=void 0,o=void 0,c=void 0,l=void 0){return await Promise.all(this.handlers.map(u=>{if(!u.ignoreChain)return za(u)&&u._createRunForChainStart(t,n,r,this._parentRunId,this.tags,this.metadata,s,o,l),ft(async()=>{try{await u.handleChainStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,s,o,l)}catch(d){if((u.raiseError?console.error:console.warn)(`Error in handler ${u.constructor.name}, handleChainStart: ${d}`),u.raiseError)throw d}},u.awaitHandlers)})),new _x(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(t,n,r=ts(),s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return await Promise.all(this.handlers.map(l=>{if(!l.ignoreAgent)return za(l)&&l._createRunForToolStart(t,n,r,this._parentRunId,this.tags,this.metadata,o),ft(async()=>{try{await l.handleToolStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,o,c)}catch(u){if((l.raiseError?console.error:console.warn)(`Error in handler ${l.constructor.name}, handleToolStart: ${u}`),l.raiseError)throw u}},l.awaitHandlers)})),new vx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(t,n,r=ts(),s=void 0,a=void 0,i=void 0,o=void 0){return await Promise.all(this.handlers.map(c=>{if(!c.ignoreRetriever)return za(c)&&c._createRunForRetrieverStart(t,n,r,this._parentRunId,this.tags,this.metadata,o),ft(async()=>{try{await c.handleRetrieverStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,o)}catch(l){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleRetrieverStart: ${l}`),c.raiseError)throw l}},c.awaitHandlers)})),new yx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(t,n,r,s,a){await Promise.all(this.handlers.map(i=>ft(async()=>{if(!i.ignoreCustomEvent)try{await i.handleCustomEvent?.(t,n,r,this.tags,this.metadata)}catch(o){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleCustomEvent: ${o}`),i.raiseError)throw o}},i.awaitHandlers)))}addHandler(t,n=!0){this.handlers.push(t),n&&this.inheritableHandlers.push(t)}removeHandler(t){this.handlers=this.handlers.filter(n=>n!==t),this.inheritableHandlers=this.inheritableHandlers.filter(n=>n!==t)}setHandlers(t,n=!0){this.handlers=[],this.inheritableHandlers=[];for(let r of t)this.addHandler(r,n)}addTags(t,n=!0){this.removeTags(t),this.tags.push(...t),n&&this.inheritableTags.push(...t)}removeTags(t){this.tags=this.tags.filter(n=>!t.includes(n)),this.inheritableTags=this.inheritableTags.filter(n=>!t.includes(n))}addMetadata(t,n=!0){this.metadata={...this.metadata,...t},n&&(this.inheritableMetadata={...this.inheritableMetadata,...t})}removeMetadata(t){for(let n of Object.keys(t))delete this.metadata[n],delete this.inheritableMetadata[n]}copy(t=[],n=!0){let r=new oo(this._parentRunId);for(let s of this.handlers){let a=this.inheritableHandlers.includes(s);r.addHandler(s,a)}for(let s of this.tags){let a=this.inheritableTags.includes(s);r.addTags([s],a)}for(let s of Object.keys(this.metadata)){let a=Object.keys(this.inheritableMetadata).includes(s);r.addMetadata({[s]:this.metadata[s]},a)}for(let s of t)r.handlers.filter(a=>a.name==="console_callback_handler").some(a=>a.name===s.name)||r.addHandler(s,n);return r}static fromHandlers(t){class n extends Ea{name=ts();constructor(){super(),Object.assign(this,t)}}let r=new this;return r.addHandler(new n),r}static configure(t,n,r,s,a,i,o){return this._configureSync(t,n,r,s,a,i,o)}static _configureSync(t,n,r,s,a,i,o){let c;(t||n)&&(Array.isArray(t)||!t?(c=new oo,c.setHandlers(t?.map(Uo)??[],!0)):c=t,c=c.copy(Array.isArray(n)?n.map(Uo):n?.handlers,!1));let l=Ur("LANGCHAIN_VERBOSE")==="true"||o?.verbose,u=Wf.getTraceableRunTree(),d=u?.tracingEnabled??wN();if(u?.tracingEnabled===!1&&c){let p=c.handlers.filter(f=>f.name==="langchain_tracer");for(let f of p)c.removeHandler(f)}let h=d||(Ur("LANGCHAIN_TRACING")??!1);if(l||h){if(c||(c=new oo),l&&!c.handlers.some(p=>p.name===Hf.prototype.name)){let p=new Hf;c.addHandler(p,!0)}if(h&&!c.handlers.some(p=>p.name==="langchain_tracer")&&d){let p=new Wf;c.addHandler(p,!0)}d&&u&&c._parentRunId===void 0&&(c._parentRunId=u.id,c.handlers.find(p=>p.name==="langchain_tracer")?.updateFromRunTree(u))}for(let{contextVar:p,inheritable:f=!0,handlerClass:m,envVar:v}of kN()){let w=v&&Ur(v)==="true"&&m,y,x=p!==void 0?mx(p):void 0;x&&z1(x)?y=x:w&&(y=new m({})),y!==void 0&&(c||(c=new oo),c.handlers.some(k=>k.name===y.name)||c.addHandler(y,f))}return(r||s)&&c&&(c.addTags(r??[]),c.addTags(s??[],!1)),(a||i)&&c&&(c.addMetadata(a??{}),c.addMetadata(i??{},!1)),c}};function Uo(e){return"name"in e?e:Ea.fromMethods(e)}var bx=class{getStore(){}run(e,t){return t()}enterWith(e){}},SN=new bx,A0=Symbol.for("lc:child_config"),ON=class{getInstance(){return Fo()??SN}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[A0]}runWithConfig(e,t,n){let r=Kt._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata),s=this.getInstance(),a=s.getStore(),i=r?.getParentRunId(),o=r?.handlers?.find(l=>l?.name==="langchain_tracer"),c;return o&&i?c=o.getRunTreeWithTracingConfig(i):n||(c=new fi({name:"<runnable_lambda>",tracingEnabled:!1})),c&&(c.extra={...c.extra,[A0]:e}),a!==void 0&&a[$o]!==void 0&&(c===void 0&&(c={}),c[$o]=a[$o]),s.run(c,t)}initializeGlobalInstance(e){Fo()===void 0&&gN(e)}},jt=new ON,IN=Q({AsyncLocalStorageProviderSingleton:()=>jt,MockAsyncLocalStorage:()=>bx,_CONTEXT_VARIABLES_KEY:()=>$o});async function Xt(e){return Kt._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata)}function Mn(...e){let t={};for(let n of e.filter(r=>!!r))for(let r of Object.keys(n))if(r==="metadata")t[r]={...t[r],...n[r]};else if(r==="tags"){let s=t[r]??[];t[r]=[...new Set(s.concat(n[r]??[]))]}else if(r==="configurable")t[r]={...t[r],...n[r]};else if(r==="timeout")t.timeout===void 0?t.timeout=n.timeout:n.timeout!==void 0&&(t.timeout=Math.min(t.timeout,n.timeout));else if(r==="signal")t.signal===void 0?t.signal=n.signal:n.signal!==void 0&&("any"in AbortSignal?t.signal=AbortSignal.any([t.signal,n.signal]):t.signal=n.signal);else if(r==="callbacks"){let s=t.callbacks,a=n.callbacks;if(Array.isArray(a))if(!s)t.callbacks=a;else if(Array.isArray(s))t.callbacks=s.concat(a);else{let i=s.copy();for(let o of a)i.addHandler(Uo(o),!0);t.callbacks=i}else if(a)if(!s)t.callbacks=a;else if(Array.isArray(s)){let i=a.copy();for(let o of s)i.addHandler(Uo(o),!0);t.callbacks=i}else t.callbacks=new Kt(a._parentRunId,{handlers:s.handlers.concat(a.handlers),inheritableHandlers:s.inheritableHandlers.concat(a.inheritableHandlers),tags:Array.from(new Set(s.tags.concat(a.tags))),inheritableTags:Array.from(new Set(s.inheritableTags.concat(a.inheritableTags))),metadata:{...s.metadata,...a.metadata}})}else{let s=r;t[s]=n[s]??t[s]}return t}var TN=new Set(["string","number","boolean"]);function Le(e){let t=jt.getRunnableConfig(),n={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(t){let{runId:r,runName:s,...a}=t;n=Object.entries(a).reduce((i,[o,c])=>(c!==void 0&&(i[o]=c),i),n)}if(e&&(n=Object.entries(e).reduce((r,[s,a])=>(a!==void 0&&(r[s]=a),r),n)),n?.configurable)for(let r of Object.keys(n.configurable))TN.has(typeof n.configurable[r])&&!n.metadata?.[r]&&(n.metadata||(n.metadata={}),n.metadata[r]=n.configurable[r]);if(n.timeout!==void 0){if(n.timeout<=0)throw new Error("Timeout must be a positive number");let r=n.timeout,s=AbortSignal.timeout(r);n.metadata||(n.metadata={}),n.metadata.timeoutMs===void 0&&(n.metadata.timeoutMs=r),n.signal!==void 0?"any"in AbortSignal&&(n.signal=AbortSignal.any([n.signal,s])):n.signal=s,delete n.timeout}return n}function Ve(e={},{callbacks:t,maxConcurrency:n,recursionLimit:r,runName:s,configurable:a,runId:i}={}){let o=Le(e);return t!==void 0&&(delete o.runName,o.callbacks=t),r!==void 0&&(o.recursionLimit=r),n!==void 0&&(o.maxConcurrency=n),s!==void 0&&(o.runName=s),a!==void 0&&(o.configurable={...o.configurable,...a}),i!==void 0&&delete o.runId,o}function Vr(e){if(e)return{configurable:e.configurable,recursionLimit:e.recursionLimit,callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,maxConcurrency:e.maxConcurrency,timeout:e.timeout,signal:e.signal,store:e.store}}async function Ir(e,t){if(t===void 0)return e;let n;return Promise.race([e.catch(r=>{if(!t?.aborted)throw r}),new Promise((r,s)=>{n=()=>{s(Bo(t))},t.addEventListener("abort",n,{once:!0}),t.aborted&&s(Bo(t))})]).finally(()=>t.removeEventListener("abort",n))}function Bo(e){return e?.reason instanceof Error?e.reason:typeof e?.reason=="string"?new Error(e.reason):new Error("Aborted")}var AN=Q({AsyncGeneratorWithSetup:()=>Sa,IterableReadableStream:()=>fn,atee:()=>Qg,concat:()=>_s,pipeGeneratorWithSetup:()=>wx}),fn=class Gf extends ReadableStream{reader;ensureReader(){this.reader||(this.reader=this.getReader())}async next(){this.ensureReader();try{let t=await this.reader.read();return t.done?(this.reader.releaseLock(),{done:!0,value:void 0}):{done:!1,value:t.value}}catch(t){throw this.reader.releaseLock(),t}}async return(){if(this.ensureReader(),this.locked){let t=this.reader.cancel();this.reader.releaseLock(),await t}return{done:!0,value:void 0}}async throw(t){if(this.ensureReader(),this.locked){let n=this.reader.cancel();this.reader.releaseLock(),await n}throw t}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream(t){let n=t.getReader();return new Gf({start(r){return s();function s(){return n.read().then(({done:a,value:i})=>{if(a){r.close();return}return r.enqueue(i),s()})}},cancel(){n.releaseLock()}})}static fromAsyncGenerator(t){return new Gf({async pull(n){let{value:r,done:s}=await t.next();s&&n.close(),n.enqueue(r)},async cancel(n){await t.return(n)}})}};function Qg(e,t=2){let n=Array.from({length:t},()=>[]);return n.map(async function*(r){for(;;)if(r.length===0){let s=await e.next();for(let a of n)a.push(s)}else{if(r[0].done)return;yield r.shift().value}})}function _s(e,t){if(Array.isArray(e)&&Array.isArray(t))return e.concat(t);if(typeof e=="string"&&typeof t=="string"||typeof e=="number"&&typeof t=="number")return e+t;if("concat"in e&&typeof e.concat=="function")return e.concat(t);if(typeof e=="object"&&typeof t=="object"){let n={...e};for(let[r,s]of Object.entries(t))r in n&&!Array.isArray(n[r])?n[r]=_s(n[r],s):n[r]=s;return n}else throw new Error(`Cannot concat ${typeof e} and ${typeof t}`)}var Sa=class{generator;setup;config;signal;firstResult;firstResultUsed=!1;constructor(e){this.generator=e.generator,this.config=e.config,this.signal=e.signal??this.config?.signal,this.setup=new Promise((t,n)=>{jt.runWithConfig(Vr(e.config),async()=>{this.firstResult=this.signal?Ir(e.generator.next(),this.signal):e.generator.next(),e.startSetup?this.firstResult.then(e.startSetup).then(t,n):this.firstResult.then(r=>t(void 0),n)},!0)})}async next(...e){return this.signal?.throwIfAborted(),this.firstResultUsed?jt.runWithConfig(Vr(this.config),this.signal?async()=>Ir(this.generator.next(...e),this.signal):async()=>this.generator.next(...e),!0):(this.firstResultUsed=!0,this.firstResult)}async return(e){return this.generator.return(e)}async throw(e){return this.generator.throw(e)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}};async function wx(e,t,n,r,...s){let a=new Sa({generator:t,startSetup:n,signal:r}),i=await a.setup;return{output:e(a,i,...s),setup:i}}var $N=Object.prototype.hasOwnProperty;function Kf(e,t){return $N.call(e,t)}function Xf(e){if(Array.isArray(e)){let n=new Array(e.length);for(let r=0;r<n.length;r++)n[r]=""+r;return n}if(Object.keys)return Object.keys(e);let t=[];for(let n in e)Kf(e,n)&&t.push(n);return t}function tr(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function Yf(e){let t=0,n=e.length,r;for(;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return!0}function $a(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function CN(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Qf(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(let n=0,r=e.length;n<r;n++)if(Qf(e[n]))return!0}else if(typeof e=="object"){let n=Xf(e),r=n.length;for(var t=0;t<r;t++)if(Qf(e[n[t]]))return!0}}return!1}function $0(e,t){let n=[e];for(let r in t){let s=typeof t[r]=="object"?JSON.stringify(t[r],null,2):t[r];typeof s<"u"&&n.push(`${r}: ${s}`)}return n.join(`
62
+ `)}var NN=class extends Error{constructor(e,t,n,r,s){super($0(e,{name:t,index:n,operation:r,tree:s})),this.name=t,this.index=n,this.operation=r,this.tree=s,Object.setPrototypeOf(this,new.target.prototype),this.message=$0(e,{name:t,index:n,operation:r,tree:s})}},PN=Q({JsonPatchError:()=>it,_areEquals:()=>Zo,applyOperation:()=>ea,applyPatch:()=>mi,applyReducer:()=>LN,deepClone:()=>jN,getValueByPointer:()=>gu,validate:()=>xx,validator:()=>yu}),it=NN,jN=tr,Xa={add:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){let r=gu(n,this.path);r&&(r=tr(r));let s=ea(n,{op:"remove",path:this.from}).removed;return ea(n,{op:"add",path:this.path,value:s}),{newDocument:n,removed:r}},copy:function(e,t,n){let r=gu(n,this.from);return ea(n,{op:"add",path:this.path,value:tr(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:Zo(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},RN={add:function(e,t,n){return Yf(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:Xa.move,copy:Xa.copy,test:Xa.test,_get:Xa._get};function gu(e,t){if(t=="")return e;var n={op:"_get",path:t};return ea(e,n),n.value}function ea(e,t,n=!1,r=!0,s=!0,a=0){if(n&&(typeof n=="function"?n(t,0,e,t.path):yu(t,0)),t.path===""){let i={newDocument:e};if(t.op==="add")return i.newDocument=t.value,i;if(t.op==="replace")return i.newDocument=t.value,i.removed=e,i;if(t.op==="move"||t.op==="copy")return i.newDocument=gu(e,t.from),t.op==="move"&&(i.removed=e),i;if(t.op==="test"){if(i.test=Zo(e,t.value),i.test===!1)throw new it("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i.newDocument=e,i}else{if(t.op==="remove")return i.removed=e,i.newDocument=null,i;if(t.op==="_get")return t.value=e,i;if(n)throw new it("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);return i}}else{r||(e=tr(e));let i=(t.path||"").split("/"),o=e,c=1,l=i.length,u,d,h;for(typeof n=="function"?h=n:h=yu;;){if(d=i[c],d&&d.indexOf("~")!=-1&&(d=CN(d)),s&&(d=="__proto__"||d=="prototype"&&c>0&&i[c-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&u===void 0&&(o[d]===void 0?u=i.slice(0,c).join("/"):c==l-1&&(u=t.path),u!==void 0&&h(t,0,e,u)),c++,Array.isArray(o)){if(d==="-")d=o.length;else{if(n&&!Yf(d))throw new it("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);Yf(d)&&(d=~~d)}if(c>=l){if(n&&t.op==="add"&&d>o.length)throw new it("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);let p=RN[t.op].call(t,o,d,e);if(p.test===!1)throw new it("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return p}}else if(c>=l){let p=Xa[t.op].call(t,o,d,e);if(p.test===!1)throw new it("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return p}if(o=o[d],n&&c<l&&(!o||typeof o!="object"))throw new it("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",a,t,e)}}}function mi(e,t,n,r=!0,s=!0){if(n&&!Array.isArray(t))throw new it("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");r||(e=tr(e));let a=new Array(t.length);for(let i=0,o=t.length;i<o;i++)a[i]=ea(e,t[i],n,!0,s,i),e=a[i].newDocument;return a.newDocument=e,a}function LN(e,t,n){let r=ea(e,t);if(r.test===!1)throw new it("Test operation failed","TEST_OPERATION_FAILED",n,t,e);return r.newDocument}function yu(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))throw new it("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,n);if(Xa[e.op]){if(typeof e.path!="string")throw new it("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,n);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new it('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new it("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new it("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&Qf(e.value))throw new it("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);if(n){if(e.op=="add"){var s=e.path.split("/").length,a=r.split("/").length;if(s!==a+1&&s!==a)throw new it("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==r)throw new it("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if(e.op==="move"||e.op==="copy"){var i=xx([{op:"_get",path:e.from,value:void 0}],n);if(i&&i.name==="OPERATION_PATH_UNRESOLVABLE")throw new it("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}}else throw new it("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,n)}function xx(e,t,n){try{if(!Array.isArray(e))throw new it("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)mi(tr(t),tr(e),n||!0);else{n=n||yu;for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(s){if(s instanceof it)return s;throw s}}function Zo(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=Array.isArray(e),r=Array.isArray(t),s,a,i;if(n&&r){if(a=e.length,a!=t.length)return!1;for(s=a;s--!==0;)if(!Zo(e[s],t[s]))return!1;return!0}if(n!=r)return!1;var o=Object.keys(e);if(a=o.length,a!==Object.keys(t).length)return!1;for(s=a;s--!==0;)if(!t.hasOwnProperty(o[s]))return!1;for(s=a;s--!==0;)if(i=o[s],!Zo(e[i],t[i]))return!1;return!0}return e!==e&&t!==t}function kx(e,t,n,r,s){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=Xf(t),i=Xf(e),o=!1,c=i.length-1;c>=0;c--){var l=i[c],u=e[l];if(Kf(t,l)&&!(t[l]===void 0&&u!==void 0&&Array.isArray(t)===!1)){var d=t[l];typeof u=="object"&&u!=null&&typeof d=="object"&&d!=null&&Array.isArray(u)===Array.isArray(d)?kx(u,d,n,r+"/"+$a(l),s):u!==d&&(s&&n.push({op:"test",path:r+"/"+$a(l),value:tr(u)}),n.push({op:"replace",path:r+"/"+$a(l),value:tr(d)}))}else Array.isArray(e)===Array.isArray(t)?(s&&n.push({op:"test",path:r+"/"+$a(l),value:tr(u)}),n.push({op:"remove",path:r+"/"+$a(l)}),o=!0):(s&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}))}if(!(!o&&a.length==i.length))for(var c=0;c<a.length;c++){var l=a[c];!Kf(e,l)&&t[l]!==void 0&&n.push({op:"add",path:r+"/"+$a(l),value:tr(t[l])})}}}function th(e,t,n=!1){var r=[];return kx(e,t,r,"",n),r}({...PN});var MN=Q({LogStreamCallbackHandler:()=>tm,RunLog:()=>ey,RunLogPatch:()=>Mr,isLogStreamHandler:()=>Ex}),Mr=class{ops;constructor(e){this.ops=e.ops??[]}concat(e){let t=this.ops.concat(e.ops),n=mi({},t);return new ey({ops:t,state:n[n.length-1].newDocument})}},ey=class em extends Mr{state;constructor(t){super(t),this.state=t.state}concat(t){let n=this.ops.concat(t.ops),r=mi(this.state,t.ops);return new em({ops:n,state:r[r.length-1].newDocument})}static fromRunLogPatch(t){let n=mi({},t.ops);return new em({ops:t.ops,state:n[n.length-1].newDocument})}},Ex=e=>e.name==="log_stream_tracer";async function C0(e,t){if(t==="original")throw new Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");let{inputs:n}=e;if(["retriever","llm","prompt"].includes(e.run_type))return n;if(!(Object.keys(n).length===1&&n?.input===""))return n.input}async function N0(e,t){let{outputs:n}=e;return t==="original"||["retriever","llm","prompt"].includes(e.run_type)?n:n!==void 0&&Object.keys(n).length===1&&n?.output!==void 0?n.output:n}function zN(e){return e!==void 0&&e.message!==void 0}var tm=class extends Jr{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;_schemaFormat="original";rootId;keyMapByRunId={};counterMapByRunName={};transformStream;writer;receiveStream;name="log_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this._schemaFormat=e?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=fn.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){if(e.id===this.rootId)return!1;let t=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.run_type)),this.includeTags!==void 0&&(n=n||t.find(r=>this.includeTags?.includes(r))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.run_type)),this.excludeTags!==void 0&&(n=n&&t.every(r=>!this.excludeTags?.includes(r))),n}async*tapOutputIterable(e,t){for await(let n of t){if(e!==this.rootId){let r=this.keyMapByRunId[e];r&&await this.writer.write(new Mr({ops:[{op:"add",path:`/logs/${r}/streamed_output/-`,value:n}]}))}yield n}}async onRunCreate(e){if(this.rootId===void 0&&(this.rootId=e.id,await this.writer.write(new Mr({ops:[{op:"replace",path:"",value:{id:e.id,name:e.name,type:e.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}))),!this._includeRun(e))return;this.counterMapByRunName[e.name]===void 0&&(this.counterMapByRunName[e.name]=0),this.counterMapByRunName[e.name]+=1;let t=this.counterMapByRunName[e.name];this.keyMapByRunId[e.id]=t===1?e.name:`${e.name}:${t}`;let n={id:e.id,name:e.name,type:e.run_type,tags:e.tags??[],metadata:e.extra?.metadata??{},start_time:new Date(e.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};this._schemaFormat==="streaming_events"&&(n.inputs=await C0(e,this._schemaFormat)),await this.writer.write(new Mr({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[e.id]}`,value:n}]}))}async onRunUpdate(e){try{let t=this.keyMapByRunId[e.id];if(t===void 0)return;let n=[];this._schemaFormat==="streaming_events"&&n.push({op:"replace",path:`/logs/${t}/inputs`,value:await C0(e,this._schemaFormat)}),n.push({op:"add",path:`/logs/${t}/final_output`,value:await N0(e,this._schemaFormat)}),e.end_time!==void 0&&n.push({op:"add",path:`/logs/${t}/end_time`,value:new Date(e.end_time).toISOString()});let r=new Mr({ops:n});await this.writer.write(r)}finally{if(e.id===this.rootId){let t=new Mr({ops:[{op:"replace",path:"/final_output",value:await N0(e,this._schemaFormat)}]});await this.writer.write(t),this.autoClose&&await this.writer.close()}}}async onLLMNewToken(e,t,n){let r=this.keyMapByRunId[e.id];if(r===void 0)return;let s=e.inputs.messages!==void 0,a;s?zN(n?.chunk)?a=n?.chunk:a=new ir({id:`run-${e.id}`,content:t}):a=t;let i=new Mr({ops:[{op:"add",path:`/logs/${r}/streamed_output_str/-`,value:t},{op:"add",path:`/logs/${r}/streamed_output/-`,value:a}]});await this.writer.write(i)}},DN=Q({ChatGenerationChunk:()=>yi,GenerationChunk:()=>gi,RUN_KEY:()=>Vo}),Vo="__run",gi=class Sx{text;generationInfo;constructor(t){this.text=t.text,this.generationInfo=t.generationInfo}concat(t){return new Sx({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo}})}},yi=class Ox extends gi{message;constructor(t){super(t),this.message=t.message}concat(t){return new Ox({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo},message:this.message.concat(t.message)})}},FN=Object.prototype.toString,UN=e=>FN.call(e)==="[object Error]",BN=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function ZN(e){if(!(e&&UN(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:n}=e;return t==="Load failed"?n===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:BN.has(t)}function VN(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function ol(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${r?" or Infinity":""}.`);if(!r&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw new TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}var qN=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function HN(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,s=Math.round(r*t.minTimeout*t.factor**(n-1));return s=Math.min(s,t.maxTimeout),s}function P0(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function WN({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:s}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof qN)throw a.originalError;let i=Number.isFinite(s.retries)?Math.max(0,s.retries-n):s.retries,o=s.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:i,retriesConsumed:n});if(await s.onFailedAttempt(c),P0(r,o)<=0)throw a;let l=await s.shouldConsumeRetry(c),u=P0(r,o);if(u<=0||i<=0)throw a;if(a instanceof TypeError&&!ZN(a)){if(l)throw a;return s.signal?.throwIfAborted(),!1}if(!await s.shouldRetry(c))throw a;if(!l)return s.signal?.throwIfAborted(),!1;let d=HN(n,s),h=Math.min(d,u);return h>0&&await new Promise((p,f)=>{let m=()=>{clearTimeout(v),s.signal?.removeEventListener("abort",m),f(s.signal.reason)},v=setTimeout(()=>{s.signal?.removeEventListener("abort",m),p()},h);s.unref&&v.unref?.(),s.signal?.addEventListener("abort",m,{once:!0})}),s.signal?.throwIfAborted(),!0}async function nm(e,t={}){if(t={...t},VN(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,ol("factor",t.factor,{min:0,allowInfinity:!1}),ol("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),ol("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),ol("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,s=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let a=await e(n);return t.signal?.throwIfAborted(),a}catch(a){await WN({error:a,attemptNumber:n,retriesConsumed:r,startTime:s,options:t})&&r++}}throw new Error("Retry attempts exhausted without throwing an error.")}var JN=Q({AsyncCaller:()=>jc}),GN=[400,401,402,403,404,405,406,407,409],KN=e=>{if(typeof e!="object"||e===null)return;if("message"in e&&typeof e.message=="string"&&(e.message.startsWith("Cancel")||e.message.startsWith("AbortError"))||"name"in e&&typeof e.name=="string"&&e.name==="AbortError"||"code"in e&&typeof e.code=="string"&&e.code==="ECONNABORTED")throw e;let t="response"in e&&typeof e.response=="object"&&e.response!==null&&"status"in e.response&&typeof e.response.status=="number"?e.response.status:void 0,n="status"in e&&typeof e.status=="number"?e.status:void 0,r=t??n;if(r&&GN.includes(+r))throw e;if(("error"in e&&typeof e.error=="object"&&e.error!==null&&"code"in e.error&&typeof e.error.code=="string"?e.error.code:void 0)==="insufficient_quota"){let s=new Error("message"in e&&typeof e.message=="string"?e.message:"Insufficient quota");throw s.name="InsufficientQuotaError",s}},jc=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor(e){this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.onFailedAttempt=e.onFailedAttempt??KN,this.queue=new("default"in Br?Br.default:Br)({concurrency:this.maxConcurrency})}async call(e,...t){return this.queue.add(()=>nm(()=>e(...t).catch(n=>{throw n instanceof Error?n:new Error(n)}),{onFailedAttempt:({error:n})=>this.onFailedAttempt?.(n),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(e,t,...n){if(e.signal){let r;return Promise.race([this.call(t,...n),new Promise((s,a)=>{r=()=>{a(Bo(e.signal))},e.signal?.addEventListener("abort",r,{once:!0})})]).finally(()=>{e.signal&&r&&e.signal.removeEventListener("abort",r)})}return this.call(t,...n)}fetch(...e){return this.call(()=>fetch(...e).then(t=>t.ok?t:Promise.reject(t)))}},XN=Q({isSerializableSchema:()=>qo,isStandardJsonSchema:()=>ty,isStandardSchema:()=>Ix});function Ix(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function ty(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function qo(e){return Ix(e)&&ty(e)}function qi(e,t,n){function r(o,c){if(o._zod||Object.defineProperty(o,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),o._zod.traits.has(e))return;o._zod.traits.add(e),t(o,c);let l=i.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let h=u[d];h in o||(o[h]=l[h].bind(o))}}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let l=n?.Parent?new a:this;r(l,o),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var Co=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},YN={};function nh(e){return YN}function QN(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function eP(e,t){return typeof t=="bigint"?t.toString():t}function tP(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var j0=Symbol("evaluating");function rm(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==j0)return r===void 0&&(r=j0,r=n()),r},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function Tx(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ax(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}var $x="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function R0(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nP(e){if(R0(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(R0(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function nr(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function rP(e){return{}}function sP(e,t){if(!nP(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Ax(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return Tx(this,"shape",s),s}});return nr(e,r)}function aP(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Ax(t._zod.def,{get shape(){let a=t._zod.def.shape,i={...a};for(let o in a)i[o]=e?new e({type:"optional",innerType:a[o]}):a[o];return Tx(this,"shape",i),i},checks:[]});return nr(t,s)}function cl(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function ll(e){return typeof e=="string"?e:e?.message}function rh(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=ll(e.inst?._zod.def?.error?.(e))??ll(t?.error?.(e))??ll(n.customError?.(e))??ll(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}var Cx=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,eP,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},iP=qi("$ZodError",Cx),sh=qi("$ZodError",Cx,{Parent:Error});function oP(e){let t=[],n=e.map(r=>typeof r=="object"?r.key:r);for(let r of n)typeof r=="number"?t.push(`[${r}]`):typeof r=="symbol"?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}function cP(e){let t=[],n=[...e.issues].sort((r,s)=>(r.path??[]).length-(s.path??[]).length);for(let r of n)t.push(`\u2716 ${r.message}`),r.path?.length&&t.push(` \u2192 at ${oP(r.path)}`);return t.join(`
63
+ `)}var lP=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new Co;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>rh(c,a,nh())));throw $x(o,s?.callee),o}return i.value},ny=lP(sh),uP=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>rh(c,a,nh())));throw $x(o,s?.callee),o}return i.value},Nx=uP(sh),dP=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new Co;return a.issues.length?{success:!1,error:new(e??iP)(a.issues.map(i=>rh(i,s,nh())))}:{success:!0,data:a.value}},hP=dP(sh),pP=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>rh(i,s,nh())))}:{success:!0,data:a.value}},fP=pP(sh),mP={major:4,minor:3,patch:6},ry=qi("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=mP;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(i,o,c)=>{let l=cl(i),u;for(let d of o){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(l)continue;let h=i.issues.length,p=d._zod.check(i);if(p instanceof Promise&&c?.async===!1)throw new Co;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,i.issues.length!==h&&(l||(l=cl(i,h)))});else{if(i.issues.length===h)continue;l||(l=cl(i,h))}}return u?u.then(()=>i):i},a=(i,o,c)=>{if(cl(i))return i.aborted=!0,i;let l=s(o,r,c);if(l instanceof Promise){if(c.async===!1)throw new Co;return l.then(u=>e._zod.parse(u,c))}return e._zod.parse(l,c)};e._zod.run=(i,o)=>{if(o.skipChecks)return e._zod.parse(i,o);if(o.direction==="backward"){let l=e._zod.parse({value:i.value,issues:[]},{...o,skipChecks:!0});return l instanceof Promise?l.then(u=>a(u,i,o)):a(l,i,o)}let c=e._zod.parse(i,o);if(c instanceof Promise){if(o.async===!1)throw new Co;return c.then(l=>s(l,r,o))}return s(c,r,o)}}rm(e,"~standard",()=>({validate:s=>{try{let a=hP(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return fP(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),gP=qi("$ZodUnknown",(e,t)=>{ry.init(e,t),e._zod.parse=n=>n}),yP=qi("$ZodNever",(e,t)=>{ry.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function L0(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var Px=qi("$ZodOptional",(e,t)=>{ry.init(e,t),e._zod.optin="optional",e._zod.optout="optional",rm(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),rm(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${tP(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>L0(a,n.value)):L0(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),M0,_P=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function vP(){return new _P}(M0=globalThis).__zod_globalRegistry??(M0.__zod_globalRegistry=vP());var ln=globalThis.__zod_globalRegistry;function bP(e){return new e({type:"unknown"})}function wP(e,t){return new e({type:"never",...rP()})}function sm(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ln,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Qe(e,t,n={path:[],schemaPath:[]}){var r;let s=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);let o=e._zod.toJSONSchema?.();if(o)i.schema=o;else{let l={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,l);else{let d=i.schema,h=t.processors[s.type];if(!h)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);h(e,t,d,l)}let u=e._zod.parent;u&&(i.ref||(i.ref=u),Qe(u,t,l),t.seen.get(u).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&qt(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function am(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let i of e.seen.entries()){let o=e.metadataRegistry.get(i[0])?.id;if(o){let c=r.get(o);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${o}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(o,i[0])}}let s=i=>{let o=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let u=e.external.registry.get(i[0])?.id,d=e.external.uri??(p=>p);if(u)return{ref:d(u)};let h=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=h,{defId:h,ref:`${d("__shared")}#/${o}/${h}`}}if(i[1]===n)return{ref:"#"};let c=`#/${o}/`,l=i[1].schema.id??`__schema${e.counter++}`;return{defId:l,ref:c+l}},a=i=>{if(i[1].schema.$ref)return;let o=i[1],{ref:c,defId:l}=s(i);o.def={...o.schema},l&&(o.defId=l);let u=o.schema;for(let d in u)delete u[d];u.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let o=i[1];if(o.cycle)throw new Error(`Cycle detected: #/${o.cycle?.join("/")}/<root>
64
+
65
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let o=i[1];if(t===i[0]){a(i);continue}if(e.external){let c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(o.cycle){a(i);continue}if(o.count>1&&e.reused==="ref"){a(i);continue}}}function im(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=i=>{let o=e.seen.get(i);if(o.ref===null)return;let c=o.def??o.schema,l={...c},u=o.ref;if(o.ref=null,u){r(u);let h=e.seen.get(u),p=h.schema;if(p.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(p)):Object.assign(c,p),Object.assign(c,l),i._zod.parent===u)for(let f in c)f==="$ref"||f==="allOf"||f in l||delete c[f];if(p.$ref&&h.def)for(let f in c)f==="$ref"||f==="allOf"||f in h.def&&JSON.stringify(c[f])===JSON.stringify(h.def[f])&&delete c[f]}let d=i._zod.parent;if(d&&d!==u){r(d);let h=e.seen.get(d);if(h?.schema.$ref&&(c.$ref=h.schema.$ref,h.def))for(let p in c)p==="$ref"||p==="allOf"||p in h.def&&JSON.stringify(c[p])===JSON.stringify(h.def[p])&&delete c[p]}e.override({zodSchema:i,jsonSchema:c,path:o.path??[]})};for(let i of[...e.seen.entries()].reverse())r(i[0]);let s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(i)}Object.assign(s,n.def??n.schema);let a=e.external?.defs??{};for(let i of e.seen.entries()){let o=i[1];o.def&&o.defId&&(a[o.defId]=o.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{let i=JSON.parse(JSON.stringify(s));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:z0(t,"input",e.processors),output:z0(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function qt(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return qt(r.element,n);if(r.type==="set")return qt(r.valueType,n);if(r.type==="lazy")return qt(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return qt(r.innerType,n);if(r.type==="intersection")return qt(r.left,n)||qt(r.right,n);if(r.type==="record"||r.type==="map")return qt(r.keyType,n)||qt(r.valueType,n);if(r.type==="pipe")return qt(r.in,n)||qt(r.out,n);if(r.type==="object"){for(let s in r.shape)if(qt(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(let s of r.options)if(qt(s,n))return!0;return!1}if(r.type==="tuple"){for(let s of r.items)if(qt(s,n))return!0;return!!(r.rest&&qt(r.rest,n))}return!1}var z0=(e,t,n={})=>r=>{let{libraryOptions:s,target:a}=r??{},i=sm({...s??{},target:a,io:t,processors:n});return Qe(e,i),am(i,e),im(i,e)},xP={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},kP=(e,t,n,r)=>{let s=n;s.type="string";let{minimum:a,maximum:i,format:o,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof i=="number"&&(s.maxLength=i),o&&(s.format=xP[o]??o,s.format===""&&delete s.format,o==="time"&&delete s.format),l&&(s.contentEncoding=l),c&&c.size>0){let u=[...c];u.length===1?s.pattern=u[0].source:u.length>1&&(s.allOf=[...u.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},EP=(e,t,n,r)=>{let s=n,{minimum:a,maximum:i,format:o,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof o=="string"&&o.includes("int")?s.type="integer":s.type="number",typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=u,s.exclusiveMinimum=!0):s.exclusiveMinimum=u),typeof a=="number"&&(s.minimum=a,typeof u=="number"&&t.target!=="draft-04"&&(u>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=l,s.exclusiveMaximum=!0):s.exclusiveMaximum=l),typeof i=="number"&&(s.maximum=i,typeof l=="number"&&t.target!=="draft-04"&&(l<=i?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},SP=(e,t,n,r)=>{n.type="boolean"},OP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},IP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},TP=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},AP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},$P=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},CP=(e,t,n,r)=>{n.not={}},NP=(e,t,n,r)=>{},PP=(e,t,n,r)=>{},jP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},RP=(e,t,n,r)=>{let s=e._zod.def,a=QN(s.entries);a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),n.enum=a},LP=(e,t,n,r)=>{let s=e._zod.def,a=[];for(let i of s.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){let i=a[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),a.every(i=>typeof i=="boolean")&&(n.type="boolean"),a.every(i=>i===null)&&(n.type="null"),n.enum=a},MP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},zP=(e,t,n,r)=>{let s=n,a=e._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");s.type="string",s.pattern=a.source},DP=(e,t,n,r)=>{let s=n,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:i,maximum:o,mime:c}=e._zod.bag;i!==void 0&&(a.minLength=i),o!==void 0&&(a.maxLength=o),c?c.length===1?(a.contentMediaType=c[0],Object.assign(s,a)):(Object.assign(s,a),s.anyOf=c.map(l=>({contentMediaType:l}))):Object.assign(s,a)},FP=(e,t,n,r)=>{n.type="boolean"},UP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},BP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},ZP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},VP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},qP=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},HP=(e,t,n,r)=>{let s=n,a=e._zod.def,{minimum:i,maximum:o}=e._zod.bag;typeof i=="number"&&(s.minItems=i),typeof o=="number"&&(s.maxItems=o),s.type="array",s.items=Qe(a.element,t,{...r,path:[...r.path,"items"]})},WP=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object",s.properties={};let i=a.shape;for(let l in i)s.properties[l]=Qe(i[l],t,{...r,path:[...r.path,"properties",l]});let o=new Set(Object.keys(i)),c=new Set([...o].filter(l=>{let u=a.shape[l]._zod;return t.io==="input"?u.optin===void 0:u.optout===void 0}));c.size>0&&(s.required=Array.from(c)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=Qe(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},JP=(e,t,n,r)=>{let s=e._zod.def,a=s.inclusive===!1,i=s.options.map((o,c)=>Qe(o,t,{...r,path:[...r.path,a?"oneOf":"anyOf",c]}));a?n.oneOf=i:n.anyOf=i},GP=(e,t,n,r)=>{let s=e._zod.def,a=Qe(s.left,t,{...r,path:[...r.path,"allOf",0]}),i=Qe(s.right,t,{...r,path:[...r.path,"allOf",1]}),o=l=>"allOf"in l&&Object.keys(l).length===1,c=[...o(a)?a.allOf:[a],...o(i)?i.allOf:[i]];n.allOf=c},KP=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",o=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((h,p)=>Qe(h,t,{...r,path:[...r.path,i,p]})),l=a.rest?Qe(a.rest,t,{...r,path:[...r.path,o,...t.target==="openapi-3.0"?[a.items.length]:[]]}):null;t.target==="draft-2020-12"?(s.prefixItems=c,l&&(s.items=l)):t.target==="openapi-3.0"?(s.items={anyOf:c},l&&s.items.anyOf.push(l),s.minItems=c.length,l||(s.maxItems=c.length)):(s.items=c,l&&(s.additionalItems=l));let{minimum:u,maximum:d}=e._zod.bag;typeof u=="number"&&(s.minItems=u),typeof d=="number"&&(s.maxItems=d)},XP=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object";let i=a.keyType,o=i._zod.bag?.patterns;if(a.mode==="loose"&&o&&o.size>0){let l=Qe(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});s.patternProperties={};for(let u of o)s.patternProperties[u.source]=l}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=Qe(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),s.additionalProperties=Qe(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let c=i._zod.values;if(c){let l=[...c].filter(u=>typeof u=="string"||typeof u=="number");l.length>0&&(s.required=l)}},YP=(e,t,n,r)=>{let s=e._zod.def,a=Qe(s.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},QP=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},ej=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},tj=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},nj=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType;let i;try{i=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},rj=(e,t,n,r)=>{let s=e._zod.def,a=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;Qe(a,t,r);let i=t.seen.get(e);i.ref=a},sj=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.readOnly=!0},aj=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},ij=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},oj=(e,t,n,r)=>{let s=e._zod.innerType;Qe(s,t,r);let a=t.seen.get(e);a.ref=s},D0={string:kP,number:EP,boolean:SP,bigint:OP,symbol:IP,null:TP,undefined:AP,void:$P,never:CP,any:NP,unknown:PP,date:jP,enum:RP,literal:LP,nan:MP,template_literal:zP,file:DP,success:FP,custom:UP,function:BP,transform:ZP,map:VP,set:qP,array:HP,object:WP,union:JP,intersection:GP,tuple:KP,record:XP,nullable:YP,nonoptional:QP,default:ej,prefault:tj,catch:nj,pipe:rj,readonly:sj,promise:aj,optional:ij,lazy:oj};function F0(e,t){if("_idmap"in e){let r=e,s=sm({...t,processors:D0}),a={};for(let c of r._idmap.entries()){let[l,u]=c;Qe(u,s)}let i={},o={registry:r,uri:t?.uri,defs:a};s.external=o;for(let c of r._idmap.entries()){let[l,u]=c;am(s,u),i[l]=im(s,u)}if(Object.keys(a).length>0){let c=s.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[c]:a}}return{schemas:i}}let n=sm({...t,processors:D0});return Qe(e,n),am(n,e),im(n,e)}function nt(e){if(typeof e!="object"||e===null)return!1;let t=e;if(!("_zod"in t))return!1;let n=t._zod;return typeof n=="object"&&n!==null&&"def"in n}function yt(e){if(typeof e!="object"||e===null)return!1;let t=e;if(!("_def"in t)||"_zod"in t)return!1;let n=t._def;return typeof n=="object"&&n!=null&&"typeName"in n}function cj(e){return nt(e)&&console.warn("[WARNING] Attempting to use Zod 4 schema in a context where Zod 3 schema is expected. This may cause unexpected behavior."),yt(e)}function qr(e){return!e||typeof e!="object"||Array.isArray(e)?!1:!!(nt(e)||yt(e))}function jx(e){return typeof e=="object"&&e!==null&&"_def"in e&&typeof e._def=="object"&&e._def!==null&&"typeName"in e._def&&e._def.typeName==="ZodLiteral"}function Rx(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="literal":!1}function lj(e){return!!(jx(e)||Rx(e))}async function Lx(e,t){if(nt(e))try{return{success:!0,data:await Nx(e,t)}}catch(n){return{success:!1,error:n}}if(yt(e))return await e.safeParseAsync(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}async function ah(e,t){if(nt(e))return await Nx(e,t);if(yt(e))return await e.parseAsync(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function uj(e,t){if(nt(e))try{return{success:!0,data:ny(e,t)}}catch(n){return{success:!1,error:n}}if(yt(e))return e.safeParse(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function Dl(e,t){if(nt(e))return ny(e,t);if(yt(e))return e.parse(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function Ho(e){if(nt(e))return ln.get(e)?.description;if(yt(e)||"description"in e&&typeof e.description=="string")return e.description}function dj(e){if(!qr(e))return!1;if(yt(e)){let t=e._def;if(t.typeName==="ZodObject"){let n=e;return!n.shape||Object.keys(n.shape).length===0}if(t.typeName==="ZodRecord")return!0}if(nt(e)){let t=e._zod.def;if(t.type==="object"){let n=e;return!n.shape||Object.keys(n.shape).length===0}if(t.type==="record")return!0}return typeof e=="object"&&e!==null&&!("shape"in e)}function sy(e){return qr(e)?yt(e)?e._def.typeName==="ZodString":nt(e)?e._zod.def.type==="string":!1:!1}function ay(e){return typeof e=="object"&&e!==null&&"_def"in e&&typeof e._def=="object"&&e._def!==null&&"typeName"in e._def&&e._def.typeName==="ZodObject"}function xr(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="object":!1}function ih(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="array":!1}function Mx(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="optional":!1}function zx(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="nullable":!1}function Pn(e){return!!(ay(e)||xr(e))}function Wo(e){if(yt(e))return e.shape;if(nt(e))return e._zod.def.shape;throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Dx(e,t){if(yt(e))return e.extend(t);if(nt(e))return sP(e,t);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function iy(e){if(yt(e))return e.partial();if(nt(e))return aP(Px,e);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function _u(e,t=!1){if(yt(e))return e.strict();if(xr(e)){let n=e._zod.def.shape;if(t)for(let[a,i]of Object.entries(e._zod.def.shape)){if(xr(i))n[a]=_u(i,t);else if(ih(i)){let c=i._zod.def.element;xr(c)&&(c=_u(c,t)),n[a]=nr(i,{...i._zod.def,element:c})}else n[a]=i;let o=ln.get(i);o&&ln.add(n[a],o)}let r=nr(e,{...e._zod.def,shape:n,catchall:wP(yP)}),s=ln.get(e);return s&&ln.add(r,s),r}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function om(e,t=!1){if(ay(e))return e.passthrough();if(xr(e)){let n=e._zod.def.shape;if(t)for(let[a,i]of Object.entries(e._zod.def.shape)){if(xr(i))n[a]=om(i,t);else if(ih(i)){let c=i._zod.def.element;xr(c)&&(c=om(c,t)),n[a]=nr(i,{...i._zod.def,element:c})}else n[a]=i;let o=ln.get(i);o&&ln.add(n[a],o)}let r=nr(e,{...e._zod.def,shape:n,catchall:bP(gP)}),s=ln.get(e);return s&&ln.add(r,s),r}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Fx(e){if(yt(e))try{let t=e.parse(void 0);return()=>t}catch{return}if(nt(e))try{let t=ny(e,void 0);return()=>t}catch{return}}function hj(e){return yt(e)&&"typeName"in e._def&&e._def.typeName==="ZodEffects"}function pj(e){return nt(e)&&e._zod.def.type==="pipe"}function Ds(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(yt(e))return hj(e)?Ds(e._def.schema,t,n):e;if(nt(e)){let s=e;if(pj(e)&&(s=Ds(e._zod.def.in,t,n)),t){if(xr(s)){let i={};for(let[o,c]of Object.entries(s._zod.def.shape))i[o]=Ds(c,t,n);s=nr(s,{...s._zod.def,shape:i})}else if(ih(s)){let i=Ds(s._zod.def.element,t,n);s=nr(s,{...s._zod.def,element:i})}else if(Mx(s)){let i=Ds(s._zod.def.innerType,t,n);s=nr(s,{...s._zod.def,innerType:i})}else if(zx(s)){let i=Ds(s._zod.def.innerType,t,n);s=nr(s,{...s._zod.def,innerType:i})}}let a=ln.get(e);return a&&ln.add(s,a),n.set(e,s),s}throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function Ux(e,t=!1){return Ds(e,t,new WeakMap)}function fj(e,t){if(yt(e)){let n=Wo(e),r={};for(let[s,a]of Object.entries(n))t(s,a)?r[s]=a.optional():r[s]=a;return e.extend(r)}if(nt(e)){let n=Wo(e),r={...e._zod.def.shape};for(let[i,o]of Object.entries(n))t(i,o)&&(r[i]=new Px({type:"optional",innerType:o}));let s=nr(e,{...e._zod.def,shape:r}),a=ln.get(e);return a&&ln.add(s,a),s}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Bx(e){return e instanceof Error&&(e.constructor.name==="ZodError"||e.constructor.name==="$ZodError")}var mj=Symbol("Let zodToJsonSchema decide on which parser to use"),gj={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},yj=e=>({...gj,...e}),_j=e=>{let t=yj(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,s])=>[s._def,{def:s._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}},Zx=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")};function mn(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Zx(t,e.currentPath):t.join("/")}}function Vx(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function qe(e,t,n,r,s){e[t]=n,Vx(e,t,r,s)}var Be;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(Be||(Be={}));var U0;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(U0||(U0={}));var re=Be.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ns=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return Number.isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},F=Be.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ia=class qx extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let l=i.path[c];c===i.path.length-1?(o[l]=o[l]||{_errors:[]},o[l]._errors.push(n(i))):o[l]=o[l]||{_errors:[]},o=o[l],c++}}};return s(this),r}static assert(t){if(!(t instanceof qx))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Be.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n=Object.create(null),r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};ia.create=e=>new ia(e);var cm=(e,t)=>{let n;switch(e.code){case F.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case F.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Be.jsonStringifyReplacer)}`;break;case F.unrecognized_keys:n=`Unrecognized key(s) in object: ${Be.joinValues(e.keys,", ")}`;break;case F.invalid_union:n="Invalid input";break;case F.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Be.joinValues(e.options)}`;break;case F.invalid_enum_value:n=`Invalid enum value. Expected ${Be.joinValues(e.options)}, received '${e.received}'`;break;case F.invalid_arguments:n="Invalid function arguments";break;case F.invalid_return_type:n="Invalid function return type";break;case F.invalid_date:n="Invalid date";break;case F.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Be.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case F.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case F.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case F.custom:n="Invalid input";break;case F.invalid_intersection_types:n="Intersection results could not be merged";break;case F.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case F.not_finite:n="Number must be finite";break;default:n=t.defaultError,Be.assertNever(e)}return{message:n}},vj=cm;function bj(){return vj}var wj=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,a=[...n,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let o="",c=r.filter(l=>!!l).slice().reverse();for(let l of c)o=l(i,{data:t,defaultError:o}).message;return{...s,path:a,message:o}};function H(e,t){let n=bj(),r=wj({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===cm?void 0:cm].filter(s=>!!s)});e.common.issues.push(r)}var or=class Hx{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return be;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let a=await s.key,i=await s.value;r.push({key:a,value:i})}return Hx.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return be;a.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[a.value]=i.value)}return{status:t.value,value:r}}},be=Object.freeze({status:"aborted"}),lm=e=>({status:"dirty",value:e}),Un=e=>({status:"valid",value:e}),B0=e=>e.status==="aborted",Z0=e=>e.status==="dirty",_i=e=>e.status==="valid",vu=e=>typeof Promise<"u"&&e instanceof Promise,ae;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ae||(ae={}));var vs=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},V0=(e,t)=>{if(_i(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new ia(e.common.issues);return this._error=n,this._error}}};function Ae(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(a,i)=>{let{message:o}=e;return a.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??r??i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:o??n??i.defaultError}},description:s}}var Me=class{get description(){return this._def.description}_getType(e){return ns(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ns(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new or,ctx:{common:e.parent.common,data:e.data,parsedType:ns(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(vu(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ns(e)},r=this._parseSync({data:e,path:n.path,parent:n});return V0(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ns(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return _i(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>_i(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ns(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(vu(r)?r:Promise.resolve(r));return V0(n,s)}refine(e,t){let n=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,s)=>{let a=e(r),i=()=>s.addIssue({code:F.custom,...n(r)});return typeof Promise<"u"&&a instanceof Promise?a.then(o=>o?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t=="function"?t(n,r):t),!1))}_refinement(e){return new bi({schema:this,typeName:U.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return hs.create(this,this._def)}nullable(){return wi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return vi.create(this)}promise(){return xu.create(this,this._def)}or(e){return bu.create([this,e],this._def)}and(e){return wu.create(this,e,this._def)}transform(e){return new bi({...Ae(this._def),schema:this,typeName:U.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new ym({...Ae(this._def),innerType:this,defaultValue:t,typeName:U.ZodDefault})}brand(){return new Vj({typeName:U.ZodBranded,type:this,...Ae(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new _m({...Ae(this._def),innerType:this,catchValue:t,typeName:U.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return qj.create(this,e)}readonly(){return vm.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},xj=/^c[^\s-]{8,}$/i,kj=/^[0-9a-z]+$/,Ej=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Sj=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Oj=/^[a-z0-9_-]{21}$/i,Ij=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Tj=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Aj=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,$j="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Up,Cj=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nj=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Pj=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,jj=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Rj=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Lj=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Wx="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Mj=new RegExp(`^${Wx}$`);function Jx(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function zj(e){return new RegExp(`^${Jx(e)}$`)}function Dj(e){let t=`${Wx}T${Jx(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Fj(e,t){return!!((t==="v4"||!t)&&Cj.test(e)||(t==="v6"||!t)&&Pj.test(e))}function Uj(e,t){if(!Ij.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function Bj(e,t){return!!((t==="v4"||!t)&&Nj.test(e)||(t==="v6"||!t)&&jj.test(e))}var um=class co extends Me{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){let s=this._getOrReturnCtx(t);return H(s,{code:F.invalid_type,expected:re.string,received:s.parsedType}),be}let n=new or,r;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:F.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:F.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let a=t.data.length>s.value,i=t.data.length<s.value;(a||i)&&(r=this._getOrReturnCtx(t,r),a?H(r,{code:F.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&H(r,{code:F.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Aj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"email",code:F.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Up||(Up=new RegExp($j,"u")),Up.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"emoji",code:F.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Sj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"uuid",code:F.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Oj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"nanoid",code:F.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")xj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cuid",code:F.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")kj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cuid2",code:F.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")Ej.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"ulid",code:F.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),H(r,{validation:"url",code:F.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"regex",code:F.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(r=this._getOrReturnCtx(t,r),H(r,{code:F.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(r=this._getOrReturnCtx(t,r),H(r,{code:F.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(r=this._getOrReturnCtx(t,r),H(r,{code:F.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Dj(s).test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:F.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Mj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:F.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?zj(s).test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:F.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Tj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"duration",code:F.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Fj(t.data,s.version)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"ip",code:F.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?Uj(t.data,s.alg)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"jwt",code:F.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Bj(t.data,s.version)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cidr",code:F.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?Rj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"base64",code:F.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?Lj.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"base64url",code:F.invalid_string,message:s.message}),n.dirty()):Be.assertNever(s);return{status:n.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:F.invalid_string,...ae.errToObj(r)})}_addCheck(t){return new co({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ae.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ae.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ae.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ae.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ae.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ae.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ae.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ae.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ae.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ae.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ae.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ae.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ae.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ae.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ae.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ae.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ae.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ae.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ae.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ae.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ae.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ae.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ae.errToObj(n)})}nonempty(t){return this.min(1,ae.errToObj(t))}trim(){return new co({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new co({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new co({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};um.create=e=>new um({checks:[],typeName:U.ZodString,coerce:e?.coerce??!1,...Ae(e)});function Zj(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,a=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return a%i/10**s}var q0=class dm extends Me{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){let s=this._getOrReturnCtx(t);return H(s,{code:F.invalid_type,expected:re.number,received:s.parsedType}),be}let n,r=new or;for(let s of this._def.checks)s.kind==="int"?Be.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),H(n,{code:F.invalid_type,expected:"integer",received:"float",message:s.message}),r.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:F.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:F.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="multipleOf"?Zj(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),H(n,{code:F.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),H(n,{code:F.not_finite,message:s.message}),r.dirty()):Be.assertNever(s);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new dm({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new dm({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ae.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ae.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ae.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ae.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Be.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};q0.create=e=>new q0({checks:[],typeName:U.ZodNumber,coerce:e?.coerce||!1,...Ae(e)});var H0=class hm extends Me{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==re.bigint)return this._getInvalidInput(t);let n,r=new or;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:F.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:F.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),H(n,{code:F.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):Be.assertNever(s);return{status:r.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return H(n,{code:F.invalid_type,expected:re.bigint,received:n.parsedType}),be}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new hm({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new hm({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};H0.create=e=>new H0({checks:[],typeName:U.ZodBigInt,coerce:e?.coerce??!1,...Ae(e)});var W0=class extends Me{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==re.boolean){let t=this._getOrReturnCtx(e);return H(t,{code:F.invalid_type,expected:re.boolean,received:t.parsedType}),be}return Un(e.data)}};W0.create=e=>new W0({typeName:U.ZodBoolean,coerce:e?.coerce||!1,...Ae(e)});var J0=class Gx extends Me{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){let s=this._getOrReturnCtx(t);return H(s,{code:F.invalid_type,expected:re.date,received:s.parsedType}),be}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return H(s,{code:F.invalid_date}),be}let n=new or,r;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:F.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:F.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Be.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Gx({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ae.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ae.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};J0.create=e=>new J0({checks:[],coerce:e?.coerce||!1,typeName:U.ZodDate,...Ae(e)});var G0=class extends Me{_parse(e){if(this._getType(e)!==re.symbol){let t=this._getOrReturnCtx(e);return H(t,{code:F.invalid_type,expected:re.symbol,received:t.parsedType}),be}return Un(e.data)}};G0.create=e=>new G0({typeName:U.ZodSymbol,...Ae(e)});var K0=class extends Me{_parse(e){if(this._getType(e)!==re.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:F.invalid_type,expected:re.undefined,received:t.parsedType}),be}return Un(e.data)}};K0.create=e=>new K0({typeName:U.ZodUndefined,...Ae(e)});var X0=class extends Me{_parse(e){if(this._getType(e)!==re.null){let t=this._getOrReturnCtx(e);return H(t,{code:F.invalid_type,expected:re.null,received:t.parsedType}),be}return Un(e.data)}};X0.create=e=>new X0({typeName:U.ZodNull,...Ae(e)});var pm=class extends Me{constructor(){super(...arguments),this._any=!0}_parse(e){return Un(e.data)}};pm.create=e=>new pm({typeName:U.ZodAny,...Ae(e)});var Y0=class extends Me{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Un(e.data)}};Y0.create=e=>new Y0({typeName:U.ZodUnknown,...Ae(e)});var bs=class extends Me{_parse(e){let t=this._getOrReturnCtx(e);return H(t,{code:F.invalid_type,expected:re.never,received:t.parsedType}),be}};bs.create=e=>new bs({typeName:U.ZodNever,...Ae(e)});var Q0=class extends Me{_parse(e){if(this._getType(e)!==re.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:F.invalid_type,expected:re.void,received:t.parsedType}),be}return Un(e.data)}};Q0.create=e=>new Q0({typeName:U.ZodVoid,...Ae(e)});var vi=class Fl extends Me{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==re.array)return H(n,{code:F.invalid_type,expected:re.array,received:n.parsedType}),be;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,o=n.data.length<s.exactLength.value;(i||o)&&(H(n,{code:i?F.too_big:F.too_small,minimum:o?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(H(n,{code:F.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(H(n,{code:F.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,o)=>s.type._parseAsync(new vs(n,i,n.path,o)))).then(i=>or.mergeArray(r,i));let a=[...n.data].map((i,o)=>s.type._parseSync(new vs(n,i,n.path,o)));return or.mergeArray(r,a)}get element(){return this._def.type}min(t,n){return new Fl({...this._def,minLength:{value:t,message:ae.toString(n)}})}max(t,n){return new Fl({...this._def,maxLength:{value:t,message:ae.toString(n)}})}length(t,n){return new Fl({...this._def,exactLength:{value:t,message:ae.toString(n)}})}nonempty(t){return this.min(1,t)}};vi.create=(e,t)=>new vi({type:e,minLength:null,maxLength:null,exactLength:null,typeName:U.ZodArray,...Ae(t)});function Da(e){if(e instanceof Hr){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=hs.create(Da(r))}return new Hr({...e._def,shape:()=>t})}else return e instanceof vi?new vi({...e._def,type:Da(e.element)}):e instanceof hs?hs.create(Da(e.unwrap())):e instanceof wi?wi.create(Da(e.unwrap())):e instanceof Jo?Jo.create(e.items.map(t=>Da(t))):e}var Hr=class Wn extends Me{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=Be.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==re.object){let c=this._getOrReturnCtx(t);return H(c,{code:F.invalid_type,expected:re.object,received:c.parsedType}),be}let{status:n,ctx:r}=this._processInputParams(t),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof bs&&this._def.unknownKeys==="strip"))for(let c in r.data)a.includes(c)||i.push(c);let o=[];for(let c of a){let l=s[c],u=r.data[c];o.push({key:{status:"valid",value:c},value:l._parse(new vs(r,u,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof bs){let c=this._def.unknownKeys;if(c==="passthrough")for(let l of i)o.push({key:{status:"valid",value:l},value:{status:"valid",value:r.data[l]}});else if(c==="strict")i.length>0&&(H(r,{code:F.unrecognized_keys,keys:i}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let l of i){let u=r.data[l];o.push({key:{status:"valid",value:l},value:c._parse(new vs(r,u,r.path,l)),alwaysSet:l in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let c=[];for(let l of o){let u=await l.key,d=await l.value;c.push({key:u,value:d,alwaysSet:l.alwaysSet})}return c}).then(c=>or.mergeObjectSync(n,c)):or.mergeObjectSync(n,o)}get shape(){return this._def.shape()}strict(t){return ae.errToObj,new Wn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ae.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new Wn({...this._def,unknownKeys:"strip"})}passthrough(){return new Wn({...this._def,unknownKeys:"passthrough"})}extend(t){return new Wn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Wn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:U.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Wn({...this._def,catchall:t})}pick(t){let n={};for(let r of Be.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Wn({...this._def,shape:()=>n})}omit(t){let n={};for(let r of Be.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Wn({...this._def,shape:()=>n})}deepPartial(){return Da(this)}partial(t){let n={};for(let r of Be.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new Wn({...this._def,shape:()=>n})}required(t){let n={};for(let r of Be.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof hs;)s=s._def.innerType;n[r]=s}return new Wn({...this._def,shape:()=>n})}keyof(){return Xx(Be.objectKeys(this.shape))}};Hr.create=(e,t)=>new Hr({shape:()=>e,unknownKeys:"strip",catchall:bs.create(),typeName:U.ZodObject,...Ae(t)});Hr.strictCreate=(e,t)=>new Hr({shape:()=>e,unknownKeys:"strict",catchall:bs.create(),typeName:U.ZodObject,...Ae(t)});Hr.lazycreate=(e,t)=>new Hr({shape:e,unknownKeys:"strip",catchall:bs.create(),typeName:U.ZodObject,...Ae(t)});var bu=class extends Me{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(s){for(let i of s)if(i.result.status==="valid")return i.result;for(let i of s)if(i.result.status==="dirty")return t.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(i=>new ia(i.ctx.common.issues));return H(t,{code:F.invalid_union,unionErrors:a}),be}if(t.common.async)return Promise.all(n.map(async s=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(r);{let s,a=[];for(let o of n){let c={...t,common:{...t.common,issues:[]},parent:null},l=o._parseSync({data:t.data,path:t.path,parent:c});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:c}),c.common.issues.length&&a.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let i=a.map(o=>new ia(o));return H(t,{code:F.invalid_union,unionErrors:i}),be}}get options(){return this._def.options}};bu.create=(e,t)=>new bu({options:e,typeName:U.ZodUnion,...Ae(t)});function fm(e,t){let n=ns(e),r=ns(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){let s=Be.objectKeys(t),a=Be.objectKeys(e).filter(o=>s.indexOf(o)!==-1),i={...e,...t};for(let o of a){let c=fm(e[o],t[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let a=0;a<e.length;a++){let i=e[a],o=t[a],c=fm(i,o);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===re.date&&r===re.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var wu=class extends Me{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(s,a)=>{if(B0(s)||B0(a))return be;let i=fm(s.value,a.value);return i.valid?((Z0(s)||Z0(a))&&t.dirty(),{status:t.value,value:i.data}):(H(n,{code:F.invalid_intersection_types}),be)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>r(s,a)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};wu.create=(e,t,n)=>new wu({left:e,right:t,typeName:U.ZodIntersection,...Ae(n)});var Jo=class Kx extends Me{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return H(r,{code:F.invalid_type,expected:re.array,received:r.parsedType}),be;if(r.data.length<this._def.items.length)return H(r,{code:F.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),be;!this._def.rest&&r.data.length>this._def.items.length&&(H(r,{code:F.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,i)=>{let o=this._def.items[i]||this._def.rest;return o?o._parse(new vs(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>or.mergeArray(n,a)):or.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new Kx({...this._def,rest:t})}};Jo.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Jo({items:e,typeName:U.ZodTuple,rest:null,...Ae(t)})};var eb=class extends Me{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==re.map)return H(n,{code:F.invalid_type,expected:re.map,received:n.parsedType}),be;let r=this._def.keyType,s=this._def.valueType,a=[...n.data.entries()].map(([i,o],c)=>({key:r._parse(new vs(n,i,n.path,[c,"key"])),value:s._parse(new vs(n,o,n.path,[c,"value"]))}));if(n.common.async){let i=new Map;return Promise.resolve().then(async()=>{for(let o of a){let c=await o.key,l=await o.value;if(c.status==="aborted"||l.status==="aborted")return be;(c.status==="dirty"||l.status==="dirty")&&t.dirty(),i.set(c.value,l.value)}return{status:t.value,value:i}})}else{let i=new Map;for(let o of a){let c=o.key,l=o.value;if(c.status==="aborted"||l.status==="aborted")return be;(c.status==="dirty"||l.status==="dirty")&&t.dirty(),i.set(c.value,l.value)}return{status:t.value,value:i}}}};eb.create=(e,t,n)=>new eb({valueType:t,keyType:e,typeName:U.ZodMap,...Ae(n)});var tb=class mm extends Me{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return H(r,{code:F.invalid_type,expected:re.set,received:r.parsedType}),be;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(H(r,{code:F.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(H(r,{code:F.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let a=this._def.valueType;function i(c){let l=new Set;for(let u of c){if(u.status==="aborted")return be;u.status==="dirty"&&n.dirty(),l.add(u.value)}return{status:n.value,value:l}}let o=[...r.data.values()].map((c,l)=>a._parse(new vs(r,c,r.path,l)));return r.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(t,n){return new mm({...this._def,minSize:{value:t,message:ae.toString(n)}})}max(t,n){return new mm({...this._def,maxSize:{value:t,message:ae.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};tb.create=(e,t)=>new tb({valueType:e,minSize:null,maxSize:null,typeName:U.ZodSet,...Ae(t)});var nb=class extends Me{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};nb.create=(e,t)=>new nb({getter:e,typeName:U.ZodLazy,...Ae(t)});var rb=class extends Me{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return H(t,{received:t.data,code:F.invalid_literal,expected:this._def.value}),be}return{status:"valid",value:e.data}}get value(){return this._def.value}};rb.create=(e,t)=>new rb({value:e,typeName:U.ZodLiteral,...Ae(t)});function Xx(e,t){return new oy({values:e,typeName:U.ZodEnum,...Ae(t)})}var oy=class gm extends Me{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return H(n,{expected:Be.joinValues(r),received:n.parsedType,code:F.invalid_type}),be}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return H(n,{received:n.data,code:F.invalid_enum_value,options:r}),be}return Un(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return gm.create(t,{...this._def,...n})}exclude(t,n=this._def){return gm.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};oy.create=Xx;var sb=class extends Me{_parse(e){let t=Be.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==re.string&&n.parsedType!==re.number){let r=Be.objectValues(t);return H(n,{expected:Be.joinValues(r),received:n.parsedType,code:F.invalid_type}),be}if(this._cache||(this._cache=new Set(Be.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let r=Be.objectValues(t);return H(n,{received:n.data,code:F.invalid_enum_value,options:r}),be}return Un(e.data)}get enum(){return this._def.values}};sb.create=(e,t)=>new sb({values:e,typeName:U.ZodNativeEnum,...Ae(t)});var xu=class extends Me{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==re.promise&&t.common.async===!1)return H(t,{code:F.invalid_type,expected:re.promise,received:t.parsedType}),be;let n=t.parsedType===re.promise?t.data:Promise.resolve(t.data);return Un(n.then(r=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}};xu.create=(e,t)=>new xu({type:e,typeName:U.ZodPromise,...Ae(t)});var bi=class extends Me{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===U.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,s={addIssue:a=>{H(n,a),a.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),r.type==="preprocess"){let a=r.transform(n.data,s);if(n.common.async)return Promise.resolve(a).then(async i=>{if(t.value==="aborted")return be;let o=await this._def.schema._parseAsync({data:i,path:n.path,parent:n});return o.status==="aborted"?be:o.status==="dirty"||t.value==="dirty"?lm(o.value):o});{if(t.value==="aborted")return be;let i=this._def.schema._parseSync({data:a,path:n.path,parent:n});return i.status==="aborted"?be:i.status==="dirty"||t.value==="dirty"?lm(i.value):i}}if(r.type==="refinement"){let a=i=>{let o=r.refinement(i,s);if(n.common.async)return Promise.resolve(o);if(o instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?be:(i.status==="dirty"&&t.dirty(),a(i.value),{status:t.value,value:i.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>i.status==="aborted"?be:(i.status==="dirty"&&t.dirty(),a(i.value).then(()=>({status:t.value,value:i.value}))))}if(r.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!_i(a))return be;let i=r.transform(a.value,s);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>_i(a)?Promise.resolve(r.transform(a.value,s)).then(i=>({status:t.value,value:i})):be);Be.assertNever(r)}};bi.create=(e,t,n)=>new bi({schema:e,typeName:U.ZodEffects,effect:t,...Ae(n)});bi.createWithPreprocess=(e,t,n)=>new bi({schema:t,effect:{type:"preprocess",transform:e},typeName:U.ZodEffects,...Ae(n)});var hs=class extends Me{_parse(e){return this._getType(e)===re.undefined?Un(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};hs.create=(e,t)=>new hs({innerType:e,typeName:U.ZodOptional,...Ae(t)});var wi=class extends Me{_parse(e){return this._getType(e)===re.null?Un(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};wi.create=(e,t)=>new wi({innerType:e,typeName:U.ZodNullable,...Ae(t)});var ym=class extends Me{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===re.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};ym.create=(e,t)=>new ym({innerType:e,typeName:U.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Ae(t)});var _m=class extends Me{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return vu(r)?r.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ia(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new ia(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};_m.create=(e,t)=>new _m({innerType:e,typeName:U.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Ae(t)});var ab=class extends Me{_parse(e){if(this._getType(e)!==re.nan){let t=this._getOrReturnCtx(e);return H(t,{code:F.invalid_type,expected:re.nan,received:t.parsedType}),be}return{status:"valid",value:e.data}}};ab.create=e=>new ab({typeName:U.ZodNaN,...Ae(e)});var Vj=class extends Me{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},qj=class Yx extends Me{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?be:s.status==="dirty"?(n.dirty(),lm(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?be:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new Yx({in:t,out:n,typeName:U.ZodPipeline})}},vm=class extends Me{_parse(e){let t=this._def.innerType._parse(e),n=r=>(_i(r)&&(r.value=Object.freeze(r.value)),r);return vu(t)?t.then(r=>n(r)):n(t)}unwrap(){return this._def.innerType}};vm.create=(e,t)=>new vm({innerType:e,typeName:U.ZodReadonly,...Ae(t)});var U;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(U||(U={}));var oh=um.create,ib=pm.create;bs.create;vi.create;var ch=Hr.create;bu.create;wu.create;Jo.create;oy.create;xu.create;hs.create;wi.create;function Hj(e,t){let n={type:"array"};return e.type?._def&&e.type?._def?.typeName!==U.ZodAny&&(n.items=Ze(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&qe(n,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&qe(n,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(qe(n,"minItems",e.exactLength.value,e.exactLength.message,t),qe(n,"maxItems",e.exactLength.value,e.exactLength.message,t)),n}function Wj(e,t){let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"min":t.target==="jsonSchema7"?r.inclusive?qe(n,"minimum",r.value,r.message,t):qe(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),qe(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?qe(n,"maximum",r.value,r.message,t):qe(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),qe(n,"maximum",r.value,r.message,t));break;case"multipleOf":qe(n,"multipleOf",r.value,r.message,t);break}return n}function Jj(){return{type:"boolean"}}function Qx(e,t){return Ze(e.type._def,t)}var Gj=(e,t)=>Ze(e.innerType._def,t);function ek(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(s=>ek(e,t,s))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Kj(e,t)}}var Kj=(e,t)=>{let n={type:"integer",format:"unix-time"};if(t.target==="openApi3")return n;for(let r of e.checks)switch(r.kind){case"min":qe(n,"minimum",r.value,r.message,t);break;case"max":qe(n,"maximum",r.value,r.message,t);break}return n};function Xj(e,t){return{...Ze(e.innerType._def,t),default:e.defaultValue()}}function Yj(e,t){return t.effectStrategy==="input"?Ze(e.schema._def,t):mn(t)}function Qj(e){return{type:"string",enum:Array.from(e.values)}}var eR=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function tR(e,t){let n=[Ze(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),Ze(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,s=[];return n.forEach(a=>{if(eR(a))s.push(...a.allOf),a.unevaluatedProperties===void 0&&(r=void 0);else{let i=a;if("additionalProperties"in a&&a.additionalProperties===!1){let{additionalProperties:o,...c}=a;i=c}else r=void 0;s.push(i)}}),s.length?{allOf:s,...r}:void 0}function nR(e,t){let n=typeof e.value;return n!=="bigint"&&n!=="number"&&n!=="boolean"&&n!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:n==="bigint"?"integer":n,enum:[e.value]}:{type:n==="bigint"?"integer":n,const:e.value}}var Bp,qn={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Bp===void 0&&(Bp=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Bp),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function tk(e,t){let n={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":qe(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t);break;case"max":qe(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"email":switch(t.emailStrategy){case"format:email":Hn(n,"email",r.message,t);break;case"format:idn-email":Hn(n,"idn-email",r.message,t);break;case"pattern:zod":Vt(n,qn.email,r.message,t);break}break;case"url":Hn(n,"uri",r.message,t);break;case"uuid":Hn(n,"uuid",r.message,t);break;case"regex":Vt(n,r.regex,r.message,t);break;case"cuid":Vt(n,qn.cuid,r.message,t);break;case"cuid2":Vt(n,qn.cuid2,r.message,t);break;case"startsWith":Vt(n,RegExp(`^${Zp(r.value,t)}`),r.message,t);break;case"endsWith":Vt(n,RegExp(`${Zp(r.value,t)}$`),r.message,t);break;case"datetime":Hn(n,"date-time",r.message,t);break;case"date":Hn(n,"date",r.message,t);break;case"time":Hn(n,"time",r.message,t);break;case"duration":Hn(n,"duration",r.message,t);break;case"length":qe(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t),qe(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"includes":Vt(n,RegExp(Zp(r.value,t)),r.message,t);break;case"ip":r.version!=="v6"&&Hn(n,"ipv4",r.message,t),r.version!=="v4"&&Hn(n,"ipv6",r.message,t);break;case"base64url":Vt(n,qn.base64url,r.message,t);break;case"jwt":Vt(n,qn.jwt,r.message,t);break;case"cidr":r.version!=="v6"&&Vt(n,qn.ipv4Cidr,r.message,t),r.version!=="v4"&&Vt(n,qn.ipv6Cidr,r.message,t);break;case"emoji":Vt(n,qn.emoji(),r.message,t);break;case"ulid":Vt(n,qn.ulid,r.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":Hn(n,"binary",r.message,t);break;case"contentEncoding:base64":qe(n,"contentEncoding","base64",r.message,t);break;case"pattern:zod":Vt(n,qn.base64,r.message,t);break}break;case"nanoid":Vt(n,qn.nanoid,r.message,t);break}return n}function Zp(e,t){return t.patternStrategy==="escape"?sR(e):e}var rR=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function sR(e){let t="";for(let n=0;n<e.length;n++)rR.has(e[n])||(t+="\\"),t+=e[n];return t}function Hn(e,t,n,r){e.format||e.anyOf?.some(s=>s.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):qe(e,"format",t,n,r)}function Vt(e,t,n,r){e.pattern||e.allOf?.some(s=>s.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:ob(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):qe(e,"pattern",ob(t,r),n,r)}function ob(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=n.i?e.source.toLowerCase():e.source,s="",a=!1,i=!1,o=!1;for(let c=0;c<r.length;c++){if(a){s+=r[c],a=!1;continue}if(n.i){if(i){if(r[c].match(/[a-z]/)){o?(s+=r[c],s+=`${r[c-2]}-${r[c]}`.toUpperCase(),o=!1):r[c+1]==="-"&&r[c+2]?.match(/[a-z]/)?(s+=r[c],o=!0):s+=`${r[c]}${r[c].toUpperCase()}`;continue}}else if(r[c].match(/[a-z]/)){s+=`[${r[c]}${r[c].toUpperCase()}]`;continue}}if(n.m){if(r[c]==="^"){s+=`(^|(?<=[\r
66
+ ]))`;continue}else if(r[c]==="$"){s+=`($|(?=[\r
67
+ ]))`;continue}}if(n.s&&r[c]==="."){s+=i?`${r[c]}\r
68
+ `:`[${r[c]}\r
69
+ ]`;continue}s+=r[c],r[c]==="\\"?a=!0:i&&r[c]==="]"?i=!1:!i&&r[c]==="["&&(i=!0)}try{new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return s}function nk(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===U.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((r,s)=>({...r,[s]:Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",s]})??mn(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:"object",additionalProperties:Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===U.ZodString&&e.keyType._def.checks?.length){let{type:r,...s}=tk(e.keyType._def,t);return{...n,propertyNames:s}}else{if(e.keyType?._def.typeName===U.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===U.ZodBranded&&e.keyType._def.type._def.typeName===U.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...s}=Qx(e.keyType._def,t);return{...n,propertyNames:s}}}return n}function aR(e,t){return t.mapStrategy==="record"?nk(e,t):{type:"array",maxItems:125,items:{type:"array",items:[Ze(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||mn(t),Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||mn(t)],minItems:2,maxItems:2}}}function iR(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),r=Array.from(new Set(n.map(s=>typeof s)));return{type:r.length===1?r[0]==="string"?"string":"number":["string","number"],enum:n}}function oR(e){return e.target==="openAi"?void 0:{not:mn({...e,currentPath:[...e.currentPath,"not"]})}}function cR(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var ku={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function lR(e,t){if(t.target==="openApi3")return cb(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in ku&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((s,a)=>{let i=ku[a._def.typeName];return i&&!s.includes(i)?[...s,i]:s},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((s,a)=>{let i=typeof a._def.value;switch(i){case"string":case"number":case"boolean":return[...s,i];case"bigint":return[...s,"integer"];case"object":return a._def.value===null?[...s,"null"]:s;default:return s}},[]);if(r.length===n.length){let s=r.filter((a,i,o)=>o.indexOf(a)===i);return{type:s.length>1?s:s[0],enum:n.reduce((a,i)=>a.includes(i._def.value)?a:[...a,i._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,s)=>[...r,...s._def.values.filter(a=>!r.includes(a))],[])};return cb(e,t)}var cb=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,s)=>Ze(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function uR(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:ku[e.innerType._def.typeName],nullable:!0}:{type:[ku[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=Ze(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=Ze(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function dR(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",Vx(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?qe(n,"minimum",r.value,r.message,t):qe(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),qe(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?qe(n,"maximum",r.value,r.message,t):qe(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),qe(n,"maximum",r.value,r.message,t));break;case"multipleOf":qe(n,"multipleOf",r.value,r.message,t);break}return n}function hR(e,t){let n=t.target==="openAi",r={type:"object",properties:{}},s=[],a=e.shape();for(let o in a){let c=a[o];if(c===void 0||c._def===void 0)continue;let l=fR(c);l&&n&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),l=!1);let u=Ze(c._def,{...t,currentPath:[...t.currentPath,"properties",o],propertyPath:[...t.currentPath,"properties",o]});u!==void 0&&(r.properties[o]=u,l||s.push(o))}s.length&&(r.required=s);let i=pR(e,t);return i!==void 0&&(r.additionalProperties=i),r}function pR(e,t){if(e.catchall._def.typeName!=="ZodNever")return Ze(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function fR(e){try{return e.isOptional()}catch{return!0}}var mR=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return Ze(e.innerType._def,t);let n=Ze(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:mn(t)},n]}:mn(t)},gR=(e,t)=>{if(t.pipeStrategy==="input")return Ze(e.in._def,t);if(t.pipeStrategy==="output")return Ze(e.out._def,t);let n=Ze(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});return{allOf:[n,Ze(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]})].filter(r=>r!==void 0)}};function yR(e,t){return Ze(e.type._def,t)}function _R(e,t){let n={type:"array",uniqueItems:!0,items:Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&qe(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&qe(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function vR(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>Ze(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:Ze(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>Ze(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function bR(e){return{not:mn(e)}}function wR(e){return mn(e)}var xR=(e,t)=>Ze(e.innerType._def,t),kR=(e,t,n)=>{switch(t){case U.ZodString:return tk(e,n);case U.ZodNumber:return dR(e,n);case U.ZodObject:return hR(e,n);case U.ZodBigInt:return Wj(e,n);case U.ZodBoolean:return Jj();case U.ZodDate:return ek(e,n);case U.ZodUndefined:return bR(n);case U.ZodNull:return cR(n);case U.ZodArray:return Hj(e,n);case U.ZodUnion:case U.ZodDiscriminatedUnion:return lR(e,n);case U.ZodIntersection:return tR(e,n);case U.ZodTuple:return vR(e,n);case U.ZodRecord:return nk(e,n);case U.ZodLiteral:return nR(e,n);case U.ZodEnum:return Qj(e);case U.ZodNativeEnum:return iR(e);case U.ZodNullable:return uR(e,n);case U.ZodOptional:return mR(e,n);case U.ZodMap:return aR(e,n);case U.ZodSet:return _R(e,n);case U.ZodLazy:return()=>e.getter()._def;case U.ZodPromise:return yR(e,n);case U.ZodNaN:case U.ZodNever:return oR(n);case U.ZodEffects:return Yj(e,n);case U.ZodAny:return mn(n);case U.ZodUnknown:return wR(n);case U.ZodDefault:return Xj(e,n);case U.ZodBranded:return Qx(e,n);case U.ZodReadonly:return xR(e,n);case U.ZodCatch:return Gj(e,n);case U.ZodPipeline:return gR(e,n);case U.ZodFunction:case U.ZodVoid:case U.ZodSymbol:return;default:return(r=>{})()}};function Ze(e,t,n=!1){let r=t.seen.get(e);if(t.override){let o=t.override?.(e,t,r,n);if(o!==mj)return o}if(r&&!n){let o=ER(r,t);if(o!==void 0)return o}let s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);let a=kR(e,e.typeName,t),i=typeof a=="function"?Ze(a(),t):a;if(i&&SR(e,t,i),t.postProcess){let o=t.postProcess(i,e,t);return s.jsonSchema=i,o}return s.jsonSchema=i,i}var ER=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Zx(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),mn(t)):t.$refStrategy==="seen"?mn(t):void 0}},SR=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n),OR=(e,t)=>{let n=_j(t),r=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((o,[c,l])=>({...o,[c]:Ze(l._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0)??mn(n)}),{}):void 0,s=typeof t=="string"?t:t?.name,a=Ze(e._def,n,!1)??mn(n);n.flags.hasReferencedOpenAiAnyType&&(r||(r={}),r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:n.$refStrategy==="relative"?"1":[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join("/")}}));let i=s===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,s].join("/"),[n.definitionPath]:{...r,[s]:a}};return n.target==="jsonSchema7"?i.$schema="http://json-schema.org/draft-07/schema#":(n.target==="jsonSchema2019-09"||n.target==="openAi")&&(i.$schema="https://json-schema.org/draft/2019-09/schema#"),n.target==="openAi"&&("anyOf"in i||"oneOf"in i||"allOf"in i||"type"in i&&Array.isArray(i.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),i};function ta(e,t){let n=typeof e;if(n!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let s=0;s<r;s++)if(!ta(e[s],t[s]))return!1;return!0}if(n==="object"){if(!e||!t)return e===t;let r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(let a of r)if(!ta(e[a],t[a]))return!1;return!0}return e===t}function Gn(e){return encodeURI(IR(e))}function IR(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var TR={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},AR={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},$R={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},CR=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function as(e,t=Object.create(null),n=CR,r=""){if(e&&typeof e=="object"&&!Array.isArray(e)){let a=e.$id||e.id;if(a){let i=new URL(a,n.href);i.hash.length>1?t[i.href]=e:(i.hash="",r===""?n=i:as(e,t,n))}}else if(e!==!0&&e!==!1)return t;let s=n.href+(r?"#"+r:"");if(t[s]!==void 0)throw new Error(`Duplicate schema URI "${s}".`);if(t[s]=e,e===!0||e===!1)return t;if(e.__absolute_uri__===void 0&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:s}),e.$ref&&e.__absolute_ref__===void 0){let a=new URL(e.$ref,n.href);a.hash=a.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:a.href})}if(e.$recursiveRef&&e.__absolute_recursive_ref__===void 0){let a=new URL(e.$recursiveRef,n.href);a.hash=a.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:a.href})}if(e.$anchor){let a=new URL("#"+e.$anchor,n.href);t[a.href]=e}for(let a in e){if($R[a])continue;let i=`${r}/${Gn(a)}`,o=e[a];if(Array.isArray(o)){if(TR[a]){let c=o.length;for(let l=0;l<c;l++)as(o[l],t,n,`${i}/${l}`)}}else if(AR[a])for(let c in o)as(o[c],t,n,`${i}/${Gn(c)}`);else as(o,t,n,i)}return t}var NR=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,PR=[0,31,28,31,30,31,30,31,31,30,31,30,31],jR=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,RR=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,LR=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,MR=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,zR=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,DR=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,FR=/^(?:\/(?:[^~/]|~0|~1)*)*$/,UR=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,BR=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,ZR=e=>{if(e[0]==='"')return!1;let[t,n,...r]=e.split("@");return!t||!n||r.length!==0||t.length>64||n.length>253||t[0]==="."||t.endsWith(".")||t.includes("..")||!/^[a-z0-9.-]+$/i.test(n)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?!1:n.split(".").every(s=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(s))},VR=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,qR=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,HR=e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e));function dr(e){return e.test.bind(e)}var lb={date:rk,time:sk.bind(void 0,!1),"date-time":GR,duration:HR,uri:YR,"uri-reference":dr(LR),"uri-template":dr(MR),url:dr(zR),email:ZR,hostname:dr(RR),ipv4:dr(VR),ipv6:dr(qR),regex:e2,uuid:dr(DR),"json-pointer":dr(FR),"json-pointer-uri-fragment":dr(UR),"relative-json-pointer":dr(BR)};function WR(e){return e%4===0&&(e%100!==0||e%400===0)}function rk(e){let t=e.match(NR);if(!t)return!1;let n=+t[1],r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=(r==2&&WR(n)?29:PR[r])}function sk(e,t){let n=t.match(jR);if(!n)return!1;let r=+n[1],s=+n[2],a=+n[3],i=!!n[5];return(r<=23&&s<=59&&a<=59||r==23&&s==59&&a==60)&&(!e||i)}var JR=/t|\s/i;function GR(e){let t=e.split(JR);return t.length==2&&rk(t[0])&&sk(!0,t[1])}var KR=/\/|:/,XR=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function YR(e){return KR.test(e)&&XR.test(e)}var QR=/[^\\]\\Z/;function e2(e){if(QR.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}function t2(e){let t=0,n=e.length,r=0,s;for(;r<n;)t++,s=e.charCodeAt(r++),s>=55296&&s<=56319&&r<n&&(s=e.charCodeAt(r),(s&64512)==56320&&r++);return t}function tt(e,t,n="2019-09",r=as(t),s=!0,a=null,i="#",o="#",c=Object.create(null)){if(t===!0)return{valid:!0,errors:[]};if(t===!1)return{valid:!1,errors:[{instanceLocation:i,keyword:"false",keywordLocation:i,error:"False boolean schema."}]};let l=typeof e,u;switch(l){case"boolean":case"number":case"string":u=l;break;case"object":e===null?u="null":Array.isArray(e)?u="array":u="object";break;default:throw new Error(`Instances of "${l}" type are not supported.`)}let{$ref:d,$recursiveRef:h,$recursiveAnchor:p,type:f,const:m,enum:v,required:w,not:y,anyOf:x,allOf:k,oneOf:O,if:$,then:I,else:_,format:P,properties:T,patternProperties:Z,additionalProperties:ze,unevaluatedProperties:et,minProperties:B,maxProperties:M,propertyNames:z,dependentRequired:ee,dependentSchemas:oe,dependencies:ne,prefixItems:le,items:ke,additionalItems:Se,unevaluatedItems:De,contains:Fe,minContains:kt,maxContains:b,minItems:g,maxItems:C,uniqueItems:E,minimum:Ce,maximum:We,exclusiveMinimum:_t,exclusiveMaximum:dt,multipleOf:Rt,minLength:Cn,maxLength:ht,pattern:ur,__absolute_ref__:Ta,__absolute_recursive_ref__:Hc}=t,q=[];if(p===!0&&a===null&&(a=t),h==="#"){let pe=a===null?r[Hc]:a,ce=`${o}/$recursiveRef`,Te=tt(e,a===null?t:a,n,r,s,pe,i,ce,c);Te.valid||q.push({instanceLocation:i,keyword:"$recursiveRef",keywordLocation:ce,error:"A subschema had errors."},...Te.errors)}if(d!==void 0){let pe=r[Ta||d];if(pe===void 0){let X=`Unresolved $ref "${d}".`;throw Ta&&Ta!==d&&(X+=` Absolute URI "${Ta}".`),X+=`
70
+ Known schemas:
71
+ - ${Object.keys(r).join(`
72
+ - `)}`,new Error(X)}let ce=`${o}/$ref`,Te=tt(e,pe,n,r,s,a,i,ce,c);if(Te.valid||q.push({instanceLocation:i,keyword:"$ref",keywordLocation:ce,error:"A subschema had errors."},...Te.errors),n==="4"||n==="7")return{valid:q.length===0,errors:q}}if(Array.isArray(f)){let pe=f.length,ce=!1;for(let Te=0;Te<pe;Te++)if(u===f[Te]||f[Te]==="integer"&&u==="number"&&e%1===0&&e===e){ce=!0;break}ce||q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${u}" is invalid. Expected "${f.join('", "')}".`})}else f==="integer"?(u!=="number"||e%1||e!==e)&&q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${u}" is invalid. Expected "${f}".`}):f!==void 0&&u!==f&&q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${u}" is invalid. Expected "${f}".`});if(m!==void 0&&(u==="object"||u==="array"?ta(e,m)||q.push({instanceLocation:i,keyword:"const",keywordLocation:`${o}/const`,error:`Instance does not match ${JSON.stringify(m)}.`}):e!==m&&q.push({instanceLocation:i,keyword:"const",keywordLocation:`${o}/const`,error:`Instance does not match ${JSON.stringify(m)}.`})),v!==void 0&&(u==="object"||u==="array"?v.some(pe=>ta(e,pe))||q.push({instanceLocation:i,keyword:"enum",keywordLocation:`${o}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`}):v.some(pe=>e===pe)||q.push({instanceLocation:i,keyword:"enum",keywordLocation:`${o}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`})),y!==void 0){let pe=`${o}/not`;tt(e,y,n,r,s,a,i,pe).valid&&q.push({instanceLocation:i,keyword:"not",keywordLocation:pe,error:'Instance matched "not" schema.'})}let Ms=[];if(x!==void 0){let pe=`${o}/anyOf`,ce=q.length,Te=!1;for(let X=0;X<x.length;X++){let W=x[X],_e=Object.create(c),ye=tt(e,W,n,r,s,p===!0?a:null,i,`${pe}/${X}`,_e);q.push(...ye.errors),Te=Te||ye.valid,ye.valid&&Ms.push(_e)}Te?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"anyOf",keywordLocation:pe,error:"Instance does not match any subschemas."})}if(k!==void 0){let pe=`${o}/allOf`,ce=q.length,Te=!0;for(let X=0;X<k.length;X++){let W=k[X],_e=Object.create(c),ye=tt(e,W,n,r,s,p===!0?a:null,i,`${pe}/${X}`,_e);q.push(...ye.errors),Te=Te&&ye.valid,ye.valid&&Ms.push(_e)}Te?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"allOf",keywordLocation:pe,error:"Instance does not match every subschema."})}if(O!==void 0){let pe=`${o}/oneOf`,ce=q.length,Te=O.filter((X,W)=>{let _e=Object.create(c),ye=tt(e,X,n,r,s,p===!0?a:null,i,`${pe}/${W}`,_e);return q.push(...ye.errors),ye.valid&&Ms.push(_e),ye.valid}).length;Te===1?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"oneOf",keywordLocation:pe,error:`Instance does not match exactly one subschema (${Te} matches).`})}if((u==="object"||u==="array")&&Object.assign(c,...Ms),$!==void 0){let pe=`${o}/if`;if(tt(e,$,n,r,s,a,i,pe,c).valid){if(I!==void 0){let ce=tt(e,I,n,r,s,a,i,`${o}/then`,c);ce.valid||q.push({instanceLocation:i,keyword:"if",keywordLocation:pe,error:'Instance does not match "then" schema.'},...ce.errors)}}else if(_!==void 0){let ce=tt(e,_,n,r,s,a,i,`${o}/else`,c);ce.valid||q.push({instanceLocation:i,keyword:"if",keywordLocation:pe,error:'Instance does not match "else" schema.'},...ce.errors)}}if(u==="object"){if(w!==void 0)for(let X of w)X in e||q.push({instanceLocation:i,keyword:"required",keywordLocation:`${o}/required`,error:`Instance does not have required property "${X}".`});let pe=Object.keys(e);if(B!==void 0&&pe.length<B&&q.push({instanceLocation:i,keyword:"minProperties",keywordLocation:`${o}/minProperties`,error:`Instance does not have at least ${B} properties.`}),M!==void 0&&pe.length>M&&q.push({instanceLocation:i,keyword:"maxProperties",keywordLocation:`${o}/maxProperties`,error:`Instance does not have at least ${M} properties.`}),z!==void 0){let X=`${o}/propertyNames`;for(let W in e){let _e=`${i}/${Gn(W)}`,ye=tt(W,z,n,r,s,a,_e,X);ye.valid||q.push({instanceLocation:i,keyword:"propertyNames",keywordLocation:X,error:`Property name "${W}" does not match schema.`},...ye.errors)}}if(ee!==void 0){let X=`${o}/dependantRequired`;for(let W in ee)if(W in e){let _e=ee[W];for(let ye of _e)ye in e||q.push({instanceLocation:i,keyword:"dependentRequired",keywordLocation:X,error:`Instance has "${W}" but does not have "${ye}".`})}}if(oe!==void 0)for(let X in oe){let W=`${o}/dependentSchemas`;if(X in e){let _e=tt(e,oe[X],n,r,s,a,i,`${W}/${Gn(X)}`,c);_e.valid||q.push({instanceLocation:i,keyword:"dependentSchemas",keywordLocation:W,error:`Instance has "${X}" but does not match dependant schema.`},..._e.errors)}}if(ne!==void 0){let X=`${o}/dependencies`;for(let W in ne)if(W in e){let _e=ne[W];if(Array.isArray(_e))for(let ye of _e)ye in e||q.push({instanceLocation:i,keyword:"dependencies",keywordLocation:X,error:`Instance has "${W}" but does not have "${ye}".`});else{let ye=tt(e,_e,n,r,s,a,i,`${X}/${Gn(W)}`);ye.valid||q.push({instanceLocation:i,keyword:"dependencies",keywordLocation:X,error:`Instance has "${W}" but does not match dependant schema.`},...ye.errors)}}}let ce=Object.create(null),Te=!1;if(T!==void 0){let X=`${o}/properties`;for(let W in T){if(!(W in e))continue;let _e=`${i}/${Gn(W)}`,ye=tt(e[W],T[W],n,r,s,a,_e,`${X}/${Gn(W)}`);if(ye.valid)c[W]=ce[W]=!0;else if(Te=s,q.push({instanceLocation:i,keyword:"properties",keywordLocation:X,error:`Property "${W}" does not match schema.`},...ye.errors),Te)break}}if(!Te&&Z!==void 0){let X=`${o}/patternProperties`;for(let W in Z){let _e=new RegExp(W,"u"),ye=Z[W];for(let nn in e){if(!_e.test(nn))continue;let nI=`${i}/${Gn(nn)}`,l_=tt(e[nn],ye,n,r,s,a,nI,`${X}/${Gn(W)}`);l_.valid?c[nn]=ce[nn]=!0:(Te=s,q.push({instanceLocation:i,keyword:"patternProperties",keywordLocation:X,error:`Property "${nn}" matches pattern "${W}" but does not match associated schema.`},...l_.errors))}}}if(!Te&&ze!==void 0){let X=`${o}/additionalProperties`;for(let W in e){if(ce[W])continue;let _e=`${i}/${Gn(W)}`,ye=tt(e[W],ze,n,r,s,a,_e,X);ye.valid?c[W]=!0:(Te=s,q.push({instanceLocation:i,keyword:"additionalProperties",keywordLocation:X,error:`Property "${W}" does not match additional properties schema.`},...ye.errors))}}else if(!Te&&et!==void 0){let X=`${o}/unevaluatedProperties`;for(let W in e)if(!c[W]){let _e=`${i}/${Gn(W)}`,ye=tt(e[W],et,n,r,s,a,_e,X);ye.valid?c[W]=!0:q.push({instanceLocation:i,keyword:"unevaluatedProperties",keywordLocation:X,error:`Property "${W}" does not match unevaluated properties schema.`},...ye.errors)}}}else if(u==="array"){C!==void 0&&e.length>C&&q.push({instanceLocation:i,keyword:"maxItems",keywordLocation:`${o}/maxItems`,error:`Array has too many items (${e.length} > ${C}).`}),g!==void 0&&e.length<g&&q.push({instanceLocation:i,keyword:"minItems",keywordLocation:`${o}/minItems`,error:`Array has too few items (${e.length} < ${g}).`});let pe=e.length,ce=0,Te=!1;if(le!==void 0){let X=`${o}/prefixItems`,W=Math.min(le.length,pe);for(;ce<W;ce++){let _e=tt(e[ce],le[ce],n,r,s,a,`${i}/${ce}`,`${X}/${ce}`);if(c[ce]=!0,!_e.valid&&(Te=s,q.push({instanceLocation:i,keyword:"prefixItems",keywordLocation:X,error:"Items did not match schema."},..._e.errors),Te))break}}if(ke!==void 0){let X=`${o}/items`;if(Array.isArray(ke)){let W=Math.min(ke.length,pe);for(;ce<W;ce++){let _e=tt(e[ce],ke[ce],n,r,s,a,`${i}/${ce}`,`${X}/${ce}`);if(c[ce]=!0,!_e.valid&&(Te=s,q.push({instanceLocation:i,keyword:"items",keywordLocation:X,error:"Items did not match schema."},..._e.errors),Te))break}}else for(;ce<pe;ce++){let W=tt(e[ce],ke,n,r,s,a,`${i}/${ce}`,X);if(c[ce]=!0,!W.valid&&(Te=s,q.push({instanceLocation:i,keyword:"items",keywordLocation:X,error:"Items did not match schema."},...W.errors),Te))break}if(!Te&&Se!==void 0){let W=`${o}/additionalItems`;for(;ce<pe;ce++){let _e=tt(e[ce],Se,n,r,s,a,`${i}/${ce}`,W);c[ce]=!0,_e.valid||(Te=s,q.push({instanceLocation:i,keyword:"additionalItems",keywordLocation:W,error:"Items did not match additional items schema."},..._e.errors))}}}if(Fe!==void 0)if(pe===0&&kt===void 0)q.push({instanceLocation:i,keyword:"contains",keywordLocation:`${o}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(kt!==void 0&&pe<kt)q.push({instanceLocation:i,keyword:"minContains",keywordLocation:`${o}/minContains`,error:`Array has less items (${pe}) than minContains (${kt}).`});else{let X=`${o}/contains`,W=q.length,_e=0;for(let ye=0;ye<pe;ye++){let nn=tt(e[ye],Fe,n,r,s,a,`${i}/${ye}`,X);nn.valid?(c[ye]=!0,_e++):q.push(...nn.errors)}_e>=(kt||0)&&(q.length=W),kt===void 0&&b===void 0&&_e===0?q.splice(W,0,{instanceLocation:i,keyword:"contains",keywordLocation:X,error:"Array does not contain item matching schema."}):kt!==void 0&&_e<kt?q.push({instanceLocation:i,keyword:"minContains",keywordLocation:`${o}/minContains`,error:`Array must contain at least ${kt} items matching schema. Only ${_e} items were found.`}):b!==void 0&&_e>b&&q.push({instanceLocation:i,keyword:"maxContains",keywordLocation:`${o}/maxContains`,error:`Array may contain at most ${b} items matching schema. ${_e} items were found.`})}if(!Te&&De!==void 0){let X=`${o}/unevaluatedItems`;for(ce;ce<pe;ce++){if(c[ce])continue;let W=tt(e[ce],De,n,r,s,a,`${i}/${ce}`,X);c[ce]=!0,W.valid||q.push({instanceLocation:i,keyword:"unevaluatedItems",keywordLocation:X,error:"Items did not match unevaluated items schema."},...W.errors)}}if(E)for(let X=0;X<pe;X++){let W=e[X],_e=typeof W=="object"&&W!==null;for(let ye=0;ye<pe;ye++){if(X===ye)continue;let nn=e[ye];(W===nn||_e&&typeof nn=="object"&&nn!==null&&ta(W,nn))&&(q.push({instanceLocation:i,keyword:"uniqueItems",keywordLocation:`${o}/uniqueItems`,error:`Duplicate items at indexes ${X} and ${ye}.`}),X=Number.MAX_SAFE_INTEGER,ye=Number.MAX_SAFE_INTEGER)}}}else if(u==="number"){if(n==="4"?(Ce!==void 0&&(_t===!0&&e<=Ce||e<Ce)&&q.push({instanceLocation:i,keyword:"minimum",keywordLocation:`${o}/minimum`,error:`${e} is less than ${_t?"or equal to ":""} ${Ce}.`}),We!==void 0&&(dt===!0&&e>=We||e>We)&&q.push({instanceLocation:i,keyword:"maximum",keywordLocation:`${o}/maximum`,error:`${e} is greater than ${dt?"or equal to ":""} ${We}.`})):(Ce!==void 0&&e<Ce&&q.push({instanceLocation:i,keyword:"minimum",keywordLocation:`${o}/minimum`,error:`${e} is less than ${Ce}.`}),We!==void 0&&e>We&&q.push({instanceLocation:i,keyword:"maximum",keywordLocation:`${o}/maximum`,error:`${e} is greater than ${We}.`}),_t!==void 0&&e<=_t&&q.push({instanceLocation:i,keyword:"exclusiveMinimum",keywordLocation:`${o}/exclusiveMinimum`,error:`${e} is less than ${_t}.`}),dt!==void 0&&e>=dt&&q.push({instanceLocation:i,keyword:"exclusiveMaximum",keywordLocation:`${o}/exclusiveMaximum`,error:`${e} is greater than or equal to ${dt}.`})),Rt!==void 0){let pe=e%Rt;Math.abs(0-pe)>=11920929e-14&&Math.abs(Rt-pe)>=11920929e-14&&q.push({instanceLocation:i,keyword:"multipleOf",keywordLocation:`${o}/multipleOf`,error:`${e} is not a multiple of ${Rt}.`})}}else if(u==="string"){let pe=Cn===void 0&&ht===void 0?0:t2(e);Cn!==void 0&&pe<Cn&&q.push({instanceLocation:i,keyword:"minLength",keywordLocation:`${o}/minLength`,error:`String is too short (${pe} < ${Cn}).`}),ht!==void 0&&pe>ht&&q.push({instanceLocation:i,keyword:"maxLength",keywordLocation:`${o}/maxLength`,error:`String is too long (${pe} > ${ht}).`}),ur!==void 0&&!new RegExp(ur,"u").test(e)&&q.push({instanceLocation:i,keyword:"pattern",keywordLocation:`${o}/pattern`,error:"String does not match pattern."}),P!==void 0&&lb[P]&&!lb[P](e)&&q.push({instanceLocation:i,keyword:"format",keywordLocation:`${o}/format`,error:`String does not match format "${P}".`})}return{valid:q.length===0,errors:q}}var bm=class{schema;draft;shortCircuit;lookup;constructor(t,n="2019-09",r=!0){this.schema=t,this.draft=n,this.shortCircuit=r,this.lookup=as(t)}validate(t){return tt(t,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(t,n){n&&(t={...t,$id:n}),as(t,this.lookup)}},n2=Q({Validator:()=>bm,deepCompareStrict:()=>ta,toJsonSchema:()=>un,validatesOnlyStrings:()=>No});function un(e,t){if(ty(e)&&!nt(e))return e["~standard"].jsonSchema.input({target:"draft-07"});if(nt(e)){let n=Ux(e,!0);return xr(n)?F0(_u(n,!0),t):F0(e,t)}return yt(e)?OR(e):e}function No(e){if(!e||typeof e!="object"||Object.keys(e).length===0||Array.isArray(e))return!1;if("type"in e)return typeof e.type=="string"?e.type==="string":Array.isArray(e.type)?e.type.every(t=>t==="string"):!1;if("enum"in e)return Array.isArray(e.enum)&&e.enum.length>0&&e.enum.every(t=>typeof t=="string");if("const"in e)return typeof e.const=="string";if("allOf"in e&&Array.isArray(e.allOf))return e.allOf.some(t=>No(t));if("anyOf"in e&&Array.isArray(e.anyOf)||"oneOf"in e&&Array.isArray(e.oneOf)){let t="anyOf"in e?e.anyOf:e.oneOf;return t.length>0&&t.every(n=>No(n))}if("not"in e)return!1;if("$ref"in e&&typeof e.$ref=="string"){let t=e.$ref,n=as(e);return n[t]?No(n[t]):!1}return!1}function cy(e){return e?e.lc_runnable:!1}var r2=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor(e){this.includeNames=e.includeNames,this.includeTypes=e.includeTypes,this.includeTags=e.includeTags,this.excludeNames=e.excludeNames,this.excludeTypes=e.excludeTypes,this.excludeTags=e.excludeTags}includeEvent(e,t){let n=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,r=e.tags??[];return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(t)),this.includeTags!==void 0&&(n=n||r.some(s=>this.includeTags?.includes(s))),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(t)),this.excludeTags!==void 0&&(n=n&&r.every(s=>!this.excludeTags?.includes(s))),n}},s2=e=>btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");function Vp(e){return e.replace(/[^a-zA-Z-_0-9]/g,"_")}var a2=["*","_","`"];function i2(e){let t="";for(let[n,r]of Object.entries(e))t+=` classDef ${n} ${r};
73
+ `;return t}function o2(e,t,n){let{firstNode:r,lastNode:s,nodeColors:a,withStyles:i=!0,curveStyle:o="linear",wrapLabelNWords:c=9}=n??{},l=i?`%%{init: {'flowchart': {'curve': '${o}'}}}%%
74
+ graph TD;
75
+ `:`graph TD;
76
+ `;if(i){let f="default",m={[f]:"{0}({1})"};r!==void 0&&(m[r]="{0}([{1}]):::first"),s!==void 0&&(m[s]="{0}([{1}]):::last");for(let[v,w]of Object.entries(e)){let y=w.name.split(":").pop()??"",x=a2.some(O=>y.startsWith(O)&&y.endsWith(O))?`<p>${y}</p>`:y;Object.keys(w.metadata??{}).length&&(x+=`<hr/><small><em>${Object.entries(w.metadata??{}).map(([O,$])=>`${O} = ${$}`).join(`
77
+ `)}</em></small>`);let k=(m[v]??m[f]).replace("{0}",Vp(v)).replace("{1}",x);l+=` ${k}
78
+ `}}let u={};for(let f of t){let m=f.source.split(":"),v=f.target.split(":"),w=m.filter((y,x)=>y===v[x]).join(":");u[w]||(u[w]=[]),u[w].push(f)}let d=new Set;function h(f){return[...f].sort((m,v)=>m.split(":").length-v.split(":").length)}function p(f,m){let v=f.length===1&&f[0].source===f[0].target;if(m&&!v){let y=m.split(":").pop();if(d.has(m))throw new Error(`Found duplicate subgraph '${y}' at '${m} -- this likely means that you're reusing a subgraph node with the same name. Please adjust your graph to have subgraph nodes with unique names.`);d.add(m),l+=` subgraph ${y}
79
+ `}let w=h(Object.keys(u).filter(y=>y.startsWith(`${m}:`)&&y!==m&&y.split(":").length===m.split(":").length+1));for(let y of w)p(u[y],y);for(let y of f){let{source:x,target:k,data:O,conditional:$}=y,I="";if(O!==void 0){let _=O,P=_.split(" ");P.length>c&&(_=Array.from({length:Math.ceil(P.length/c)},(T,Z)=>P.slice(Z*c,(Z+1)*c).join(" ")).join("&nbsp;<br>&nbsp;")),I=$?` -. &nbsp;${_}&nbsp; .-> `:` -- &nbsp;${_}&nbsp; --> `}else I=$?" -.-> ":" --> ";l+=` ${Vp(x)}${I}${Vp(k)};
80
+ `}m&&!v&&(l+=` end
81
+ `)}p(u[""]??[],"");for(let f in u)!f.includes(":")&&f!==""&&p(u[f],f);return i&&(l+=i2(a??{})),l}async function c2(e,t){let n=t?.backgroundColor??"white",r=t?.imageType??"png",s=s2(e);n!==void 0&&(/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(n)||(n=`!${n}`));let a=`https://mermaid.ink/img/${s}?bgColor=${n}&type=${r}`,i=await fetch(a);if(!i.ok)throw new Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${i.status}`,`Status text: ${i.statusText}`].join(`
82
+ `));return await i.blob()}var l2=Q({Graph:()=>Go});function u2(e,t){if(e!==void 0&&!Ao(e))return e;if(cy(t))try{let n=t.getName();return n=n.startsWith("Runnable")?n.slice(8):n,n}catch{return t.getName()}else return t.name??"UnknownSchema"}function d2(e){return cy(e.data)?{type:"runnable",data:{id:e.data.lc_id,name:e.data.getName()}}:{type:"schema",data:{...un(e.data.schema),title:e.data.name}}}var Go=class ak{nodes={};edges=[];constructor(t){this.nodes=t?.nodes??this.nodes,this.edges=t?.edges??this.edges}toJSON(){let t={};return Object.values(this.nodes).forEach((n,r)=>{t[n.id]=Ao(n.id)?r:n.id}),{nodes:Object.values(this.nodes).map(n=>({id:t[n.id],...d2(n)})),edges:this.edges.map(n=>{let r={source:t[n.source],target:t[n.target]};return typeof n.data<"u"&&(r.data=n.data),typeof n.conditional<"u"&&(r.conditional=n.conditional),r})}}addNode(t,n,r){if(n!==void 0&&this.nodes[n]!==void 0)throw new Error(`Node with id ${n} already exists`);let s=n??gA(),a={id:s,data:t,name:u2(n,t),metadata:r};return this.nodes[s]=a,a}removeNode(t){delete this.nodes[t.id],this.edges=this.edges.filter(n=>n.source!==t.id&&n.target!==t.id)}addEdge(t,n,r,s){if(this.nodes[t.id]===void 0)throw new Error(`Source node ${t.id} not in graph`);if(this.nodes[n.id]===void 0)throw new Error(`Target node ${n.id} not in graph`);let a={source:t.id,target:n.id,data:r,conditional:s};return this.edges.push(a),a}firstNode(){return ub(this)}lastNode(){return db(this)}extend(t,n=""){let r=n;Object.values(t.nodes).map(c=>c.id).every(Ao)&&(r="");let s=c=>r?`${r}:${c}`:c;Object.entries(t.nodes).forEach(([c,l])=>{this.nodes[s(c)]={...l,id:s(c)}});let a=t.edges.map(c=>({...c,source:s(c.source),target:s(c.target)}));this.edges=[...this.edges,...a];let i=t.firstNode(),o=t.lastNode();return[i?{id:s(i.id),data:i.data}:void 0,o?{id:s(o.id),data:o.data}:void 0]}trimFirstNode(){let t=this.firstNode();t&&ub(this,[t.id])&&this.removeNode(t)}trimLastNode(){let t=this.lastNode();t&&db(this,[t.id])&&this.removeNode(t)}reid(){let t=Object.fromEntries(Object.values(this.nodes).map(s=>[s.id,s.name])),n=new Map;Object.values(t).forEach(s=>{n.set(s,(n.get(s)||0)+1)});let r=s=>{let a=t[s];return Ao(s)&&n.get(a)===1?a:s};return new ak({nodes:Object.fromEntries(Object.entries(this.nodes).map(([s,a])=>[r(s),{...a,id:r(s)}])),edges:this.edges.map(s=>({...s,source:r(s.source),target:r(s.target)}))})}drawMermaid(t){let{withStyles:n,curveStyle:r,nodeColors:s={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:a}=t??{},i=this.reid(),o=i.firstNode(),c=i.lastNode();return o2(i.nodes,i.edges,{firstNode:o?.id,lastNode:c?.id,withStyles:n,curveStyle:r,nodeColors:s,wrapLabelNWords:a})}async drawMermaidPng(t){return c2(this.drawMermaid(t),{backgroundColor:t?.backgroundColor})}};function ub(e,t=[]){let n=new Set(e.edges.filter(s=>!t.includes(s.source)).map(s=>s.target)),r=[];for(let s of Object.values(e.nodes))!t.includes(s.id)&&!n.has(s.id)&&r.push(s);return r.length===1?r[0]:void 0}function db(e,t=[]){let n=new Set(e.edges.filter(s=>!t.includes(s.target)).map(s=>s.source)),r=[];for(let s of Object.values(e.nodes))!t.includes(s.id)&&!n.has(s.id)&&r.push(s);return r.length===1?r[0]:void 0}function ul({name:e,serialized:t}){return e!==void 0?e:t?.name!==void 0?t.name:t?.id!==void 0&&Array.isArray(t?.id)?t.id[t.id.length-1]:"Unnamed"}var h2=e=>e.name==="event_stream_tracer",p2=class extends Jr{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;runInfoMap=new Map;tappedPromises=new Map;transformStream;writer;receiveStream;readableStreamClosed=!1;name="event_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=fn.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){let t=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.runType)),this.includeTags!==void 0&&(n=n||t.find(r=>this.includeTags?.includes(r))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.runType)),this.excludeTags!==void 0&&(n=n&&t.every(r=>!this.excludeTags?.includes(r))),n}async*tapOutputIterable(e,t){let n=await t.next();if(n.done)return;let r=this.runInfoMap.get(e);if(r===void 0){yield n.value;return}function s(i,o){return i==="llm"&&typeof o=="string"?new gi({text:o}):o}let a=this.tappedPromises.get(e);if(a===void 0){let i;a=new Promise(o=>{i=o}),this.tappedPromises.set(e,a);try{let o={event:`on_${r.runType}_stream`,run_id:e,name:r.name,tags:r.tags,metadata:r.metadata,data:{}};await this.send({...o,data:{chunk:s(r.runType,n.value)}},r),yield n.value;for await(let c of t)r.runType!=="tool"&&r.runType!=="retriever"&&await this.send({...o,data:{chunk:s(r.runType,c)}},r),yield c}finally{i?.()}}else{yield n.value;for await(let i of t)yield i}}async send(e,t){this.readableStreamClosed||this._includeRun(t)&&await this.writer.write(e)}async sendEndEvent(e,t){let n=this.tappedPromises.get(e.run_id);n!==void 0?n.then(()=>{this.send(e,t)}):await this.send(e,t)}async onLLMStart(e){let t=ul(e),n=e.inputs.messages!==void 0?"chat_model":"llm",r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:n,inputs:e.inputs};this.runInfoMap.set(e.id,r);let s=`on_${n}_start`;await this.send({event:s,data:{input:e.inputs},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onLLMNewToken(e,t,n){let r=this.runInfoMap.get(e.id),s,a;if(r===void 0)throw new Error(`onLLMNewToken: Run ID ${e.id} not found in run map.`);if(this.runInfoMap.size!==1){if(r.runType==="chat_model")a="on_chat_model_stream",n?.chunk===void 0?s=new ir({content:t,id:`run-${e.id}`}):s=n.chunk.message;else if(r.runType==="llm")a="on_llm_stream",n?.chunk===void 0?s=new gi({text:t}):s=n.chunk;else throw new Error(`Unexpected run type ${r.runType}`);await this.send({event:a,data:{chunk:s},run_id:e.id,name:r.name,tags:r.tags,metadata:r.metadata},r)}}async onLLMEnd(e){let t=this.runInfoMap.get(e.id);this.runInfoMap.delete(e.id);let n;if(t===void 0)throw new Error(`onLLMEnd: Run ID ${e.id} not found in run map.`);let r=e.outputs?.generations,s;if(t.runType==="chat_model"){for(let a of r??[]){if(s!==void 0)break;s=a[0]?.message}n="on_chat_model_end"}else if(t.runType==="llm")s={generations:r?.map(a=>a.map(i=>({text:i.text,generationInfo:i.generationInfo}))),llmOutput:e.outputs?.llmOutput??{}},n="on_llm_end";else throw new Error(`onLLMEnd: Unexpected run type: ${t.runType}`);await this.sendEndEvent({event:n,data:{output:s,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onChainStart(e){let t=ul(e),n=e.run_type??"chain",r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:e.run_type},s={};e.inputs.input===""&&Object.keys(e.inputs).length===1?(s={},r.inputs={}):e.inputs.input!==void 0?(s.input=e.inputs.input,r.inputs=e.inputs.input):(s.input=e.inputs,r.inputs=e.inputs),this.runInfoMap.set(e.id,r),await this.send({event:`on_${n}_start`,data:s,name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onChainEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onChainEnd: Run ID ${e.id} not found in run map.`);let n=`on_${e.run_type}_end`,r=e.inputs??t.inputs??{},s={output:e.outputs?.output??e.outputs,input:r};r.input&&Object.keys(r).length===1&&(s.input=r.input,t.inputs=r.input),await this.sendEndEvent({event:n,data:s,run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata??{}},t)}async onToolStart(e){let t=ul(e),n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"tool",inputs:e.inputs??{}};this.runInfoMap.set(e.id,n),await this.send({event:"on_tool_start",data:{input:e.inputs??{}},name:t,run_id:e.id,tags:e.tags??[],metadata:e.extra?.metadata??{}},n)}async onToolEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);let n=e.outputs?.output===void 0?e.outputs:e.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:n,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onToolError(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:t.inputs,error:e.error},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onRetrieverStart(e){let t=ul(e),n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"retriever",inputs:{query:e.inputs.query}};this.runInfoMap.set(e.id,n),await this.send({event:"on_retriever_start",data:{input:{query:e.inputs.query}},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},n)}async onRetrieverEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onRetrieverEnd: Run ID ${e.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:e.outputs?.documents??e.outputs,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async handleCustomEvent(e,t,n){let r=this.runInfoMap.get(n);if(r===void 0)throw new Error(`handleCustomEvent: Run ID ${n} not found in run map.`);await this.send({event:"on_custom_event",run_id:n,name:e,tags:r.tags,metadata:r.metadata,data:t},r)}async finish(){let e=[...this.tappedPromises.values()];Promise.all(e).finally(()=>{this.writer.close()})}},ik=class extends Jr{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:e,onStart:t,onEnd:n,onError:r}){super({_awaitHandler:!0}),this.config=e,this.argOnStart=t,this.argOnEnd=n,this.argOnError=r}persistRun(e){return Promise.resolve()}async onRunCreate(e){this.rootId||(this.rootId=e.id,this.argOnStart&&await this.argOnStart(e,this.config))}async onRunUpdate(e){e.id===this.rootId&&(e.error?this.argOnError&&await this.argOnError(e,this.config):this.argOnEnd&&await this.argOnEnd(e,this.config))}};function f2(e){let t=new TextEncoder,n=new ReadableStream({async start(r){for await(let s of e)r.enqueue(t.encode(`event: data
83
+ data: ${JSON.stringify(s)}
84
+
85
+ `));r.enqueue(t.encode(`event: end
86
+
87
+ `)),r.close()}});return fn.fromReadableStream(n)}function hb(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.iterator]=="function"&&typeof e.next=="function"}var m2=e=>e!=null&&typeof e=="object"&&"next"in e&&typeof e.next=="function";function wm(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.asyncIterator]=="function"}function ok(e){return e!=null&&typeof e=="object"&&typeof e.next=="function"}async function g2(e,t){try{let n=await e.next();for(;!n.done;)await t?.(n.value),n=await e.next();return n.value}finally{await e.return?.(void 0)}}function*pb(e,t){for(;;){let{value:n,done:r}=jt.runWithConfig(Vr(e),t.next.bind(t),!0);if(r)break;yield n}}async function*xm(e,t){let n=t[Symbol.asyncIterator]();for(;;){let{value:r,done:s}=await jt.runWithConfig(Vr(e),n.next.bind(t),!0);if(s)break;yield r}}function wt(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}var Pe=class extends zn{lc_runnable=!0;name;getName(e){let t=this.name??this.constructor.lc_name()??this.constructor.name;return e?`${t}${e}`:t}withRetry(e){return new ly({bound:this,kwargs:{},config:{},maxAttemptNumber:e?.stopAfterAttempt,...e})}withConfig(e){return new ws({bound:this,config:e,kwargs:{}})}withFallbacks(e){let t=Array.isArray(e)?e:e.fallbacks;return new pk({runnable:this,fallbacks:t})}_getOptionsList(e,t=0){if(Array.isArray(e)&&e.length!==t)throw new Error(`Passed "options" must be an array with the same length as the inputs, but got ${e.length} options for ${t} inputs`);if(Array.isArray(e))return e.map(Le);if(t>1&&!Array.isArray(e)&&e.runId){console.warn("Provided runId will be used only for the first element of the batch.");let n=Object.fromEntries(Object.entries(e).filter(([r])=>r!=="runId"));return Array.from({length:t},(r,s)=>Le(s===0?e:n))}return Array.from({length:t},()=>Le(e))}async batch(e,t,n){let r=this._getOptionsList(t??{},e.length),s=new jc({maxConcurrency:r[0]?.maxConcurrency??n?.maxConcurrency,onFailedAttempt:i=>{throw i}}),a=e.map((i,o)=>s.call(async()=>{try{return await this.invoke(i,r[o])}catch(c){if(n?.returnExceptions)return c;throw c}}));return Promise.all(a)}async*_streamIterator(e,t){yield this.invoke(e,t)}async stream(e,t){let n=Le(t),r=new Sa({generator:this._streamIterator(e,n),config:n});return await r.setup,fn.fromAsyncGenerator(r)}_separateRunnableConfigFromCallOptions(e){let t;e===void 0?t=Le(e):t=Le({callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,runName:e.runName,configurable:e.configurable,recursionLimit:e.recursionLimit,maxConcurrency:e.maxConcurrency,runId:e.runId,timeout:e.timeout,signal:e.signal});let n={...e};return delete n.callbacks,delete n.tags,delete n.metadata,delete n.runName,delete n.configurable,delete n.recursionLimit,delete n.maxConcurrency,delete n.runId,delete n.timeout,delete n.signal,[t,n]}async _callWithConfig(e,t,n){let r=Le(n),s=await(await Xt(r))?.handleChainStart(this.toJSON(),wt(t,"input"),r.runId,r?.runType,void 0,void 0,r?.runName??this.getName());delete r.runId;let a;try{a=await Ir(e.call(this,t,r,s),r.signal)}catch(i){throw await s?.handleChainError(i),i}return await s?.handleChainEnd(wt(a,"output")),a}async _batchWithConfig(e,t,n,r){let s=this._getOptionsList(n??{},t.length),a=await Promise.all(s.map(Xt)),i=await Promise.all(a.map(async(c,l)=>{let u=await c?.handleChainStart(this.toJSON(),wt(t[l],"input"),s[l].runId,s[l].runType,void 0,void 0,s[l].runName??this.getName());return delete s[l].runId,u})),o;try{o=await Ir(e.call(this,t,s,i,r),s?.[0]?.signal)}catch(c){throw await Promise.all(i.map(l=>l?.handleChainError(c))),c}return await Promise.all(i.map(c=>c?.handleChainEnd(wt(o,"output")))),o}_concatOutputChunks(e,t){return _s(e,t)}async*_transformStreamWithConfig(e,t,n){let r,s=!0,a,i=!0,o=Le(n),c=await Xt(o),l=this;async function*u(){for await(let h of e){if(s)if(r===void 0)r=h;else try{r=l._concatOutputChunks(r,h)}catch{r=void 0,s=!1}yield h}}let d;try{let h=await wx(t.bind(this),u(),async()=>c?.handleChainStart(this.toJSON(),{input:""},o.runId,o.runType,void 0,void 0,o.runName??this.getName(),void 0,{lc_defers_inputs:!0}),o.signal,o);delete o.runId,d=h.setup;let p=d?.handlers.find(h2),f=h.output;p!==void 0&&d!==void 0&&(f=p.tapOutputIterable(d.runId,f));let m=d?.handlers.find(Ex);m!==void 0&&d!==void 0&&(f=m.tapOutputIterable(d.runId,f));for await(let v of f)if(yield v,i)if(a===void 0)a=v;else try{a=this._concatOutputChunks(a,v)}catch{a=void 0,i=!1}}catch(h){throw await d?.handleChainError(h,void 0,void 0,void 0,{inputs:wt(r,"input")}),h}await d?.handleChainEnd(a??{},void 0,void 0,void 0,{inputs:wt(r,"input")})}getGraph(e){let t=new Go,n=t.addNode({name:`${this.getName()}Input`,schema:ib()}),r=t.addNode(this),s=t.addNode({name:`${this.getName()}Output`,schema:ib()});return t.addEdge(n,r),t.addEdge(r,s),t}pipe(e){return new xs({first:this,last:Pt(e)})}pick(e){return this.pipe(new fk(e))}assign(e){return this.pipe(new uy(new Hi({steps:e})))}async*transform(e,t){let n;for await(let r of e)n===void 0?n=r:n=this._concatOutputChunks(n,r);yield*this._streamIterator(n,Le(t))}async*streamLog(e,t,n){let r=new tm({...n,autoClose:!1,_schemaFormat:"original"}),s=Le(t);yield*this._streamLog(e,r,s)}async*_streamLog(e,t,n){let{callbacks:r}=n;if(r===void 0)n.callbacks=[t];else if(Array.isArray(r))n.callbacks=r.concat([t]);else{let o=r.copy();o.addHandler(t,!0),n.callbacks=o}let s=this.stream(e,n);async function a(){try{let o=await s;for await(let c of o){let l=new Mr({ops:[{op:"add",path:"/streamed_output/-",value:c}]});await t.writer.write(l)}}finally{await t.writer.close()}}let i=a();try{for await(let o of t)yield o}finally{await i}}streamEvents(e,t,n){let r;if(t.version==="v1")r=this._streamEventsV1(e,t,n);else if(t.version==="v2")r=this._streamEventsV2(e,t,n);else throw new Error('Only versions "v1" and "v2" of the schema are currently supported.');return t.encoding==="text/event-stream"?f2(r):fn.fromAsyncGenerator(r)}async*_streamEventsV2(e,t,n){let r=new p2({...n,autoClose:!1}),s=Le(t),a=s.runId??ts();s.runId=a;let i=s.callbacks;if(i===void 0)s.callbacks=[r];else if(Array.isArray(i))s.callbacks=i.concat(r);else{let p=i.copy();p.addHandler(r,!0),s.callbacks=p}let o=new AbortController,c=this;async function l(){let p;try{if(s.signal)if("any"in AbortSignal)p=AbortSignal.any([o.signal,s.signal]);else{let v=new AbortController;s.signal.addEventListener("abort",()=>v.abort(),{once:!0}),o.signal.addEventListener("abort",()=>v.abort(),{once:!0}),p=v.signal}else p=o.signal;let f=await c.stream(e,{...s,signal:p}),m=r.tapOutputIterable(a,f);for await(let v of m)if(o.signal.aborted)break}finally{await r.finish()}}let u=l(),d=!1,h;try{for await(let p of r){if(!d){p.data.input=e,d=!0,h=p.run_id,yield p;continue}p.run_id===h&&p.event.endsWith("_end")&&p.data?.input&&delete p.data.input,yield p}}finally{o.abort(),await u}}async*_streamEventsV1(e,t,n){let r,s=!1,a=Le(t),i=a.tags??[],o=a.metadata??{},c=a.runName??this.getName(),l=new tm({...n,autoClose:!1,_schemaFormat:"streaming_events"}),u=new r2({...n}),d=this._streamLog(e,l,a);for await(let p of d){if(r?r=r.concat(p):r=ey.fromRunLogPatch(p),r.state===void 0)throw new Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!s){s=!0;let w={...r.state},y={run_id:w.id,event:`on_${w.type}_start`,name:c,tags:i,metadata:o,data:{input:e}};u.includeEvent(y,w.type)&&(yield y)}let f=p.ops.filter(w=>w.path.startsWith("/logs/")).map(w=>w.path.split("/")[2]),m=[...new Set(f)];for(let w of m){let y,x={},k=r.state.logs[w];if(k.end_time===void 0?k.streamed_output.length>0?y="stream":y="start":y="end",y==="start")k.inputs!==void 0&&(x.input=k.inputs);else if(y==="end")k.inputs!==void 0&&(x.input=k.inputs),x.output=k.final_output;else if(y==="stream"){let O=k.streamed_output.length;if(O!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${O} instead. Encountered in: "${k.name}"`);x={chunk:k.streamed_output[0]},k.streamed_output=[]}yield{event:`on_${k.type}_${y}`,name:k.name,run_id:k.id,tags:k.tags,metadata:k.metadata,data:x}}let{state:v}=r;if(v.streamed_output.length>0){let w=v.streamed_output.length;if(w!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${w} instead. Encountered in: "${v.name}"`);let y={chunk:v.streamed_output[0]};v.streamed_output=[];let x={event:`on_${v.type}_stream`,run_id:v.id,tags:i,metadata:o,name:c,data:y};u.includeEvent(x,v.type)&&(yield x)}}let h=r?.state;if(h!==void 0){let p={event:`on_${h.type}_end`,name:c,run_id:h.id,tags:i,metadata:o,data:{output:h.final_output}};u.includeEvent(p,h.type)&&(yield p)}}static isRunnable(e){return cy(e)}withListeners({onStart:e,onEnd:t,onError:n}){return new ws({bound:this,config:{},configFactories:[r=>({callbacks:[new ik({config:r,onStart:e,onEnd:t,onError:n})]})]})}asTool(e){return w2(this,e)}},ws=class ck extends Pe{static lc_name(){return"RunnableBinding"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;bound;config;kwargs;configFactories;constructor(t){super(t),this.bound=t.bound,this.kwargs=t.kwargs,this.config=t.config,this.configFactories=t.configFactories}getName(t){return this.bound.getName(t)}async _mergeConfig(...t){let n=Mn(this.config,...t);return Mn(n,...this.configFactories?await Promise.all(this.configFactories.map(async r=>await r(n))):[])}withConfig(t){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...t}})}withRetry(t){return new ly({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:t?.stopAfterAttempt,...t})}async invoke(t,n){return this.bound.invoke(t,await this._mergeConfig(n,this.kwargs))}async batch(t,n,r){let s=Array.isArray(n)?await Promise.all(n.map(async a=>this._mergeConfig(Le(a),this.kwargs))):await this._mergeConfig(Le(n),this.kwargs);return this.bound.batch(t,s,r)}_concatOutputChunks(t,n){return this.bound._concatOutputChunks(t,n)}async*_streamIterator(t,n){yield*this.bound._streamIterator(t,await this._mergeConfig(Le(n),this.kwargs))}async stream(t,n){return this.bound.stream(t,await this._mergeConfig(Le(n),this.kwargs))}async*transform(t,n){yield*this.bound.transform(t,await this._mergeConfig(Le(n),this.kwargs))}streamEvents(t,n,r){let s=this,a=async function*(){yield*s.bound.streamEvents(t,{...await s._mergeConfig(Le(n),s.kwargs),version:n.version},r)};return fn.fromAsyncGenerator(a())}static isRunnableBinding(t){return t.bound&&Pe.isRunnable(t.bound)}withListeners({onStart:t,onEnd:n,onError:r}){return new ck({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[s=>({callbacks:[new ik({config:s,onStart:t,onEnd:n,onError:r})]})]})}},y2=class lk extends Pe{static lc_name(){return"RunnableEach"}lc_serializable=!0;lc_namespace=["langchain_core","runnables"];bound;constructor(t){super(t),this.bound=t.bound}async invoke(t,n){return this._callWithConfig(this._invoke.bind(this),t,n)}async _invoke(t,n,r){return this.bound.batch(t,Ve(n,{callbacks:r?.getChild()}))}withListeners({onStart:t,onEnd:n,onError:r}){return new lk({bound:this.bound.withListeners({onStart:t,onEnd:n,onError:r})})}},ly=class extends ws{static lc_name(){return"RunnableRetry"}lc_namespace=["langchain_core","runnables"];maxAttemptNumber=3;onFailedAttempt=()=>{};constructor(e){super(e),this.maxAttemptNumber=e.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=e.onFailedAttempt??this.onFailedAttempt}_patchConfigForRetry(e,t,n){let r=e>1?`retry:attempt:${e}`:void 0;return Ve(t,{callbacks:n?.getChild(r)})}async _invoke(e,t,n){return nm(r=>super.invoke(e,this._patchConfigForRetry(r,t,n)),{onFailedAttempt:({error:r})=>this.onFailedAttempt(r,e),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke(e,t){return this._callWithConfig(this._invoke.bind(this),e,t)}async _batch(e,t,n,r){let s={};try{await nm(async a=>{let i=e.map((d,h)=>h).filter(d=>s[d.toString()]===void 0||s[d.toString()]instanceof Error),o=i.map(d=>e[d]),c=i.map(d=>this._patchConfigForRetry(a,t?.[d],n?.[d])),l=await super.batch(o,c,{...r,returnExceptions:!0}),u;for(let d=0;d<l.length;d+=1){let h=l[d],p=i[d];h instanceof Error&&u===void 0&&(u=h,u.input=o[d]),s[p.toString()]=h}if(u)throw u;return l},{onFailedAttempt:({error:a})=>this.onFailedAttempt(a,a.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(a){if(r?.returnExceptions!==!0)throw a}return Object.keys(s).sort((a,i)=>parseInt(a,10)-parseInt(i,10)).map(a=>s[parseInt(a,10)])}async batch(e,t,n){return this._batchWithConfig(this._batch.bind(this),e,t,n)}},xs=class lo extends Pe{static lc_name(){return"RunnableSequence"}first;middle=[];last;omitSequenceTags=!1;lc_serializable=!0;lc_namespace=["langchain_core","runnables"];constructor(t){super(t),this.first=t.first,this.middle=t.middle??this.middle,this.last=t.last,this.name=t.name,this.omitSequenceTags=t.omitSequenceTags??this.omitSequenceTags}get steps(){return[this.first,...this.middle,this.last]}async invoke(t,n){let r=Le(n),s=await(await Xt(r))?.handleChainStart(this.toJSON(),wt(t,"input"),r.runId,void 0,void 0,void 0,r?.runName);delete r.runId;let a=t,i;try{let o=[this.first,...this.middle];for(let c=0;c<o.length;c+=1)a=await Ir(o[c].invoke(a,Ve(r,{callbacks:s?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`)})),r.signal);if(r.signal?.aborted)throw Bo(r.signal);i=await this.last.invoke(a,Ve(r,{callbacks:s?.getChild(this.omitSequenceTags?void 0:`seq:step:${this.steps.length}`)}))}catch(o){throw await s?.handleChainError(o),o}return await s?.handleChainEnd(wt(i,"output")),i}async batch(t,n,r){let s=this._getOptionsList(n??{},t.length),a=await Promise.all(s.map(Xt)),i=await Promise.all(a.map(async(c,l)=>{let u=await c?.handleChainStart(this.toJSON(),wt(t[l],"input"),s[l].runId,void 0,void 0,void 0,s[l].runName);return delete s[l].runId,u})),o=t;try{for(let c=0;c<this.steps.length;c+=1)o=await Ir(this.steps[c].batch(o,i.map((l,u)=>{let d=l?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`);return Ve(s[u],{callbacks:d})}),r),s[0]?.signal)}catch(c){throw await Promise.all(i.map(l=>l?.handleChainError(c))),c}return await Promise.all(i.map(c=>c?.handleChainEnd(wt(o,"output")))),o}_concatOutputChunks(t,n){return this.last._concatOutputChunks(t,n)}async*_streamIterator(t,n){let r=await Xt(n),{runId:s,...a}=n??{},i=await r?.handleChainStart(this.toJSON(),wt(t,"input"),s,void 0,void 0,void 0,a?.runName),o=[this.first,...this.middle,this.last],c=!0,l;async function*u(){yield t}try{let d=o[0].transform(u(),Ve(a,{callbacks:i?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let h=1;h<o.length;h+=1)d=await o[h].transform(d,Ve(a,{callbacks:i?.getChild(this.omitSequenceTags?void 0:`seq:step:${h+1}`)}));for await(let h of d)if(n?.signal?.throwIfAborted(),yield h,c)if(l===void 0)l=h;else try{l=this._concatOutputChunks(l,h)}catch{l=void 0,c=!1}}catch(d){throw await i?.handleChainError(d),d}await i?.handleChainEnd(wt(l,"output"))}getGraph(t){let n=new Go,r=null;return this.steps.forEach((s,a)=>{let i=s.getGraph(t);a!==0&&i.trimFirstNode(),a!==this.steps.length-1&&i.trimLastNode(),n.extend(i);let o=i.firstNode();if(!o)throw new Error(`Runnable ${s} has no first node`);r&&n.addEdge(r,o),r=i.lastNode()}),n}pipe(t){return lo.isRunnableSequence(t)?new lo({first:this.first,middle:this.middle.concat([this.last,t.first,...t.middle]),last:t.last,name:this.name??t.name}):new lo({first:this.first,middle:[...this.middle,this.last],last:Pt(t),name:this.name})}static isRunnableSequence(t){return Array.isArray(t.middle)&&Pe.isRunnable(t)}static from([t,...n],r){let s={};return typeof r=="string"?s.name=r:r!==void 0&&(s=r),new lo({...s,first:Pt(t),middle:n.slice(0,-1).map(Pt),last:Pt(n[n.length-1])})}},Hi=class uk extends Pe{static lc_name(){return"RunnableMap"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;steps;getStepsKeys(){return Object.keys(this.steps)}constructor(t){super(t),this.steps={};for(let[n,r]of Object.entries(t.steps))this.steps[n]=Pt(r)}static from(t){return new uk({steps:t})}async invoke(t,n){let r=Le(n),s=await(await Xt(r))?.handleChainStart(this.toJSON(),{input:t},r.runId,void 0,void 0,void 0,r?.runName);delete r.runId;let a={};try{let i=Object.entries(this.steps).map(async([o,c])=>{a[o]=await c.invoke(t,Ve(r,{callbacks:s?.getChild(`map:key:${o}`)}))});await Ir(Promise.all(i),r.signal)}catch(i){throw await s?.handleChainError(i),i}return await s?.handleChainEnd(a),a}async*_transform(t,n,r){let s={...this.steps},a=Qg(t,Object.keys(s).length),i=new Map(Object.entries(s).map(([o,c],l)=>{let u=c.transform(a[l],Ve(r,{callbacks:n?.getChild(`map:key:${o}`)}));return[o,u.next().then(d=>({key:o,gen:u,result:d}))]}));for(;i.size;){let{key:o,result:c,gen:l}=await Ir(Promise.race(i.values()),r?.signal);i.delete(o),c.done||(yield{[o]:c.value},i.set(o,l.next().then(u=>({key:o,gen:l,result:u}))))}}transform(t,n){return this._transformStreamWithConfig(t,this._transform.bind(this),n)}async stream(t,n){async function*r(){yield t}let s=Le(n),a=new Sa({generator:this.transform(r(),s),config:s});return await a.setup,fn.fromAsyncGenerator(a)}},_2=class dk extends Pe{lc_serializable=!1;lc_namespace=["langchain_core","runnables"];func;constructor(t){if(super(t),!Yg(t.func))throw new Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=t.func}async invoke(t,n){let[r]=this._getOptionsList(n??{},1),s=await Xt(r);return Ir(this.func(Ve(r,{callbacks:s}),t),r?.signal)}async*_streamIterator(t,n){let[r]=this._getOptionsList(n??{},1),s=await this.invoke(t,n);if(wm(s)){for await(let a of s)r?.signal?.throwIfAborted(),yield a;return}if(m2(s)){for(;;){r?.signal?.throwIfAborted();let a=s.next();if(a.done)break;yield a.value}return}yield s}static from(t){return new dk({func:t})}};function v2(e){if(Yg(e))throw new Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}var Ar=class hk extends Pe{static lc_name(){return"RunnableLambda"}lc_namespace=["langchain_core","runnables"];func;constructor(t){if(Yg(t.func))return _2.from(t.func);super(t),v2(t.func),this.func=t.func}static from(t){return new hk({func:t})}async _invoke(t,n,r){return new Promise((s,a)=>{let i=Ve(n,{callbacks:r?.getChild(),recursionLimit:(n?.recursionLimit??25)-1});jt.runWithConfig(Vr(i),async()=>{try{let o=await this.func(t,{...i});if(o&&Pe.isRunnable(o)){if(n?.recursionLimit===0)throw new Error("Recursion limit reached.");o=await o.invoke(t,{...i,recursionLimit:(i.recursionLimit??25)-1})}else if(wm(o)){let c;for await(let l of xm(i,o))if(n?.signal?.throwIfAborted(),c===void 0)c=l;else try{c=this._concatOutputChunks(c,l)}catch{c=l}o=c}else if(hb(o)){let c;for(let l of pb(i,o))if(n?.signal?.throwIfAborted(),c===void 0)c=l;else try{c=this._concatOutputChunks(c,l)}catch{c=l}o=c}s(o)}catch(o){a(o)}})})}async invoke(t,n){return this._callWithConfig(this._invoke.bind(this),t,n)}async*_transform(t,n,r){let s;for await(let o of t)if(s===void 0)s=o;else try{s=this._concatOutputChunks(s,o)}catch{s=o}let a=Ve(r,{callbacks:n?.getChild(),recursionLimit:(r?.recursionLimit??25)-1}),i=await new Promise((o,c)=>{jt.runWithConfig(Vr(a),async()=>{try{o(await this.func(s,{...a,config:a}))}catch(l){c(l)}})});if(i&&Pe.isRunnable(i)){if(r?.recursionLimit===0)throw new Error("Recursion limit reached.");let o=await i.stream(s,a);for await(let c of o)yield c}else if(wm(i))for await(let o of xm(a,i))r?.signal?.throwIfAborted(),yield o;else if(hb(i))for(let o of pb(a,i))r?.signal?.throwIfAborted(),yield o;else yield i}transform(t,n){return this._transformStreamWithConfig(t,this._transform.bind(this),n)}async stream(t,n){async function*r(){yield t}let s=Le(n),a=new Sa({generator:this.transform(r(),s),config:s});return await a.setup,fn.fromAsyncGenerator(a)}},b2=class extends Hi{},pk=class extends Pe{static lc_name(){return"RunnableWithFallbacks"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnable;fallbacks;constructor(e){super(e),this.runnable=e.runnable,this.fallbacks=e.fallbacks}*runnables(){yield this.runnable;for(let e of this.fallbacks)yield e}async invoke(e,t){let n=Le(t),r=await Xt(n),{runId:s,...a}=n,i=await r?.handleChainStart(this.toJSON(),wt(e,"input"),s,void 0,void 0,void 0,a?.runName),o=Ve(a,{callbacks:i?.getChild()});return await jt.runWithConfig(o,async()=>{let c;for(let l of this.runnables()){n?.signal?.throwIfAborted();try{let u=await l.invoke(e,o);return await i?.handleChainEnd(wt(u,"output")),u}catch(u){c===void 0&&(c=u)}}throw c===void 0?new Error("No error stored at end of fallback."):(await i?.handleChainError(c),c)})}async*_streamIterator(e,t){let n=Le(t),r=await Xt(n),{runId:s,...a}=n,i=await r?.handleChainStart(this.toJSON(),wt(e,"input"),s,void 0,void 0,void 0,a?.runName),o,c;for(let u of this.runnables()){n?.signal?.throwIfAborted();let d=Ve(a,{callbacks:i?.getChild()});try{c=xm(d,await u.stream(e,d));break}catch(h){o===void 0&&(o=h)}}if(c===void 0){let u=o??new Error("No error stored at end of fallback.");throw await i?.handleChainError(u),u}let l;try{for await(let u of c){yield u;try{l=l===void 0?l:this._concatOutputChunks(l,u)}catch{l=void 0}}}catch(u){throw await i?.handleChainError(u),u}await i?.handleChainEnd(wt(l,"output"))}async batch(e,t,n){if(n?.returnExceptions)throw new Error("Not implemented.");let r=this._getOptionsList(t??{},e.length),s=await Promise.all(r.map(o=>Xt(o))),a=await Promise.all(s.map(async(o,c)=>{let l=await o?.handleChainStart(this.toJSON(),wt(e[c],"input"),r[c].runId,void 0,void 0,void 0,r[c].runName);return delete r[c].runId,l})),i;for(let o of this.runnables()){r[0].signal?.throwIfAborted();try{let c=await o.batch(e,a.map((l,u)=>Ve(r[u],{callbacks:l?.getChild()})),n);return await Promise.all(a.map((l,u)=>l?.handleChainEnd(wt(c[u],"output")))),c}catch(c){i===void 0&&(i=c)}}throw i?(await Promise.all(a.map(o=>o?.handleChainError(i))),i):new Error("No error stored at end of fallbacks.")}};function Pt(e){if(typeof e=="function")return new Ar({func:e});if(Pe.isRunnable(e))return e;if(!Array.isArray(e)&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=Pt(r);return new Hi({steps:t})}else throw new Error(`Expected a Runnable, function or object.
88
+ Instead got an unsupported type.`)}var uy=class extends Pe{static lc_name(){return"RunnableAssign"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;mapper;constructor(e){e instanceof Hi&&(e={mapper:e}),super(e),this.mapper=e.mapper}async invoke(e,t){let n=await this.mapper.invoke(e,t);return{...e,...n}}async*_transform(e,t,n){let r=this.mapper.getStepsKeys(),[s,a]=Qg(e),i=this.mapper.transform(a,Ve(n,{callbacks:t?.getChild()})),o=i.next();for await(let c of s){if(typeof c!="object"||Array.isArray(c))throw new Error(`RunnableAssign can only be used with objects as input, got ${typeof c}`);let l=Object.fromEntries(Object.entries(c).filter(([u])=>!r.includes(u)));Object.keys(l).length>0&&(yield l)}yield(await o).value;for await(let c of i)yield c}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*n(){yield e}let r=Le(t),s=new Sa({generator:this.transform(n(),r),config:r});return await s.setup,fn.fromAsyncGenerator(s)}},fk=class extends Pe{static lc_name(){return"RunnablePick"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;keys;constructor(e){(typeof e=="string"||Array.isArray(e))&&(e={keys:e}),super(e),this.keys=e.keys}async _pick(e){if(typeof this.keys=="string")return e[this.keys];{let t=this.keys.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0);return t.length===0?void 0:Object.fromEntries(t)}}async invoke(e,t){return this._callWithConfig(this._pick.bind(this),e,t)}async*_transform(e){for await(let t of e){let n=await this._pick(t);n!==void 0&&(yield n)}}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*n(){yield e}let r=Le(t),s=new Sa({generator:this.transform(n(),r),config:r});return await s.setup,fn.fromAsyncGenerator(s)}},km=class extends ws{name;description;schema;constructor(e){let t=xs.from([Ar.from(async n=>{let r;if(To(n))try{r=await ah(this.schema,n.args)}catch{throw new cu("Received tool input did not match expected schema",JSON.stringify(n.args))}else r=n;return r}).withConfig({runName:`${e.name}:parse_input`}),e.bound]).withConfig({runName:e.name});super({bound:t,config:e.config??{}}),this.name=e.name,this.description=e.description,this.schema=e.schema}static lc_name(){return"RunnableToolLike"}};function w2(e,t){let n=t.name??e.getName(),r=t.description??Ho(t.schema);return sy(t.schema)?new km({name:n,description:r,schema:ch({input:oh()}).transform(s=>s.input),bound:e}):new km({name:n,description:r,schema:t.schema,bound:e})}var Eu=(e,t)=>{let n=[...new Set(t?.map(s=>{if(typeof s=="string")return s;let a=new s({});if(!("getType"in a)||typeof a.getType!="function")throw new Error("Invalid type provided.");return a.getType()}))],r=e.getType();return n.some(s=>s===r)};function x2(e,t){return Array.isArray(e)?fb(e,t):Ar.from(n=>fb(n,e))}function fb(e,t={}){let{includeNames:n,excludeNames:r,includeTypes:s,excludeTypes:a,includeIds:i,excludeIds:o}=t,c=[];for(let l of e)if(!(r&&l.name&&r.includes(l.name))){if(a&&Eu(l,a)||o&&l.id&&o.includes(l.id))continue;s||i||n?(n&&l.name&&n.some(u=>u===l.name)||s&&Eu(l,s)||i&&l.id&&i.some(u=>u===l.id))&&c.push(l):c.push(l)}return c}function k2(e){return Array.isArray(e)?mb(e):Ar.from(mb)}function mb(e){if(!e.length)return[];let t=[];for(let n of e){let r=n,s=t.pop();if(!s)t.push(r);else if(r.getType()==="tool"||r.getType()!==s.getType())t.push(s,r);else{let a=uu(s),i=uu(r),o=a.concat(i);typeof a.content=="string"&&typeof i.content=="string"&&(o.content=`${a.content}
89
+ ${i.content}`),t.push(O2(o))}}return t}function E2(e,t){if(Array.isArray(e)){let n=e;if(!t)throw new Error("Options parameter is required when providing messages.");return gb(n,t)}else{let n=e;return Ar.from(r=>gb(r,n)).withConfig({runName:"trim_messages"})}}async function gb(e,t){let{maxTokens:n,tokenCounter:r,strategy:s="last",allowPartial:a=!1,endOn:i,startOn:o,includeSystem:c=!1,textSplitter:l}=t;if(o&&s==="first")throw new Error("`startOn` should only be specified if `strategy` is 'last'.");if(c&&s==="first")throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");let u;"getNumTokens"in r?u=async h=>(await Promise.all(h.map(p=>r.getNumTokens(p.content)))).reduce((p,f)=>p+f,0):u=async h=>r(h);let d=gk;if(l&&("splitText"in l?d=l.splitText:d=async h=>l(h)),s==="first")return mk(e,{maxTokens:n,tokenCounter:u,textSplitter:d,partialStrategy:a?"first":void 0,endOn:i});if(s==="last")return S2(e,{maxTokens:n,tokenCounter:u,textSplitter:d,allowPartial:a,includeSystem:c,startOn:o,endOn:i});throw new Error(`Unrecognized strategy: '${s}'. Must be one of 'first' or 'last'.`)}async function mk(e,t){let{maxTokens:n,tokenCounter:r,textSplitter:s,partialStrategy:a,endOn:i}=t,o=[...e],c=0;for(let l=0;l<o.length;l+=1)if(await r(l>0?o.slice(0,-l):o)<=n){c=o.length-l;break}if(c<o.length&&a){let l=!1;if(Array.isArray(o[c].content)){let u=o[c];if(typeof u.content=="string")throw new Error("Expected content to be an array.");let d=u.content.length,h=a==="last"?[...u.content].reverse():u.content;for(let p=1;p<=d;p+=1){let f=a==="first"?h.slice(0,p):h.slice(-p),m=Object.fromEntries(Object.entries(u).filter(([y])=>y!=="type"&&!y.startsWith("lc_"))),v=dy(u.getType(),{...m,content:f}),w=[...o.slice(0,c),v];if(await r(w)<=n)o=w,c+=1,l=!0;else break}l&&a==="last"&&(u.content=[...h].reverse())}if(!l){let u=o[c],d;if(Array.isArray(u.content)&&u.content.some(h=>typeof h=="string"||h.type==="text")?d=u.content.find(h=>h.type==="text"&&h.text)?.text:typeof u.content=="string"&&(d=u.content),d){let h=await s(d),p=h.length;a==="last"&&h.reverse();for(let f=0;f<p-1;f+=1)if(h.pop(),u.content=h.join(""),await r([...o.slice(0,c),u])<=n){a==="last"&&(u.content=[...h].reverse().join("")),o=[...o.slice(0,c),u],c+=1;break}}}}if(i){let l=Array.isArray(i)?i:[i];for(;c>0&&!Eu(o[c-1],l);)c-=1}return o.slice(0,c)}async function S2(e,t){let{allowPartial:n=!1,includeSystem:r=!1,endOn:s,startOn:a,...i}=t,o=e.map(u=>{let d=Object.fromEntries(Object.entries(u).filter(([h])=>h!=="type"&&!h.startsWith("lc_")));return dy(u.getType(),d,Do(u))});if(s){let u=Array.isArray(s)?s:[s];for(;o.length>0&&!Eu(o[o.length-1],u);)o=o.slice(0,-1)}let c=r&&o[0]?.getType()==="system",l=c?o.slice(0,1).concat(o.slice(1).reverse()):o.reverse();return l=await mk(l,{...i,partialStrategy:n?"last":void 0,endOn:a}),c?[l[0],...l.slice(1).reverse()]:l.reverse()}var yb={human:{message:An,messageChunk:Gd},ai:{message:ct,messageChunk:ir},system:{message:Sr,messageChunk:di},developer:{message:Sr,messageChunk:di},tool:{message:Er,messageChunk:qd},function:{message:Wd,messageChunk:Jd},generic:{message:ka,messageChunk:Hd},remove:{message:Ys,messageChunk:Ys}};function dy(e,t,n){let r,s;switch(e){case"human":n?r=new Gd(t):s=new An(t);break;case"ai":if(n){let a={...t};"tool_calls"in a&&(a={...a,tool_call_chunks:a.tool_calls?.map(i=>({...i,type:"tool_call_chunk",index:void 0,args:JSON.stringify(i.args)}))}),r=new ir(a)}else s=new ct(t);break;case"system":n?r=new di(t):s=new Sr(t);break;case"developer":n?r=new di({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}}):s=new Sr({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}});break;case"tool":if("tool_call_id"in t)n?r=new qd(t):s=new Er(t);else throw new Error("Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.");break;case"function":if(n)r=new Jd(t);else{if(!t.name)throw new Error("FunctionMessage must have a 'name' field");s=new Wd(t)}break;case"generic":if("role"in t)n?r=new Hd(t):s=new ka(t);else throw new Error("Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.");break;default:throw new Error(`Unrecognized message type ${e}`)}if(n&&r)return r;if(s)return s;throw new Error(`Unrecognized message type ${e}`)}function O2(e){let t=e.getType(),n,r=Object.fromEntries(Object.entries(e).filter(([s])=>!["type","tool_call_chunks"].includes(s)&&!s.startsWith("lc_")));if(t in yb&&(n=dy(t,r)),!n)throw new Error(`Unrecognized message chunk class ${t}. Supported classes are ${Object.keys(yb)}`);return n}function gk(e){let t=e.split(`
90
+ `);return Promise.resolve([...t.slice(0,-1).map(n=>`${n}
91
+ `),t[t.length-1]])}var I2=["tool_call","tool_call_chunk","invalid_tool_call","server_tool_call","server_tool_call_chunk","server_tool_call_result"],T2=["image","video","audio","text-plain","file"],A2=["text","reasoning",...I2,...T2],$2=Q({AIMessage:()=>ct,AIMessageChunk:()=>ir,BaseMessage:()=>Gt,BaseMessageChunk:()=>Ns,ChatMessage:()=>ka,ChatMessageChunk:()=>Hd,DEFAULT_MERGE_IGNORE_KEYS:()=>k1,FunctionMessage:()=>Wd,FunctionMessageChunk:()=>Jd,HumanMessage:()=>An,HumanMessageChunk:()=>Gd,KNOWN_BLOCK_TYPES:()=>A2,RemoveMessage:()=>Ys,SystemMessage:()=>Sr,SystemMessageChunk:()=>di,ToolMessage:()=>Er,ToolMessageChunk:()=>qd,_isMessageFieldWithRole:()=>O1,_mergeDicts:()=>Dt,_mergeLists:()=>li,_mergeObj:()=>E1,_mergeStatus:()=>x1,coerceMessageLikeToMessage:()=>wr,collapseToolCallChunks:()=>N1,convertToChunk:()=>uu,convertToOpenAIImageBlock:()=>_1,convertToProviderContentBlock:()=>lT,defaultTextSplitter:()=>gk,defaultToolCallParser:()=>Rg,filterMessages:()=>x2,getBufferString:()=>Fg,iife:()=>YT,isAIMessage:()=>Dg,isAIMessageChunk:()=>Af,isBase64ContentBlock:()=>Cg,isBaseMessage:()=>Nt,isBaseMessageChunk:()=>Do,isChatMessage:()=>VT,isChatMessageChunk:()=>qT,isDataContentBlock:()=>gs,isDirectToolOutput:()=>jg,isFunctionMessage:()=>HT,isFunctionMessageChunk:()=>WT,isHumanMessage:()=>JT,isHumanMessageChunk:()=>GT,isIDContentBlock:()=>y1,isMessage:()=>w1,isOpenAIToolCallArray:()=>OT,isPlainTextContentBlock:()=>oT,isSystemMessage:()=>KT,isSystemMessageChunk:()=>XT,isToolMessage:()=>Lg,isToolMessageChunk:()=>I1,isURLContentBlock:()=>$g,mapChatMessagesToStoredMessages:()=>sA,mapStoredMessageToChatMessage:()=>Ug,mapStoredMessagesToChatMessages:()=>rA,mergeContent:()=>Zr,mergeMessageRuns:()=>k2,mergeResponseMetadata:()=>A1,mergeUsageMetadata:()=>zg,parseBase64DataUrl:()=>Tf,parseMimeType:()=>cT,trimMessages:()=>E2}),C2=Q({BaseChatMessageHistory:()=>yk,BaseListChatMessageHistory:()=>hy,InMemoryChatMessageHistory:()=>N2}),yk=class extends zn{async addMessages(e){for(let t of e)await this.addMessage(t)}},hy=class extends zn{addUserMessage(e){return this.addMessage(new An(e))}addAIMessage(e){return this.addMessage(new ct(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw new Error("Not implemented.")}},N2=class extends hy{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}},ps=class{pageContent;metadata;id;constructor(e){this.pageContent=e.pageContent!==void 0?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}},_k=class extends Pe{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},P2=class extends _k{async transformDocuments(e){let t=[];for(let n of e){let r=await this._transformDocument(n);t.push(r)}return t}},j2=Q({BaseDocumentTransformer:()=>_k,Document:()=>ps,MappingDocumentTransformer:()=>P2}),R2=Q({BaseDocumentLoader:()=>vk}),vk=class{},L2=Q({LangSmithLoader:()=>M2}),M2=class extends vk{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw new Error("client and clientConfig cannot both be provided.");this.client=e.client??new pi(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??z2,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let n=t.inputs;for(let a of this.contentKey)n=n[a];let r=this.formatContent(n),s=t;["created_at","modified_at"].forEach(a=>{a in s&&typeof s[a]=="object"&&(s[a]=s[a].toString())}),e.push({pageContent:r,metadata:s})}return e}};function z2(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var D2=Q({Embeddings:()=>py}),py=class{caller;constructor(e){this.caller=new jc(e??{})}},fy=class extends zn{lc_namespace=["langchain_core","example_selectors","base"]},bk=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},F2=class extends bk{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,n]of this.conditionals)if(t(e))return n;return this.defaultPrompt}};function U2(e){return e._modelType()==="base_llm"}function B2(e){return e._modelType()==="base_chat_model"}function _b(e){return e.split(/\n| /).length}var Z2=class wk extends fy{examples=[];examplePrompt;getTextLength=_b;maxLength=2048;exampleTextLengths=[];constructor(t){super(t),this.examplePrompt=t.examplePrompt,this.maxLength=t.maxLength??2048,this.getTextLength=t.getTextLength??_b}async addExample(t){this.examples.push(t);let n=await this.examplePrompt.format(t);this.exampleTextLengths.push(this.getTextLength(n))}async calculateExampleTextLengths(t,n){if(t.length>0)return t;let{examples:r,examplePrompt:s}=n;return(await Promise.all(r.map(a=>s.format(a)))).map(a=>this.getTextLength(a))}async selectExamples(t){let n=Object.values(t).join(" "),r=this.maxLength-this.getTextLength(n),s=0,a=[];for(;r>0&&s<this.examples.length;){let i=r-this.exampleTextLengths[s];if(i<0)break;a.push(this.examples[s]),r=i,s+=1}return a}static async fromExamples(t,n){let r=new wk(n);return await Promise.all(t.map(s=>r.addExample(s))),r}};function qp(e){return Object.keys(e).sort().map(t=>e[t])}var V2=class xk extends fy{vectorStoreRetriever;exampleKeys;inputKeys;constructor(t){if(super(t),this.exampleKeys=t.exampleKeys,this.inputKeys=t.inputKeys,t.vectorStore!==void 0)this.vectorStoreRetriever=t.vectorStore.asRetriever({k:t.k??4,filter:t.filter});else if(t.vectorStoreRetriever)this.vectorStoreRetriever=t.vectorStoreRetriever;else throw new Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(t){let n=qp((this.inputKeys??Object.keys(t)).reduce((r,s)=>({...r,[s]:t[s]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new ps({pageContent:n,metadata:t})])}async selectExamples(t){let n=qp((this.inputKeys??Object.keys(t)).reduce((s,a)=>({...s,[a]:t[a]}),{})).join(" "),r=(await this.vectorStoreRetriever.invoke(n)).map(s=>s.metadata);return this.exampleKeys?r.map(s=>this.exampleKeys.reduce((a,i)=>({...a,[i]:s[i]}),{})):r}static async fromExamples(t,n,r,s={}){let a=s.inputKeys??null,i=t.map(o=>qp(a?a.reduce((c,l)=>({...c,[l]:o[l]}),{}):o).join(" "));return new xk({vectorStore:await r.fromTexts(i,t,n,s),k:s.k??4,exampleKeys:s.exampleKeys,inputKeys:s.inputKeys})}},q2=Q({BaseExampleSelector:()=>fy,BasePromptSelector:()=>bk,ConditionalPromptSelector:()=>F2,LengthBasedExampleSelector:()=>Z2,SemanticSimilarityExampleSelector:()=>V2,isChatModel:()=>B2,isLLM:()=>U2}),Em="10f90ea3-90a4-4962-bf75-83a0f3c1c62a",H2=class extends zn{lc_namespace=["langchain","recordmanagers"]},kk=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=Tg;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let n of e)if(n in this.metadata)throw new Error(`Metadata cannot contain key ${n} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let n=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=n}catch(n){throw new Error(`Failed to hash metadata: ${n}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new ps({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let n=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return n.calculateHashes(),n}_hashStringToUUID(e){return du(this.keyEncoder(e),Em)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return du(this.keyEncoder(t),Em)}};function Ek(e,t){let n=[],r=[];return t.forEach(s=>{r.push(s),r.length>=e&&(n.push(r),r=[])}),r.length>0&&n.push(r),n}function Sk(e){let t=new Set,n=[];for(let r of e){if(!r.hash_)throw new Error("Hashed document does not have a hash");t.has(r.hash_)||(t.add(r.hash_),n.push(r))}return n}function Ok(e){if(e===null)return t=>null;if(typeof e=="string")return t=>t.metadata[e];if(typeof e=="function")return e;throw new Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}var Ik=e=>"load"in e&&typeof e.load=="function"&&"loadAndSplit"in e&&typeof e.loadAndSplit=="function";async function W2(e){let{docsSource:t,recordManager:n,vectorStore:r,options:s}=e,{batchSize:a=100,cleanup:i,sourceIdKey:o,cleanupBatchSize:c=1e3,forceUpdate:l=!1}=s??{};if(i==="incremental"&&!o)throw new Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let u=Ik(t)?await t.load():t,d=Ok(o??null),h=await n.getTime(),p=0,f=0,m=0,v=0,w=Ek(a??100,u);for(let y of w){let x=Sk(y.map(T=>kk.fromDocument(T))),k=x.map(T=>d(T));i==="incremental"&&x.forEach((T,Z)=>{if(k[Z]===null)throw new Error("sourceIdKey must be provided when cleanup is incremental")});let O=await n.exists(x.map(T=>T.uid)),$=[],I=[],_=[],P=new Set;if(x.forEach((T,Z)=>{if(O[Z])if(l)P.add(T.uid);else{_.push(T.uid);return}$.push(T.uid),I.push(T.toDocument())}),_.length>0&&(await n.update(_,{timeAtLeast:h}),v+=_.length),I.length>0&&(await r.addDocuments(I,{ids:$}),p+=I.length-P.size,m+=P.size),await n.update(x.map(T=>T.uid),{timeAtLeast:h,groupIds:k}),i==="incremental"){k.forEach(Z=>{if(!Z)throw new Error("Source id cannot be null")});let T=await n.listKeys({before:h,groupIds:k});T.length>0&&(await r.delete({ids:T}),await n.deleteKeys(T),f+=T.length)}}if(i==="full"){let y=await n.listKeys({before:h,limit:c});for(;y.length>0;)await r.delete({ids:y}),await n.deleteKeys(y),f+=y.length,y=await n.listKeys({before:h,limit:c})}return{numAdded:p,numDeleted:f,numUpdated:m,numSkipped:v}}var J2=Q({RecordManager:()=>H2,UUIDV5_NAMESPACE:()=>Em,_HashedDocument:()=>kk,_batch:()=>Ek,_deduplicateInOrder:()=>Sk,_getSourceIdAssigner:()=>Ok,_isBaseDocumentLoader:()=>Ik,index:()=>W2}),G2=Q({BasePromptValue:()=>lh,ChatPromptValue:()=>gy,ImagePromptValue:()=>Tk,StringPromptValue:()=>my}),lh=class extends zn{},my=class extends lh{static lc_name(){return"StringPromptValue"}lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;value;constructor(e){super({value:e}),this.value=e}toString(){return this.value}toChatMessages(){return[new An(this.value)]}},gy=class extends lh{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ChatPromptValue"}messages;constructor(e){Array.isArray(e)&&(e={messages:e}),super(e),this.messages=e.messages}toString(){return Fg(this.messages)}toChatMessages(){return this.messages}},Tk=class extends lh{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ImagePromptValue"}imageUrl;value;constructor(e){"imageUrl"in e||(e={imageUrl:e}),super(e),this.imageUrl=e.imageUrl}toString(){return this.imageUrl.url}toChatMessages(){return[new An({content:[{type:"image_url",image_url:{detail:this.imageUrl.detail,url:this.imageUrl.url}}]})]}},no={},vb;function K2(){if(vb)return no;vb=1,no.byteLength=o,no.toByteArray=l,no.fromByteArray=h;for(var e=[],t=[],n=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=r.length;s<a;++s)e[s]=r[s],t[r.charCodeAt(s)]=s;t[45]=62,t[95]=63;function i(p){var f=p.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var m=p.indexOf("=");m===-1&&(m=f);var v=m===f?0:4-m%4;return[m,v]}function o(p){var f=i(p),m=f[0],v=f[1];return(m+v)*3/4-v}function c(p,f,m){return(f+m)*3/4-m}function l(p){var f,m=i(p),v=m[0],w=m[1],y=new n(c(p,v,w)),x=0,k=w>0?v-4:v,O;for(O=0;O<k;O+=4)f=t[p.charCodeAt(O)]<<18|t[p.charCodeAt(O+1)]<<12|t[p.charCodeAt(O+2)]<<6|t[p.charCodeAt(O+3)],y[x++]=f>>16&255,y[x++]=f>>8&255,y[x++]=f&255;return w===2&&(f=t[p.charCodeAt(O)]<<2|t[p.charCodeAt(O+1)]>>4,y[x++]=f&255),w===1&&(f=t[p.charCodeAt(O)]<<10|t[p.charCodeAt(O+1)]<<4|t[p.charCodeAt(O+2)]>>2,y[x++]=f>>8&255,y[x++]=f&255),y}function u(p){return e[p>>18&63]+e[p>>12&63]+e[p>>6&63]+e[p&63]}function d(p,f,m){for(var v,w=[],y=f;y<m;y+=3)v=(p[y]<<16&16711680)+(p[y+1]<<8&65280)+(p[y+2]&255),w.push(u(v));return w.join("")}function h(p){for(var f,m=p.length,v=m%3,w=[],y=16383,x=0,k=m-v;x<k;x+=y)w.push(d(p,x,x+y>k?k:x+y));return v===1?(f=p[m-1],w.push(e[f>>2]+e[f<<4&63]+"==")):v===2&&(f=(p[m-2]<<8)+p[m-1],w.push(e[f>>10]+e[f>>4&63]+e[f<<2&63]+"=")),w.join("")}return no}var X2=K2(),Y2=Aa(X2),Q2=Object.defineProperty,eL=(e,t,n)=>t in e?Q2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tL=(e,t,n)=>(eL(e,t+"",n),n);function nL(e,t){let n=Array.from({length:e.length},(r,s)=>({start:s,end:s+1}));for(;n.length>1;){let r=null;for(let s=0;s<n.length-1;s++){let a=e.slice(n[s].start,n[s+1].end),i=t.get(a.join(","));i!=null&&(r==null||i<r[0])&&(r=[i,s])}if(r!=null){let s=r[1];n[s]={start:n[s].start,end:n[s+1].end},n.splice(s+1,1)}else break}return n}function rL(e,t){return e.length===1?[t.get(e.join(","))]:nL(e,t).map(n=>t.get(e.slice(n.start,n.end).join(","))).filter(n=>n!=null)}function sL(e){return e.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}var Sm=class{specialTokens;inverseSpecialTokens;patStr;textEncoder=new TextEncoder;textDecoder=new TextDecoder("utf-8");rankMap=new Map;textMap=new Map;constructor(e,t){this.patStr=e.pat_str;let n=e.bpe_ranks.split(`
92
+ `).filter(Boolean).reduce((r,s)=>{let[a,i,...o]=s.split(" "),c=Number.parseInt(i,10);return o.forEach((l,u)=>r[l]=c+u),r},{});for(let[r,s]of Object.entries(n)){let a=Y2.toByteArray(r);this.rankMap.set(a.join(","),s),this.textMap.set(s,a)}this.specialTokens={...e.special_tokens,...t},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((r,[s,a])=>(r[a]=this.textEncoder.encode(s),r),{})}encode(e,t=[],n="all"){let r=new RegExp(this.patStr,"ug"),s=Sm.specialTokenRegex(Object.keys(this.specialTokens)),a=[],i=new Set(t==="all"?Object.keys(this.specialTokens):t),o=new Set(n==="all"?Object.keys(this.specialTokens).filter(l=>!i.has(l)):n);if(o.size>0){let l=Sm.specialTokenRegex([...o]),u=e.match(l);if(u!=null)throw new Error(`The text contains a special token that is not allowed: ${u[0]}`)}let c=0;for(;;){let l=null,u=c;for(;s.lastIndex=u,l=s.exec(e),!(l==null||i.has(l[0]));)u=l.index+1;let d=l?.index??e.length;for(let p of e.substring(c,d).matchAll(r)){let f=this.textEncoder.encode(p[0]),m=this.rankMap.get(f.join(","));if(m!=null){a.push(m);continue}a.push(...rL(f,this.rankMap))}if(l==null)break;let h=this.specialTokens[l[0]];a.push(h),c=l.index+l[0].length}return a}decode(e){let t=[],n=0;for(let a=0;a<e.length;++a){let i=e[a],o=this.textMap.get(i)??this.inverseSpecialTokens[i];o!=null&&(t.push(o),n+=o.length)}let r=new Uint8Array(n),s=0;for(let a of t)r.set(a,s),s+=a.length;return this.textDecoder.decode(r)}},Ak=Sm;tL(Ak,"specialTokenRegex",e=>new RegExp(e.map(t=>sL(t)).join("|"),"g"));function aL(e){switch(e){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":case"gpt-5":case"gpt-5-2025-08-07":case"gpt-5-nano":case"gpt-5-nano-2025-08-07":case"gpt-5-mini":case"gpt-5-mini-2025-08-07":case"gpt-5-chat-latest":return"o200k_base";default:throw new Error("Unknown model")}}var iL=Q({encodingForModel:()=>yy,getEncoding:()=>$k}),dl={},oL=new jc({});async function $k(e){return e in dl||(dl[e]=oL.fetch(`https://tiktoken.pages.dev/js/${e}.json`).then(t=>t.json()).then(t=>new Ak(t)).catch(t=>{throw delete dl[e],t})),await dl[e]}async function yy(e){return $k(aL(e))}var cL=Q({BaseLangChain:()=>_y,BaseLanguageModel:()=>vy,calculateMaxTokens:()=>dL,getEmbeddingContextSize:()=>lL,getModelContextSize:()=>Ck,getModelNameForTiktoken:()=>uh,isOpenAITool:()=>uL}),uh=e=>e.startsWith("gpt-5")?"gpt-5":e.startsWith("gpt-3.5-turbo-16k")?"gpt-3.5-turbo-16k":e.startsWith("gpt-3.5-turbo-")?"gpt-3.5-turbo":e.startsWith("gpt-4-32k")?"gpt-4-32k":e.startsWith("gpt-4-")?"gpt-4":e.startsWith("gpt-4o")?"gpt-4o":e,lL=e=>e==="text-embedding-ada-002"?8191:2046,Ck=e=>{switch(uh(e)){case"gpt-5":case"gpt-5-turbo":case"gpt-5-turbo-preview":return 4e5;case"gpt-4o":case"gpt-4o-mini":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":return 128e3;case"gpt-4-turbo":case"gpt-4-turbo-preview":case"gpt-4-turbo-2024-04-09":case"gpt-4-0125-preview":case"gpt-4-1106-preview":return 128e3;case"gpt-4-32k":case"gpt-4-32k-0314":case"gpt-4-32k-0613":return 32768;case"gpt-4":case"gpt-4-0314":case"gpt-4-0613":return 8192;case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-16k-0613":return 16384;case"gpt-3.5-turbo":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-1106":case"gpt-3.5-turbo-0125":return 4096;case"text-davinci-003":case"text-davinci-002":return 4097;case"text-davinci-001":return 2049;case"text-curie-001":case"text-babbage-001":case"text-ada-001":return 2048;case"code-davinci-002":case"code-davinci-001":return 8e3;case"code-cushman-001":return 2048;case"claude-3-5-sonnet-20241022":case"claude-3-5-sonnet-20240620":case"claude-3-opus-20240229":case"claude-3-sonnet-20240229":case"claude-3-haiku-20240307":case"claude-2.1":return 2e5;case"claude-2.0":case"claude-instant-1.2":return 1e5;case"gemini-1.5-pro":case"gemini-1.5-pro-latest":case"gemini-1.5-flash":case"gemini-1.5-flash-latest":return 1e6;case"gemini-pro":case"gemini-pro-vision":return 32768;default:return 4097}};function uL(e){return typeof e!="object"||!e?!1:!!("type"in e&&e.type==="function"&&"function"in e&&typeof e.function=="object"&&e.function&&"name"in e.function&&"parameters"in e.function)}var dL=async({prompt:e,modelName:t})=>{let n;try{n=(await yy(uh(t))).encode(e).length}catch{console.warn("Failed to calculate number of tokens, falling back to approximate count"),n=Math.ceil(e.length/4)}return Ck(t)-n},hL=()=>!1,_y=class extends Pe{verbose;callbacks;tags;metadata;get lc_attributes(){return{callbacks:void 0,verbose:void 0}}constructor(e){super(e),this.verbose=e.verbose??hL(),this.callbacks=e.callbacks,this.tags=e.tags??[],this.metadata=e.metadata??{},this._addVersion("@langchain/core","1.1.33")}_addVersion(e,t){let n=this.metadata?.versions;this.metadata={...this.metadata,versions:{...typeof n=="object"&&n!==null?n:{},[e]:t}}}},vy=class extends _y{get callKeys(){return["stop","timeout","signal","tags","metadata","callbacks"]}caller;cache;constructor({callbacks:e,callbackManager:t,...n}){let{cache:r,...s}=n;super({callbacks:e??t,...s}),typeof r=="object"?this.cache=r:r?this.cache=R1.global():this.cache=void 0,this.caller=new jc(n??{})}_encoding;async getNumTokens(e){let t;typeof e=="string"?t=e:t=e.map(r=>typeof r=="string"?r:r.type==="text"&&"text"in r?r.text:"").join("");let n=Math.ceil(t.length/4);if(!this._encoding)try{this._encoding=await yy("modelName"in this?uh(this.modelName):"gpt2")}catch(r){console.warn("Failed to calculate number of tokens, falling back to approximate count",r)}if(this._encoding)try{n=this._encoding.encode(t).length}catch(r){console.warn("Failed to calculate number of tokens, falling back to approximate count",r)}return n}static _convertInputToPromptValue(e){return typeof e=="string"?new my(e):Array.isArray(e)?new gy(e.map(wr)):e}_identifyingParams(){return{}}_getSerializedCacheKeyParametersForCall({config:e,...t}){let n={...this._identifyingParams(),...t,_type:this._llmType(),_model:this._modelType()};return Object.entries(n).filter(([r,s])=>s!==void 0).map(([r,s])=>`${r}:${JSON.stringify(s)}`).sort().join(",")}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}static async deserialize(e){throw new Error("Use .toJSON() instead")}get profile(){return{}}},Ko=class extends Pe{static lc_name(){return"RunnablePassthrough"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;func;constructor(e){super(e),e&&(this.func=e.func)}async invoke(e,t){let n=Le(t);return this.func&&await this.func(e,n),this._callWithConfig(r=>Promise.resolve(r),e,n)}async*transform(e,t){let n=Le(t),r,s=!0;for await(let a of this._transformStreamWithConfig(e,i=>i,n))if(yield a,s)if(r===void 0)r=a;else try{r=_s(r,a)}catch{r=void 0,s=!1}this.func&&r!==void 0&&await this.func(r,n)}static assign(e){return new uy(new Hi({steps:e}))}},pL=class extends Pe{static lc_name(){return"RouterRunnable"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnables;constructor(e){super(e),this.runnables=e.runnables}async invoke(e,t){let{key:n,input:r}=e,s=this.runnables[n];if(s===void 0)throw new Error(`No runnable associated with key "${n}".`);return s.invoke(r,Le(t))}async batch(e,t,n){let r=e.map(u=>u.key),s=e.map(u=>u.input);if(r.find(u=>this.runnables[u]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let a=r.map(u=>this.runnables[u]),i=this._getOptionsList(t??{},e.length),o=i[0]?.maxConcurrency??n?.maxConcurrency,c=o&&o>0?o:e.length,l=[];for(let u=0;u<s.length;u+=c){let d=s.slice(u,u+c).map((p,f)=>a[f].invoke(p,i[f])),h=await Promise.all(d);l.push(h)}return l.flat()}async stream(e,t){let{key:n,input:r}=e,s=this.runnables[n];if(s===void 0)throw new Error(`No runnable associated with key "${n}".`);return s.stream(r,t)}},fL=class extends Pe{static lc_name(){return"RunnableBranch"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;default;branches;constructor(e){super(e),this.branches=e.branches,this.default=e.default}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let t=e.slice(0,-1).map(([r,s])=>[Pt(r),Pt(s)]),n=Pt(e[e.length-1]);return new this({branches:t,default:n})}async _invoke(e,t,n){let r;for(let s=0;s<this.branches.length;s+=1){let[a,i]=this.branches[s];if(await a.invoke(e,Ve(t,{callbacks:n?.getChild(`condition:${s+1}`)}))){r=await i.invoke(e,Ve(t,{callbacks:n?.getChild(`branch:${s+1}`)}));break}}return r||(r=await this.default.invoke(e,Ve(t,{callbacks:n?.getChild("branch:default")}))),r}async invoke(e,t={}){return this._callWithConfig(this._invoke,e,t)}async*_streamIterator(e,t){let n=await(await Xt(t))?.handleChainStart(this.toJSON(),wt(e,"input"),t?.runId,void 0,void 0,void 0,t?.runName),r,s=!0,a;try{for(let i=0;i<this.branches.length;i+=1){let[o,c]=this.branches[i];if(await o.invoke(e,Ve(t,{callbacks:n?.getChild(`condition:${i+1}`)}))){a=await c.stream(e,Ve(t,{callbacks:n?.getChild(`branch:${i+1}`)}));for await(let l of a)if(yield l,s)if(r===void 0)r=l;else try{r=_s(r,l)}catch{r=void 0,s=!1}break}}if(a===void 0){a=await this.default.stream(e,Ve(t,{callbacks:n?.getChild("branch:default")}));for await(let i of a)if(yield i,s)if(r===void 0)r=i;else try{r=_s(r,i)}catch{r=void 0,s=!1}}}catch(i){throw await n?.handleChainError(i),i}await n?.handleChainEnd(r??{})}},mL=class extends ws{runnable;inputMessagesKey;outputMessagesKey;historyMessagesKey;getMessageHistory;constructor(e){let t=Ar.from((a,i)=>this._enterHistory(a,i??{})).withConfig({runName:"loadHistory"}),n=e.historyMessagesKey??e.inputMessagesKey;n&&(t=Ko.assign({[n]:t}).withConfig({runName:"insertHistory"}));let r=t.pipe(e.runnable.withListeners({onEnd:(a,i)=>this._exitHistory(a,i??{})})).withConfig({runName:"RunnableWithMessageHistory"}),s=e.config??{};super({...e,config:s,bound:r}),this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let t;if(typeof e=="object"&&!Array.isArray(e)&&!Nt(e)){let n;this.inputMessagesKey?n=this.inputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="input",Array.isArray(e[n])&&Array.isArray(e[n][0])?t=e[n][0]:t=e[n]}else t=e;if(typeof t=="string")return[new An(t)];if(Array.isArray(t))return t;if(Nt(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
93
+ Got ${JSON.stringify(t,null,2)}`)}_getOutputMessages(e){let t;if(!Array.isArray(e)&&!Nt(e)&&typeof e!="string"){let n;this.outputMessagesKey!==void 0?n=this.outputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="output",e.generations!==void 0?t=e.generations[0][0].message:t=e[n]}else t=e;if(typeof t=="string")return[new ct(t)];if(Array.isArray(t))return t;if(Nt(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages. Received: ${JSON.stringify(t,null,2)}`)}async _enterHistory(e,t){let n=await(t?.configurable?.messageHistory).getMessages();return this.historyMessagesKey===void 0?n.concat(this._getInputMessages(e)):n}async _exitHistory(e,t){let n=t.configurable?.messageHistory,r;Array.isArray(e.inputs)&&Array.isArray(e.inputs[0])?r=e.inputs[0]:r=e.inputs;let s=this._getInputMessages(r);if(this.historyMessagesKey===void 0){let o=await n.getMessages();s=s.slice(o.length)}let a=e.outputs;if(!a)throw new Error(`Output values from 'Run' undefined. Run: ${JSON.stringify(e,null,2)}`);let i=this._getOutputMessages(a);await n.addMessages([...s,...i])}async _mergeConfig(...e){let t=await super._mergeConfig(...e);if(!t.configurable||!t.configurable.sessionId){let r={[this.inputMessagesKey??"input"]:"foo"};throw new Error(`sessionId is required. Pass it in as part of the config argument to .invoke() or .stream()
94
+ eg. chain.invoke(${JSON.stringify(r)}, ${JSON.stringify({configurable:{sessionId:"123"}})})`)}let{sessionId:n}=t.configurable;return t.configurable.messageHistory=await this.getMessageHistory(n),t}},gL=Q({RouterRunnable:()=>pL,Runnable:()=>Pe,RunnableAssign:()=>uy,RunnableBinding:()=>ws,RunnableBranch:()=>fL,RunnableEach:()=>y2,RunnableLambda:()=>Ar,RunnableMap:()=>Hi,RunnableParallel:()=>b2,RunnablePassthrough:()=>Ko,RunnablePick:()=>fk,RunnableRetry:()=>ly,RunnableSequence:()=>xs,RunnableToolLike:()=>km,RunnableWithFallbacks:()=>pk,RunnableWithMessageHistory:()=>mL,_coerceToRunnable:()=>Pt,ensureConfig:()=>Le,getCallbackManagerForConfig:()=>Xt,mergeConfigs:()=>Mn,patchConfig:()=>Ve,pickRunnableConfigKeys:()=>Vr,raceWithSignal:()=>Ir}),yL=Q({applyPatch:()=>mi,compare:()=>th}),dh=class extends Pe{parseResultWithPrompt(e,t,n){return this.parseResult(e,n)}_baseMessageToString(e){return typeof e.content=="string"?e.content:this._baseMessageContentToString(e.content)}_baseMessageContentToString(e){return JSON.stringify(e)}async invoke(e,t){return typeof e=="string"?this._callWithConfig(async(n,r)=>this.parseResult([{text:n}],r?.callbacks),e,{...t,runType:"parser"}):this._callWithConfig(async(n,r)=>this.parseResult([{message:n,text:this._baseMessageToString(n)}],r?.callbacks),e,{...t,runType:"parser"})}},Wi=class extends dh{parseResult(e,t){return this.parse(e[0].text,t)}async parseWithPrompt(e,t,n){return this.parse(e,n)}_type(){throw new Error("_type not implemented")}},sr=class extends Error{llmOutput;observation;sendToLLM;constructor(e,t,n,r=!1){if(super(e),this.llmOutput=t,this.observation=n,this.sendToLLM=r,r&&(n===void 0||t===void 0))throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");$c(this,"OUTPUT_PARSING_FAILURE")}},Rc=class extends Wi{async*_transform(e){for await(let t of e)typeof t=="string"?yield this.parseResult([{text:t}]):yield this.parseResult([{message:t,text:this._baseMessageToString(t)}])}async*transform(e,t){yield*this._transformStreamWithConfig(e,this._transform.bind(this),{...t,runType:"parser"})}},Lc=class extends Rc{diff=!1;constructor(e){super(e),this.diff=e?.diff??this.diff}async*_transform(e){let t,n;for await(let r of e){if(typeof r!="string"&&typeof r.content!="string")throw new Error("Cannot handle non-string output.");let s;if(Do(r)){if(typeof r.content!="string")throw new Error("Cannot handle non-string message output.");s=new yi({message:r,text:r.content})}else if(Nt(r)){if(typeof r.content!="string")throw new Error("Cannot handle non-string message output.");s=new yi({message:uu(r),text:r.content})}else s=new gi({text:r});n===void 0?n=s:n=n.concat(s);let a=await this.parsePartialResult([n]);a!=null&&!ta(a,t)&&(this.diff?yield this._diff(t,a):yield a,t=a)}}getFormatInstructions(){return""}},_L=class extends Rc{static lc_name(){return"BytesOutputParser"}lc_namespace=["langchain_core","output_parsers","bytes"];lc_serializable=!0;textEncoder=new TextEncoder;parse(e){return Promise.resolve(this.textEncoder.encode(e))}getFormatInstructions(){return""}},Mc=class extends Rc{re;async*_transform(e){let t="";for await(let n of e)if(typeof n=="string"?t+=n:t+=n.content,this.re){let r=[...t.matchAll(this.re)];if(r.length>1){let s=0;for(let a of r.slice(0,-1))yield[a[1]],s+=(a.index??0)+a[0].length;t=t.slice(s)}}else{let r=await this.parse(t);if(r.length>1){for(let s of r.slice(0,-1))yield[s];t=r[r.length-1]}}for(let n of await this.parse(t))yield[n]}},vL=class extends Mc{static lc_name(){return"CommaSeparatedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;async parse(e){try{return e.trim().split(",").map(t=>t.trim())}catch{throw new sr(`Could not parse output: ${e}`,e)}}getFormatInstructions(){return"Your response should be a list of comma separated values, eg: `foo, bar, baz`"}},bL=class extends Mc{lc_namespace=["langchain_core","output_parsers","list"];length;separator;constructor({length:e,separator:t}){super(...arguments),this.length=e,this.separator=t||","}async parse(e){try{let t=e.trim().split(this.separator).map(n=>n.trim());if(this.length!==void 0&&t.length!==this.length)throw new sr(`Incorrect number of items. Expected ${this.length}, got ${t.length}.`);return t}catch(t){throw Object.getPrototypeOf(t)===sr.prototype?t:new sr(`Could not parse output: ${e}`)}}getFormatInstructions(){return`Your response should be a list of ${this.length===void 0?"":`${this.length} `}items separated by "${this.separator}" (eg: \`foo${this.separator} bar${this.separator} baz\`)`}},wL=class extends Mc{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
95
+
96
+ 1. foo
97
+
98
+ 2. bar
99
+
100
+ 3. baz`}re=/\d+\.\s([^\n]+)/g;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},xL=class extends Mc{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
101
+
102
+ 1. foo
103
+
104
+ 2. bar
105
+
106
+ 3. baz`}re=/^\s*[-*]\s([^\n]+)$/gm;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},kL=class extends Rc{static lc_name(){return"StrOutputParser"}lc_namespace=["langchain_core","output_parsers","string"];lc_serializable=!0;parse(e){return Promise.resolve(e)}getFormatInstructions(){return""}_textContentToString(e){return e.text}_imageUrlContentToString(e){throw new Error('Cannot coerce a multimodal "image_url" message part into a string.')}_messageContentToString(e){switch(e.type){case"text":case"text_delta":if("text"in e)return this._textContentToString(e);break;case"image_url":if("image_url"in e)return this._imageUrlContentToString(e);break;case"reasoning":case"thinking":case"redacted_thinking":return"";default:throw new Error(`Cannot coerce "${e.type}" message part into a string.`)}throw new Error(`Invalid content type: ${e.type}`)}_baseMessageContentToString(e){return e.reduce((t,n)=>t+this._messageContentToString(n),"")}},Nk=class extends Lc{static lc_name(){return"JsonOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_concatOutputChunks(e,t){return this.diff?super._concatOutputChunks(e,t):t}_diff(e,t){if(t)return e?th(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return lu(e[0].text)}async parse(e){return lu(e,JSON.parse)}getFormatInstructions(){return""}_baseMessageToString(e){return e.text}},Pk=class extends Wi{static lc_name(){return"StandardSchemaOutputParser"}lc_namespace=["langchain","output_parsers","standard_schema"];schema;constructor(e){super(),this.schema=e}static fromSerializableSchema(e){return new this(e)}async parse(e){try{let t=lu(e,JSON.parse),n=await this.schema["~standard"].validate(t);if(n.issues)throw new Error(`Validation failed: ${JSON.stringify(n.issues)}`);return n.value}catch(t){throw new sr(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}getFormatInstructions(){return""}},by=class extends Wi{static lc_name(){return"StructuredOutputParser"}lc_namespace=["langchain","output_parsers","structured"];toJSON(){return this.toJSONNotImplemented()}constructor(e){super(e),this.schema=e}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=ch(Object.fromEntries(Object.entries(e).map(([n,r])=>[n,oh().describe(r)])));return new this(t)}getFormatInstructions(){return`You must format your output as a JSON value that adheres to a given "JSON Schema" instance.
107
+
108
+ "JSON Schema" is a declarative language that allows you to annotate and validate JSON documents.
109
+
110
+ For example, the example "JSON Schema" instance {{"properties": {{"foo": {{"description": "a list of test words", "type": "array", "items": {{"type": "string"}}}}}}, "required": ["foo"]}}
111
+ would match an object with one required property, "foo". The "type" property specifies "foo" must be an "array", and the "description" property semantically describes it as "a list of test words". The items within "foo" must be strings.
112
+ Thus, the object {{"foo": ["bar", "baz"]}} is a well-formatted instance of this example "JSON Schema". The object {{"properties": {{"foo": ["bar", "baz"]}}}} is not well-formatted.
113
+
114
+ Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
115
+
116
+ Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
117
+ \`\`\`json
118
+ ${JSON.stringify(un(this.schema))}
119
+ \`\`\`
120
+ `}async parse(e){try{let t=e.trim(),n=(t.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1]||t.match(/```json\s*([\s\S]*?)```/)?.[1]||t).replace(/"([^"\\]*(\\.[^"\\]*)*)"/g,(r,s)=>`"${s.replace(/\n/g,"\\n")}"`).replace(/\n/g,"");return await ah(this.schema,JSON.parse(n))}catch(t){throw new sr(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}},jk=class extends by{static lc_name(){return"JsonMarkdownStructuredOutputParser"}getFormatInstructions(e){let t=e?.interpolationDepth??1;if(t<1)throw new Error("f string interpolation depth must be at least 1");return`Return a markdown code snippet with a JSON object formatted to look like:
121
+ \`\`\`json
122
+ ${this._schemaToInstruction(un(this.schema)).replaceAll("{","{".repeat(t)).replaceAll("}","}".repeat(t))}
123
+ \`\`\``}_schemaToInstruction(e,t=2){let n=e;if("type"in n){let r=!1,s;if(Array.isArray(n.type)){let o=n.type.findIndex(c=>c==="null");o!==-1&&(r=!0,n.type.splice(o,1)),s=n.type.join(" | ")}else s=n.type;if(n.type==="object"&&n.properties){let o=n.description?` // ${n.description}`:"";return`{
124
+ ${Object.entries(n.properties).map(([c,l])=>{let u=n.required?.includes(c)?"":" (optional)";return`${" ".repeat(t)}"${c}": ${this._schemaToInstruction(l,t+2)}${u}`}).join(`
125
+ `)}
126
+ ${" ".repeat(t-2)}}${o}`}if(n.type==="array"&&n.items){let o=n.description?` // ${n.description}`:"";return`array[
127
+ ${" ".repeat(t)}${this._schemaToInstruction(n.items,t+2)}
128
+ ${" ".repeat(t-2)}] ${o}`}let a=r?" (nullable)":"",i=n.description?` // ${n.description}`:"";return`${s}${i}${a}`}if("anyOf"in n)return n.anyOf.map(r=>this._schemaToInstruction(r,t)).join(`
129
+ ${" ".repeat(t-2)}`);throw new Error("unsupported schema type")}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=ch(Object.fromEntries(Object.entries(e).map(([n,r])=>[n,oh().describe(r)])));return new this(t)}},EL=class extends Wi{structuredInputParser;constructor({inputSchema:e}){super(...arguments),this.structuredInputParser=new jk(e)}async parse(e){let t;try{t=await this.structuredInputParser.parse(e)}catch(n){throw new sr(`Failed to parse. Text: "${e}". Error: ${n}`,e)}return this.outputProcessor(t)}getFormatInstructions(){return this.structuredInputParser.getFormatInstructions()}},SL=function(){let e={};e.parser=function(b,g){return new n(b,g)},e.SAXParser=n,e.SAXStream=l,e.createStream=c,e.MAX_BUFFER_LENGTH=64*1024;let t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function n(b,g){if(!(this instanceof n))return new n(b,g);var C=this;s(C),C.q=C.c="",C.bufferCheckPosition=e.MAX_BUFFER_LENGTH,C.opt=g||{},C.opt.lowercase=C.opt.lowercase||C.opt.lowercasetags,C.looseCase=C.opt.lowercase?"toLowerCase":"toUpperCase",C.tags=[],C.closed=C.closedRoot=C.sawRoot=!1,C.tag=C.error=null,C.strict=!!b,C.noscript=!!(b||C.opt.noscript),C.state=_.BEGIN,C.strictEntities=C.opt.strictEntities,C.ENTITIES=C.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),C.attribList=[],C.opt.xmlns&&(C.ns=Object.create(f)),C.trackPosition=C.opt.position!==!1,C.trackPosition&&(C.position=C.line=C.column=0),T(C,"onready")}Object.create||(Object.create=function(b){function g(){}return g.prototype=b,new g}),Object.keys||(Object.keys=function(b){var g=[];for(var C in b)b.hasOwnProperty(C)&&g.push(C);return g});function r(b){for(var g=Math.max(e.MAX_BUFFER_LENGTH,10),C=0,E=0,Ce=t.length;E<Ce;E++){var We=b[t[E]].length;if(We>g)switch(t[E]){case"textNode":ze(b);break;case"cdata":Z(b,"oncdata",b.cdata),b.cdata="";break;case"script":Z(b,"onscript",b.script),b.script="";break;default:B(b,"Max buffer length exceeded: "+t[E])}C=Math.max(C,We)}b.bufferCheckPosition=e.MAX_BUFFER_LENGTH-C+b.position}function s(b){for(var g=0,C=t.length;g<C;g++)b[t[g]]=""}function a(b){ze(b),b.cdata!==""&&(Z(b,"oncdata",b.cdata),b.cdata=""),b.script!==""&&(Z(b,"onscript",b.script),b.script="")}n.prototype={end:function(){M(this)},write:kt,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){a(this)}};var i=ReadableStream;i||(i=function(){});var o=e.EVENTS.filter(function(b){return b!=="error"&&b!=="end"});function c(b,g){return new l(b,g)}function l(b,g){if(!(this instanceof l))return new l(b,g);i.apply(this),this._parser=new n(b,g),this.writable=!0,this.readable=!0;var C=this;this._parser.onend=function(){C.emit("end")},this._parser.onerror=function(E){C.emit("error",E),C._parser.error=null},this._decoder=null,o.forEach(function(E){Object.defineProperty(C,"on"+E,{get:function(){return C._parser["on"+E]},set:function(Ce){if(!Ce)return C.removeAllListeners(E),C._parser["on"+E]=Ce,Ce;C.on(E,Ce)},enumerable:!0,configurable:!1})})}l.prototype=Object.create(i.prototype,{constructor:{value:l}}),l.prototype.write=function(b){return this._parser.write(b.toString()),this.emit("data",b),!0},l.prototype.end=function(b){return b&&b.length&&this.write(b),this._parser.end(),!0},l.prototype.on=function(b,g){var C=this;return!C._parser["on"+b]&&o.indexOf(b)!==-1&&(C._parser["on"+b]=function(){var E=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);E.splice(0,0,b),C.emit.apply(C,E)}),i.prototype.on.call(C,b,g)};var u="[CDATA[",d="DOCTYPE",h="http://www.w3.org/XML/1998/namespace",p="http://www.w3.org/2000/xmlns/",f={xml:h,xmlns:p},m=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,v=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,w=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,y=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function x(b){return b===" "||b===`
130
+ `||b==="\r"||b===" "}function k(b){return b==='"'||b==="'"}function O(b){return b===">"||x(b)}function $(b,g){return b.test(g)}function I(b,g){return!$(b,g)}var _=0;e.STATE={BEGIN:_++,BEGIN_WHITESPACE:_++,TEXT:_++,TEXT_ENTITY:_++,OPEN_WAKA:_++,SGML_DECL:_++,SGML_DECL_QUOTED:_++,DOCTYPE:_++,DOCTYPE_QUOTED:_++,DOCTYPE_DTD:_++,DOCTYPE_DTD_QUOTED:_++,COMMENT_STARTING:_++,COMMENT:_++,COMMENT_ENDING:_++,COMMENT_ENDED:_++,CDATA:_++,CDATA_ENDING:_++,CDATA_ENDING_2:_++,PROC_INST:_++,PROC_INST_BODY:_++,PROC_INST_ENDING:_++,OPEN_TAG:_++,OPEN_TAG_SLASH:_++,ATTRIB:_++,ATTRIB_NAME:_++,ATTRIB_NAME_SAW_WHITE:_++,ATTRIB_VALUE:_++,ATTRIB_VALUE_QUOTED:_++,ATTRIB_VALUE_CLOSED:_++,ATTRIB_VALUE_UNQUOTED:_++,ATTRIB_VALUE_ENTITY_Q:_++,ATTRIB_VALUE_ENTITY_U:_++,CLOSE_TAG:_++,CLOSE_TAG_SAW_WHITE:_++,SCRIPT:_++,SCRIPT_ENDING:_++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(b){var g=e.ENTITIES[b],C=typeof g=="number"?String.fromCharCode(g):g;e.ENTITIES[b]=C});for(var P in e.STATE)e.STATE[e.STATE[P]]=P;_=e.STATE;function T(b,g,C){b[g]&&b[g](C)}function Z(b,g,C){b.textNode&&ze(b),T(b,g,C)}function ze(b){b.textNode=et(b.opt,b.textNode),b.textNode&&T(b,"ontext",b.textNode),b.textNode=""}function et(b,g){return b.trim&&(g=g.trim()),b.normalize&&(g=g.replace(/\s+/g," ")),g}function B(b,g){return ze(b),b.trackPosition&&(g+=`
131
+ Line: `+b.line+`
132
+ Column: `+b.column+`
133
+ Char: `+b.c),g=new Error(g),b.error=g,T(b,"onerror",g),b}function M(b){return b.sawRoot&&!b.closedRoot&&z(b,"Unclosed root tag"),b.state!==_.BEGIN&&b.state!==_.BEGIN_WHITESPACE&&b.state!==_.TEXT&&B(b,"Unexpected end"),ze(b),b.c="",b.closed=!0,T(b,"onend"),n.call(b,b.strict,b.opt),b}function z(b,g){if(typeof b!="object"||!(b instanceof n))throw new Error("bad call to strictFail");b.strict&&B(b,g)}function ee(b){b.strict||(b.tagName=b.tagName[b.looseCase]());var g=b.tags[b.tags.length-1]||b,C=b.tag={name:b.tagName,attributes:{}};b.opt.xmlns&&(C.ns=g.ns),b.attribList.length=0,Z(b,"onopentagstart",C)}function oe(b,g){var C=b.indexOf(":")<0?["",b]:b.split(":"),E=C[0],Ce=C[1];return g&&b==="xmlns"&&(E="xmlns",Ce=""),{prefix:E,local:Ce}}function ne(b){if(b.strict||(b.attribName=b.attribName[b.looseCase]()),b.attribList.indexOf(b.attribName)!==-1||b.tag.attributes.hasOwnProperty(b.attribName)){b.attribName=b.attribValue="";return}if(b.opt.xmlns){var g=oe(b.attribName,!0),C=g.prefix,E=g.local;if(C==="xmlns")if(E==="xml"&&b.attribValue!==h)z(b,"xml: prefix must be bound to "+h+`
134
+ Actual: `+b.attribValue);else if(E==="xmlns"&&b.attribValue!==p)z(b,"xmlns: prefix must be bound to "+p+`
135
+ Actual: `+b.attribValue);else{var Ce=b.tag,We=b.tags[b.tags.length-1]||b;Ce.ns===We.ns&&(Ce.ns=Object.create(We.ns)),Ce.ns[E]=b.attribValue}b.attribList.push([b.attribName,b.attribValue])}else b.tag.attributes[b.attribName]=b.attribValue,Z(b,"onattribute",{name:b.attribName,value:b.attribValue});b.attribName=b.attribValue=""}function le(b,g){if(b.opt.xmlns){var C=b.tag,E=oe(b.tagName);C.prefix=E.prefix,C.local=E.local,C.uri=C.ns[E.prefix]||"",C.prefix&&!C.uri&&(z(b,"Unbound namespace prefix: "+JSON.stringify(b.tagName)),C.uri=E.prefix);var Ce=b.tags[b.tags.length-1]||b;C.ns&&Ce.ns!==C.ns&&Object.keys(C.ns).forEach(function(Ms){Z(b,"onopennamespace",{prefix:Ms,uri:C.ns[Ms]})});for(var We=0,_t=b.attribList.length;We<_t;We++){var dt=b.attribList[We],Rt=dt[0],Cn=dt[1],ht=oe(Rt,!0),ur=ht.prefix,Ta=ht.local,Hc=ur===""?"":C.ns[ur]||"",q={name:Rt,value:Cn,prefix:ur,local:Ta,uri:Hc};ur&&ur!=="xmlns"&&!Hc&&(z(b,"Unbound namespace prefix: "+JSON.stringify(ur)),q.uri=ur),b.tag.attributes[Rt]=q,Z(b,"onattribute",q)}b.attribList.length=0}b.tag.isSelfClosing=!!g,b.sawRoot=!0,b.tags.push(b.tag),Z(b,"onopentag",b.tag),g||(!b.noscript&&b.tagName.toLowerCase()==="script"?b.state=_.SCRIPT:b.state=_.TEXT,b.tag=null,b.tagName=""),b.attribName=b.attribValue="",b.attribList.length=0}function ke(b){if(!b.tagName){z(b,"Weird empty close tag."),b.textNode+="</>",b.state=_.TEXT;return}if(b.script){if(b.tagName!=="script"){b.script+="</"+b.tagName+">",b.tagName="",b.state=_.SCRIPT;return}Z(b,"onscript",b.script),b.script=""}var g=b.tags.length,C=b.tagName;b.strict||(C=C[b.looseCase]());for(var E=C;g--&&b.tags[g].name!==E;)z(b,"Unexpected close tag");if(g<0){z(b,"Unmatched closing tag: "+b.tagName),b.textNode+="</"+b.tagName+">",b.state=_.TEXT;return}b.tagName=C;for(var Ce=b.tags.length;Ce-- >g;){var We=b.tag=b.tags.pop();b.tagName=b.tag.name,Z(b,"onclosetag",b.tagName);var _t={};for(var dt in We.ns)_t[dt]=We.ns[dt];var Rt=b.tags[b.tags.length-1]||b;b.opt.xmlns&&We.ns!==Rt.ns&&Object.keys(We.ns).forEach(function(Cn){var ht=We.ns[Cn];Z(b,"onclosenamespace",{prefix:Cn,uri:ht})})}g===0&&(b.closedRoot=!0),b.tagName=b.attribValue=b.attribName="",b.attribList.length=0,b.state=_.TEXT}function Se(b){var g=b.entity,C=g.toLowerCase(),E,Ce="";return b.ENTITIES[g]?b.ENTITIES[g]:b.ENTITIES[C]?b.ENTITIES[C]:(g=C,g.charAt(0)==="#"&&(g.charAt(1)==="x"?(g=g.slice(2),E=parseInt(g,16),Ce=E.toString(16)):(g=g.slice(1),E=parseInt(g,10),Ce=E.toString(10))),g=g.replace(/^0+/,""),isNaN(E)||Ce.toLowerCase()!==g?(z(b,"Invalid character entity"),"&"+b.entity+";"):String.fromCodePoint(E))}function De(b,g){g==="<"?(b.state=_.OPEN_WAKA,b.startTagPosition=b.position):x(g)||(z(b,"Non-whitespace before first tag."),b.textNode=g,b.state=_.TEXT)}function Fe(b,g){var C="";return g<b.length&&(C=b.charAt(g)),C}function kt(b){var g=this;if(this.error)throw this.error;if(g.closed)return B(g,"Cannot write after close. Assign an onready handler.");if(b===null)return M(g);typeof b=="object"&&(b=b.toString());for(var C=0,E="";E=Fe(b,C++),g.c=E,!!E;)switch(g.trackPosition&&(g.position++,E===`
136
+ `?(g.line++,g.column=0):g.column++),g.state){case _.BEGIN:if(g.state=_.BEGIN_WHITESPACE,E==="\uFEFF")continue;De(g,E);continue;case _.BEGIN_WHITESPACE:De(g,E);continue;case _.TEXT:if(g.sawRoot&&!g.closedRoot){for(var Ce=C-1;E&&E!=="<"&&E!=="&";)E=Fe(b,C++),E&&g.trackPosition&&(g.position++,E===`
137
+ `?(g.line++,g.column=0):g.column++);g.textNode+=b.substring(Ce,C-1)}E==="<"&&!(g.sawRoot&&g.closedRoot&&!g.strict)?(g.state=_.OPEN_WAKA,g.startTagPosition=g.position):(!x(E)&&(!g.sawRoot||g.closedRoot)&&z(g,"Text data outside of root node."),E==="&"?g.state=_.TEXT_ENTITY:g.textNode+=E);continue;case _.SCRIPT:E==="<"?g.state=_.SCRIPT_ENDING:g.script+=E;continue;case _.SCRIPT_ENDING:E==="/"?g.state=_.CLOSE_TAG:(g.script+="<"+E,g.state=_.SCRIPT);continue;case _.OPEN_WAKA:if(E==="!")g.state=_.SGML_DECL,g.sgmlDecl="";else if(!x(E))if($(m,E))g.state=_.OPEN_TAG,g.tagName=E;else if(E==="/")g.state=_.CLOSE_TAG,g.tagName="";else if(E==="?")g.state=_.PROC_INST,g.procInstName=g.procInstBody="";else{if(z(g,"Unencoded <"),g.startTagPosition+1<g.position){var We=g.position-g.startTagPosition;E=new Array(We).join(" ")+E}g.textNode+="<"+E,g.state=_.TEXT}continue;case _.SGML_DECL:(g.sgmlDecl+E).toUpperCase()===u?(Z(g,"onopencdata"),g.state=_.CDATA,g.sgmlDecl="",g.cdata=""):g.sgmlDecl+E==="--"?(g.state=_.COMMENT,g.comment="",g.sgmlDecl=""):(g.sgmlDecl+E).toUpperCase()===d?(g.state=_.DOCTYPE,(g.doctype||g.sawRoot)&&z(g,"Inappropriately located doctype declaration"),g.doctype="",g.sgmlDecl=""):E===">"?(Z(g,"onsgmldeclaration",g.sgmlDecl),g.sgmlDecl="",g.state=_.TEXT):(k(E)&&(g.state=_.SGML_DECL_QUOTED),g.sgmlDecl+=E);continue;case _.SGML_DECL_QUOTED:E===g.q&&(g.state=_.SGML_DECL,g.q=""),g.sgmlDecl+=E;continue;case _.DOCTYPE:E===">"?(g.state=_.TEXT,Z(g,"ondoctype",g.doctype),g.doctype=!0):(g.doctype+=E,E==="["?g.state=_.DOCTYPE_DTD:k(E)&&(g.state=_.DOCTYPE_QUOTED,g.q=E));continue;case _.DOCTYPE_QUOTED:g.doctype+=E,E===g.q&&(g.q="",g.state=_.DOCTYPE);continue;case _.DOCTYPE_DTD:g.doctype+=E,E==="]"?g.state=_.DOCTYPE:k(E)&&(g.state=_.DOCTYPE_DTD_QUOTED,g.q=E);continue;case _.DOCTYPE_DTD_QUOTED:g.doctype+=E,E===g.q&&(g.state=_.DOCTYPE_DTD,g.q="");continue;case _.COMMENT:E==="-"?g.state=_.COMMENT_ENDING:g.comment+=E;continue;case _.COMMENT_ENDING:E==="-"?(g.state=_.COMMENT_ENDED,g.comment=et(g.opt,g.comment),g.comment&&Z(g,"oncomment",g.comment),g.comment=""):(g.comment+="-"+E,g.state=_.COMMENT);continue;case _.COMMENT_ENDED:E!==">"?(z(g,"Malformed comment"),g.comment+="--"+E,g.state=_.COMMENT):g.state=_.TEXT;continue;case _.CDATA:E==="]"?g.state=_.CDATA_ENDING:g.cdata+=E;continue;case _.CDATA_ENDING:E==="]"?g.state=_.CDATA_ENDING_2:(g.cdata+="]"+E,g.state=_.CDATA);continue;case _.CDATA_ENDING_2:E===">"?(g.cdata&&Z(g,"oncdata",g.cdata),Z(g,"onclosecdata"),g.cdata="",g.state=_.TEXT):E==="]"?g.cdata+="]":(g.cdata+="]]"+E,g.state=_.CDATA);continue;case _.PROC_INST:E==="?"?g.state=_.PROC_INST_ENDING:x(E)?g.state=_.PROC_INST_BODY:g.procInstName+=E;continue;case _.PROC_INST_BODY:if(!g.procInstBody&&x(E))continue;E==="?"?g.state=_.PROC_INST_ENDING:g.procInstBody+=E;continue;case _.PROC_INST_ENDING:E===">"?(Z(g,"onprocessinginstruction",{name:g.procInstName,body:g.procInstBody}),g.procInstName=g.procInstBody="",g.state=_.TEXT):(g.procInstBody+="?"+E,g.state=_.PROC_INST_BODY);continue;case _.OPEN_TAG:$(v,E)?g.tagName+=E:(ee(g),E===">"?le(g):E==="/"?g.state=_.OPEN_TAG_SLASH:(x(E)||z(g,"Invalid character in tag name"),g.state=_.ATTRIB));continue;case _.OPEN_TAG_SLASH:E===">"?(le(g,!0),ke(g)):(z(g,"Forward-slash in opening tag not followed by >"),g.state=_.ATTRIB);continue;case _.ATTRIB:if(x(E))continue;E===">"?le(g):E==="/"?g.state=_.OPEN_TAG_SLASH:$(m,E)?(g.attribName=E,g.attribValue="",g.state=_.ATTRIB_NAME):z(g,"Invalid attribute name");continue;case _.ATTRIB_NAME:E==="="?g.state=_.ATTRIB_VALUE:E===">"?(z(g,"Attribute without value"),g.attribValue=g.attribName,ne(g),le(g)):x(E)?g.state=_.ATTRIB_NAME_SAW_WHITE:$(v,E)?g.attribName+=E:z(g,"Invalid attribute name");continue;case _.ATTRIB_NAME_SAW_WHITE:if(E==="=")g.state=_.ATTRIB_VALUE;else{if(x(E))continue;z(g,"Attribute without value"),g.tag.attributes[g.attribName]="",g.attribValue="",Z(g,"onattribute",{name:g.attribName,value:""}),g.attribName="",E===">"?le(g):$(m,E)?(g.attribName=E,g.state=_.ATTRIB_NAME):(z(g,"Invalid attribute name"),g.state=_.ATTRIB)}continue;case _.ATTRIB_VALUE:if(x(E))continue;k(E)?(g.q=E,g.state=_.ATTRIB_VALUE_QUOTED):(z(g,"Unquoted attribute value"),g.state=_.ATTRIB_VALUE_UNQUOTED,g.attribValue=E);continue;case _.ATTRIB_VALUE_QUOTED:if(E!==g.q){E==="&"?g.state=_.ATTRIB_VALUE_ENTITY_Q:g.attribValue+=E;continue}ne(g),g.q="",g.state=_.ATTRIB_VALUE_CLOSED;continue;case _.ATTRIB_VALUE_CLOSED:x(E)?g.state=_.ATTRIB:E===">"?le(g):E==="/"?g.state=_.OPEN_TAG_SLASH:$(m,E)?(z(g,"No whitespace between attributes"),g.attribName=E,g.attribValue="",g.state=_.ATTRIB_NAME):z(g,"Invalid attribute name");continue;case _.ATTRIB_VALUE_UNQUOTED:if(!O(E)){E==="&"?g.state=_.ATTRIB_VALUE_ENTITY_U:g.attribValue+=E;continue}ne(g),E===">"?le(g):g.state=_.ATTRIB;continue;case _.CLOSE_TAG:if(g.tagName)E===">"?ke(g):$(v,E)?g.tagName+=E:g.script?(g.script+="</"+g.tagName,g.tagName="",g.state=_.SCRIPT):(x(E)||z(g,"Invalid tagname in closing tag"),g.state=_.CLOSE_TAG_SAW_WHITE);else{if(x(E))continue;I(m,E)?g.script?(g.script+="</"+E,g.state=_.SCRIPT):z(g,"Invalid tagname in closing tag."):g.tagName=E}continue;case _.CLOSE_TAG_SAW_WHITE:if(x(E))continue;E===">"?ke(g):z(g,"Invalid characters in closing tag");continue;case _.TEXT_ENTITY:case _.ATTRIB_VALUE_ENTITY_Q:case _.ATTRIB_VALUE_ENTITY_U:var _t,dt;switch(g.state){case _.TEXT_ENTITY:_t=_.TEXT,dt="textNode";break;case _.ATTRIB_VALUE_ENTITY_Q:_t=_.ATTRIB_VALUE_QUOTED,dt="attribValue";break;case _.ATTRIB_VALUE_ENTITY_U:_t=_.ATTRIB_VALUE_UNQUOTED,dt="attribValue";break}if(E===";")if(g.opt.unparsedEntities){var Rt=Se(g);g.entity="",g.state=_t,g.write(Rt)}else g[dt]+=Se(g),g.entity="",g.state=_t;else $(g.entity.length?y:w,E)?g.entity+=E:(z(g,"Invalid character in entity name"),g[dt]+="&"+g.entity+E,g.entity="",g.state=_t);continue;default:throw new Error(g,"Unknown state: "+g.state)}return g.position>=g.bufferCheckPosition&&r(g),g}return String.fromCodePoint||(function(){var b=String.fromCharCode,g=Math.floor,C=function(){var E=16384,Ce=[],We,_t,dt=-1,Rt=arguments.length;if(!Rt)return"";for(var Cn="";++dt<Rt;){var ht=Number(arguments[dt]);if(!isFinite(ht)||ht<0||ht>1114111||g(ht)!==ht)throw RangeError("Invalid code point: "+ht);ht<=65535?Ce.push(ht):(ht-=65536,We=(ht>>10)+55296,_t=ht%1024+56320,Ce.push(We,_t)),(dt+1===Rt||Ce.length>E)&&(Cn+=b.apply(null,Ce),Ce.length=0)}return Cn};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:C,configurable:!0,writable:!0}):String.fromCodePoint=C})(),e},OL=SL(),Om=`The output should be formatted as a XML file.
138
+ 1. Output should conform to the tags below.
139
+ 2. If tags are not given, make them on your own.
140
+ 3. Remember to always open and close all the tags.
141
+
142
+ As an example, for the tags ["foo", "bar", "baz"]:
143
+ 1. String "<foo>
144
+ <bar>
145
+ <baz></baz>
146
+ </bar>
147
+ </foo>" is a well-formatted instance of the schema.
148
+ 2. String "<foo>
149
+ <bar>
150
+ </foo>" is a badly-formatted instance.
151
+ 3. String "<foo>
152
+ <tag>
153
+ </tag>
154
+ </foo>" is a badly-formatted instance.
155
+
156
+ Here are the output tags:
157
+ \`\`\`
158
+ {tags}
159
+ \`\`\``,IL=class extends Lc{tags;constructor(e){super(e),this.tags=e?.tags}static lc_name(){return"XMLOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_diff(e,t){if(t)return e?th(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return Im(e[0].text)}async parse(e){return Im(e)}getFormatInstructions(){return this.tags&&this.tags.length>0?Om.replace("{tags}",this.tags?.join(", ")??""):Om}},TL=e=>e.split(`
160
+ `).map(t=>t.replace(/^\s+/,"")).join(`
161
+ `).trim(),Rk=e=>{if(Object.keys(e).length===0)return{};let t={};return e.children.length>0?(t[e.name]=e.children.map(Rk),t):(t[e.name]=e.text??void 0,t)};function Im(e){let t=TL(e),n=OL.parser(!0),r={},s=[];n.onopentag=o=>{let c={name:o.name,attributes:o.attributes,children:[],text:"",isSelfClosing:o.isSelfClosing};s.length>0?s[s.length-1].children.push(c):r=c,o.isSelfClosing||s.push(c)},n.onclosetag=()=>{if(s.length>0){let o=s.pop();s.length===0&&o&&(r=o)}},n.ontext=o=>{if(s.length>0){let c=s[s.length-1];c.text+=o}},n.onattribute=o=>{if(s.length>0){let c=s[s.length-1];c.attributes[o.name]=o.value}};let a=/```(xml)?(.*)```/s.exec(t),i=a?a[2]:t;return n.write(i).close(),r&&r.name==="?xml"&&(r=r.children[0]),Rk(r)}var AL=Q({AsymmetricStructuredOutputParser:()=>EL,BaseCumulativeTransformOutputParser:()=>Lc,BaseLLMOutputParser:()=>dh,BaseOutputParser:()=>Wi,BaseTransformOutputParser:()=>Rc,BytesOutputParser:()=>_L,CommaSeparatedListOutputParser:()=>vL,CustomListOutputParser:()=>bL,JsonMarkdownStructuredOutputParser:()=>jk,JsonOutputParser:()=>Nk,ListOutputParser:()=>Mc,MarkdownListOutputParser:()=>xL,NumberedListOutputParser:()=>wL,OutputParserException:()=>sr,StandardSchemaOutputParser:()=>Pk,StringOutputParser:()=>kL,StructuredOutputParser:()=>by,XMLOutputParser:()=>IL,XML_FORMAT_INSTRUCTIONS:()=>Om,parseJsonMarkdown:()=>lu,parsePartialJson:()=>ui,parseXMLMarkdown:()=>Im}),$L=Q({extendInteropZodObject:()=>Dx,getInteropZodDefaultGetter:()=>Fx,getInteropZodObjectShape:()=>Wo,getSchemaDescription:()=>Ho,interopParse:()=>Dl,interopParseAsync:()=>ah,interopSafeParse:()=>uj,interopSafeParseAsync:()=>Lx,interopZodObjectMakeFieldsOptional:()=>fj,interopZodObjectPartial:()=>iy,interopZodObjectPassthrough:()=>om,interopZodObjectStrict:()=>_u,interopZodTransformInputSchema:()=>Ux,isInteropZodError:()=>Bx,isInteropZodLiteral:()=>lj,isInteropZodObject:()=>Pn,isInteropZodSchema:()=>qr,isShapelessZodSchema:()=>dj,isSimpleStringZodSchema:()=>sy,isZodArrayV4:()=>ih,isZodLiteralV3:()=>jx,isZodLiteralV4:()=>Rx,isZodNullableV4:()=>zx,isZodObjectV3:()=>ay,isZodObjectV4:()=>xr,isZodOptionalV4:()=>Mx,isZodSchema:()=>cj,isZodSchemaV3:()=>yt,isZodSchemaV4:()=>nt});function Lk(e,t){if(e.function===void 0)return;let n;if(t?.partial)try{n=ui(e.function.arguments??"{}")}catch{return}else try{n=JSON.parse(e.function.arguments)}catch(s){throw new sr([`Function "${e.function.name}" arguments:`,"",e.function.arguments,"","are not valid JSON.",`Error: ${s.message}`].join(`
162
+ `))}let r={name:e.function.name,args:n,type:"tool_call"};return t?.returnId&&(r.id=e.id),r}function CL(e){if(e.id===void 0)throw new Error('All OpenAI tool calls must have an "id" field.');return{id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.args)}}}function NL(e,t){return{name:e.function?.name,args:e.function?.arguments,id:e.id,error:t,type:"invalid_tool_call"}}var Mk=class extends Lc{static lc_name(){return"JsonOutputToolsParser"}returnId=!1;lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;constructor(e){super(e),this.returnId=e?.returnId??this.returnId}_diff(){throw new Error("Not supported.")}async parse(){throw new Error("Not implemented.")}async parseResult(e){return await this.parsePartialResult(e,!1)}async parsePartialResult(e,t=!0){let n=e[0].message,r;if(Dg(n)&&n.tool_calls?.length?r=n.tool_calls.map(a=>{let{id:i,...o}=a;return this.returnId?{id:i,...o}:o}):n.additional_kwargs.tool_calls!==void 0&&(r=JSON.parse(JSON.stringify(n.additional_kwargs.tool_calls)).map(a=>Lk(a,{returnId:this.returnId,partial:t}))),!r)return[];let s=[];for(let a of r)if(a!==void 0){let i={type:a.name,args:a.args,id:a.id};s.push(i)}return s}},zk=class extends Mk{static lc_name(){return"JsonOutputKeyToolsParser"}lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;returnId=!1;keyName;returnSingle=!1;zodSchema;serializableSchema;constructor(e){super(e),this.keyName=e.keyName,this.returnSingle=e.returnSingle??this.returnSingle,"zodSchema"in e&&(this.zodSchema=e.zodSchema),"serializableSchema"in e&&(this.serializableSchema=e.serializableSchema)}async _validateResult(e){if(this.serializableSchema!==void 0){let n=await this.serializableSchema["~standard"].validate(e);if(n.issues)throw new sr(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(n.issues)}`,JSON.stringify(e,null,2));return n.value}if(this.zodSchema===void 0)return e;let t=await Lx(this.zodSchema,e);if(t.success)return t.data;throw new sr(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(t.error?.issues)}`,JSON.stringify(e,null,2))}async parsePartialResult(e){let t=(await super.parsePartialResult(e)).filter(r=>r.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(r=>r.args)),this.returnSingle?n[0]:n}async parseResult(e){let t=(await super.parsePartialResult(e,!1)).filter(r=>r.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(r=>r.args)),this.returnSingle?this._validateResult(n[0]):await Promise.all(n.map(r=>this._validateResult(r)))}},PL=Q({assembleStructuredOutputPipeline:()=>Dk,createContentParser:()=>jL,createFunctionCallingParser:()=>RL});function jL(e){return qr(e)?by.fromZodSchema(e):qo(e)?Pk.fromSerializableSchema(e):new Nk}function RL(e,t,n){let r=n??zk;return qr(e)?new r({returnSingle:!0,keyName:t,zodSchema:e}):qo(e)?new r({returnSingle:!0,keyName:t,serializableSchema:e}):new r({returnSingle:!0,keyName:t})}function Dk(e,t,n,r){if(!n){let c=e.pipe(t);return r?c.withConfig({runName:r}):c}let s=Ko.assign({parsed:(c,l)=>t.invoke(c.raw,l)}),a=Ko.assign({parsed:()=>null}),i=s.withFallbacks({fallbacks:[a]}),o=xs.from([{raw:e},i]);return r?o.withConfig({runName:r}):o}var LL=e=>e();function Hp(e){let t=e.constructor;return new t({...e,content:e.contentBlocks,response_metadata:{...e.response_metadata,output_version:"v1"}})}var ML=Q({BaseChatModel:()=>Ji,SimpleChatModel:()=>zL});function Wp(e){let t=[];for(let n of e){let r=n;if(Array.isArray(n.content))for(let s=0;s<n.content.length;s++){let a=n.content[s];($g(a)||Cg(a))&&r===n&&(r=new n.constructor({...r,content:[...n.content.slice(0,s),_1(a),...n.content.slice(s+1)]}))}t.push(r)}return t}var Ji=class Fs extends vy{lc_namespace=["langchain","chat_models",this._llmType()];disableStreaming=!1;outputVersion;get callKeys(){return[...super.callKeys,"outputVersion"]}constructor(t){super(t),this.outputVersion=LL(()=>{let n=t.outputVersion??Ur("LC_OUTPUT_VERSION");return n&&["v0","v1"].includes(n)?n:"v0"})}_separateRunnableConfigFromCallOptionsCompat(t){let[n,r]=super._separateRunnableConfigFromCallOptions(t);return r.signal=n.signal,[n,r]}async invoke(t,n){let r=Fs._convertInputToPromptValue(t);return(await this.generatePrompt([r],n,n?.callbacks)).generations[0][0].message}async*_streamResponseChunks(t,n,r){throw new Error("Not implemented.")}async*_streamIterator(t,n){if(this._streamResponseChunks===Fs.prototype._streamResponseChunks||this.disableStreaming)yield this.invoke(t,n);else{let r=Fs._convertInputToPromptValue(t).toChatMessages(),[s,a]=this._separateRunnableConfigFromCallOptionsCompat(n),i={...s.metadata,...this.getLsParams(a)},o=await Kt.configure(s.callbacks,this.callbacks,s.tags,this.tags,i,this.metadata,{verbose:this.verbose}),c={options:a,invocation_params:this?.invocationParams(a),batch_size:1},l=a.outputVersion??this.outputVersion,u=await o?.handleChatModelStart(this.toJSON(),[Wp(r)],s.runId,void 0,c,void 0,void 0,s.runName),d,h;try{for await(let p of this._streamResponseChunks(r,a,u?.[0])){if(a.signal?.throwIfAborted(),p.message.id==null){let f=u?.at(0)?.runId;f!=null&&p.message._updateId(`run-${f}`)}p.message.response_metadata={...p.generationInfo,...p.message.response_metadata},l==="v1"?yield Hp(p.message):yield p.message,d?d=d.concat(p):d=p,Af(p.message)&&p.message.usage_metadata!==void 0&&(h={tokenUsage:{promptTokens:p.message.usage_metadata.input_tokens,completionTokens:p.message.usage_metadata.output_tokens,totalTokens:p.message.usage_metadata.total_tokens}})}a.signal?.throwIfAborted()}catch(p){throw await Promise.all((u??[]).map(f=>f?.handleLLMError(p))),p}await Promise.all((u??[]).map(p=>p?.handleLLMEnd({generations:[[d]],llmOutput:h})))}}getLsParams(t){let n=this.getName().startsWith("Chat")?this.getName().replace("Chat",""):this.getName();return{ls_model_type:"chat",ls_stop:t.stop,ls_provider:n}}async _generateUncached(t,n,r,s){let a=t.map(d=>d.map(wr)),i;if(s!==void 0&&s.length===a.length)i=s;else{let d={...r.metadata,...this.getLsParams(n)},h=await Kt.configure(r.callbacks,this.callbacks,r.tags,this.tags,d,this.metadata,{verbose:this.verbose}),p={options:n,invocation_params:this?.invocationParams(n),batch_size:1};i=await h?.handleChatModelStart(this.toJSON(),a.map(Wp),r.runId,void 0,p,void 0,void 0,r.runName)}let o=n.outputVersion??this.outputVersion,c=[],l=[];if(i?.[0].handlers.find(Zg)&&!this.disableStreaming&&a.length===1&&this._streamResponseChunks!==Fs.prototype._streamResponseChunks)try{let d=await this._streamResponseChunks(a[0],n,i?.[0]),h,p;for await(let f of d){if(n.signal?.aborted){let m=h?.message;throw new If("Model invocation was aborted.",m)}if(f.message.id==null){let m=i?.at(0)?.runId;m!=null&&f.message._updateId(`run-${m}`)}h===void 0?h=f:h=_s(h,f),Af(f.message)&&f.message.usage_metadata!==void 0&&(p={tokenUsage:{promptTokens:f.message.usage_metadata.input_tokens,completionTokens:f.message.usage_metadata.output_tokens,totalTokens:f.message.usage_metadata.total_tokens}})}if(n.signal?.aborted){let f=h?.message;throw new If("Model invocation was aborted.",f)}if(h===void 0)throw new Error("Received empty response from chat model call.");c.push([h]),await i?.[0].handleLLMEnd({generations:c,llmOutput:p})}catch(d){throw await i?.[0].handleLLMError(d),d}else{let d=await Promise.allSettled(a.map(async(h,p)=>{let f=await this._generate(h,{...n,promptIndex:p},i?.[p]);if(o==="v1")for(let m of f.generations)m.message=Hp(m.message);return f}));await Promise.all(d.map(async(h,p)=>{if(h.status==="fulfilled"){let f=h.value;for(let m of f.generations){if(m.message.id==null){let v=i?.at(0)?.runId;v!=null&&m.message._updateId(`run-${v}`)}m.message.response_metadata={...m.generationInfo,...m.message.response_metadata}}return f.generations.length===1&&(f.generations[0].message.response_metadata={...f.llmOutput,...f.generations[0].message.response_metadata}),c[p]=f.generations,l[p]=f.llmOutput,i?.[p]?.handleLLMEnd({generations:[f.generations],llmOutput:f.llmOutput})}else return await i?.[p]?.handleLLMError(h.reason),Promise.reject(h.reason)}))}let u={generations:c,llmOutput:l.length?this._combineLLMOutput?.(...l):void 0};return Object.defineProperty(u,Vo,{value:i?{runIds:i?.map(d=>d.runId)}:void 0,configurable:!0}),u}async _generateCached({messages:t,cache:n,llmStringKey:r,parsedOptions:s,handledOptions:a}){let i=t.map(v=>v.map(wr)),o={...a.metadata,...this.getLsParams(s)},c=await Kt.configure(a.callbacks,this.callbacks,a.tags,this.tags,o,this.metadata,{verbose:this.verbose}),l={options:s,invocation_params:this?.invocationParams(s),batch_size:1},u=await c?.handleChatModelStart(this.toJSON(),i.map(Wp),a.runId,void 0,l,void 0,void 0,a.runName),d=[],h=(await Promise.allSettled(i.map(async(v,w)=>{let y=Fs._convertInputToPromptValue(v).toString(),x=await n.lookup(y,r);return x==null&&d.push(w),x}))).map((v,w)=>({result:v,runManager:u?.[w]})).filter(({result:v})=>v.status==="fulfilled"&&v.value!=null||v.status==="rejected"),p=s.outputVersion??this.outputVersion,f=[];await Promise.all(h.map(async({result:v,runManager:w},y)=>{if(v.status==="fulfilled"){let x=v.value;return f[y]=x.map(k=>("message"in k&&Nt(k.message)&&Dg(k.message)&&(k.message.usage_metadata={input_tokens:0,output_tokens:0,total_tokens:0},p==="v1"&&(k.message=Hp(k.message))),k.generationInfo={...k.generationInfo,tokenUsage:{}},k)),x.length&&await w?.handleLLMNewToken(x[0].text),w?.handleLLMEnd({generations:[x]},void 0,void 0,void 0,{cached:!0})}else return await w?.handleLLMError(v.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(v.reason)}));let m={generations:f,missingPromptIndices:d,startedRunManagers:u};return Object.defineProperty(m,Vo,{value:u?{runIds:u?.map(v=>v.runId)}:void 0,configurable:!0}),m}async generate(t,n,r){let s;Array.isArray(n)?s={stop:n}:s=n;let a=t.map(f=>f.map(wr)),[i,o]=this._separateRunnableConfigFromCallOptionsCompat(s);if(i.callbacks=i.callbacks??r,!this.cache)return this._generateUncached(a,o,i);let{cache:c}=this,l=this._getSerializedCacheKeyParametersForCall(o),{generations:u,missingPromptIndices:d,startedRunManagers:h}=await this._generateCached({messages:a,cache:c,llmStringKey:l,parsedOptions:o,handledOptions:i}),p={};if(d.length>0){let f=await this._generateUncached(d.map(m=>a[m]),o,i,h!==void 0?d.map(m=>h?.[m]):void 0);await Promise.all(f.generations.map(async(m,v)=>{let w=d[v];u[w]=m;let y=Fs._convertInputToPromptValue(a[w]).toString();return c.update(y,l,m)})),p=f.llmOutput??{}}return{generations:u,llmOutput:p}}invocationParams(t){return{}}_modelType(){return"base_chat_model"}async generatePrompt(t,n,r){let s=t.map(a=>a.toChatMessages());return this.generate(s,n,r)}withStructuredOutput(t,n){if(typeof this.bindTools!="function")throw new Error('Chat model must implement ".bindTools()" to use withStructuredOutput.');if(n?.strict)throw new Error('"strict" mode is not supported for this model by default.');let r=t,s=n?.name,a=Ho(r)??"A function available to call.",i=n?.method,o=n?.includeRaw;if(i==="jsonMode")throw new Error('Base withStructuredOutput implementation only supports "functionCalling" as a method.');let c=s??"extract";!qr(r)&&!qo(r)&&"name"in r&&(c=r.name);let l=qr(r)||qo(r)?un(r):r,u=[{type:"function",function:{name:c,description:a,parameters:l}}];return Dk(this.bindTools(u),Ar.from(d=>{if(!ir.isInstance(d))throw new Error("Input is not an AIMessageChunk.");if(!d.tool_calls||d.tool_calls.length===0)throw new Error("No tool calls found in the response.");let h=d.tool_calls.find(p=>p.name===c);if(!h)throw new Error(`No tool call found with name ${c}.`);return h.args}),o,o?"StructuredOutputRunnable":"StructuredOutput")}},zL=class extends Ji{async _generate(e,t,n){let r=new ct(await this._call(e,t,n));if(typeof r.content!="string")throw new Error("Cannot generate with a simple chat model when output is not a string.");return{generations:[{text:r.content,message:r}]}}},DL=Q({BaseLLM:()=>Fk,LLM:()=>wy}),Fk=class uo extends vy{lc_namespace=["langchain","llms",this._llmType()];async invoke(t,n){let r=uo._convertInputToPromptValue(t);return(await this.generatePrompt([r],n,n?.callbacks)).generations[0][0].text}async*_streamResponseChunks(t,n,r){throw new Error("Not implemented.")}_separateRunnableConfigFromCallOptionsCompat(t){let[n,r]=super._separateRunnableConfigFromCallOptions(t);return r.signal=n.signal,[n,r]}async*_streamIterator(t,n){if(this._streamResponseChunks===uo.prototype._streamResponseChunks)yield this.invoke(t,n);else{let r=uo._convertInputToPromptValue(t),[s,a]=this._separateRunnableConfigFromCallOptionsCompat(n),i=await Kt.configure(s.callbacks,this.callbacks,s.tags,this.tags,s.metadata,this.metadata,{verbose:this.verbose}),o={options:a,invocation_params:this?.invocationParams(a),batch_size:1},c=await i?.handleLLMStart(this.toJSON(),[r.toString()],s.runId,void 0,o,void 0,void 0,s.runName),l=new gi({text:""});try{for await(let u of this._streamResponseChunks(r.toString(),a,c?.[0]))l?l=l.concat(u):l=u,typeof u.text=="string"&&(yield u.text)}catch(u){throw await Promise.all((c??[]).map(d=>d?.handleLLMError(u))),u}await Promise.all((c??[]).map(u=>u?.handleLLMEnd({generations:[[l]]})))}}async generatePrompt(t,n,r){let s=t.map(a=>a.toString());return this.generate(s,n,r)}invocationParams(t){return{}}_flattenLLMResult(t){let n=[];for(let r=0;r<t.generations.length;r+=1){let s=t.generations[r];if(r===0)n.push({generations:[s],llmOutput:t.llmOutput});else{let a=t.llmOutput?{...t.llmOutput,tokenUsage:{}}:void 0;n.push({generations:[s],llmOutput:a})}}return n}async _generateUncached(t,n,r,s){let a;if(s!==void 0&&s.length===t.length)a=s;else{let l=await Kt.configure(r.callbacks,this.callbacks,r.tags,this.tags,r.metadata,this.metadata,{verbose:this.verbose}),u={options:n,invocation_params:this?.invocationParams(n),batch_size:t.length};a=await l?.handleLLMStart(this.toJSON(),t,r.runId,void 0,u,void 0,void 0,r?.runName)}let i=!!a?.[0].handlers.find(Zg),o;if(i&&t.length===1&&this._streamResponseChunks!==uo.prototype._streamResponseChunks)try{let l=await this._streamResponseChunks(t[0],n,a?.[0]),u;for await(let d of l)u===void 0?u=d:u=_s(u,d);if(u===void 0)throw new Error("Received empty response from chat model call.");o={generations:[[u]],llmOutput:{}},await a?.[0].handleLLMEnd(o)}catch(l){throw await a?.[0].handleLLMError(l),l}else{try{o=await this._generate(t,n,a?.[0])}catch(u){throw await Promise.all((a??[]).map(d=>d?.handleLLMError(u))),u}let l=this._flattenLLMResult(o);await Promise.all((a??[]).map((u,d)=>u?.handleLLMEnd(l[d])))}let c=a?.map(l=>l.runId)||void 0;return Object.defineProperty(o,Vo,{value:c?{runIds:c}:void 0,configurable:!0}),o}async _generateCached({prompts:t,cache:n,llmStringKey:r,parsedOptions:s,handledOptions:a,runId:i}){let o=await Kt.configure(a.callbacks,this.callbacks,a.tags,this.tags,a.metadata,this.metadata,{verbose:this.verbose}),c={options:s,invocation_params:this?.invocationParams(s),batch_size:t.length},l=await o?.handleLLMStart(this.toJSON(),t,i,void 0,c,void 0,void 0,a?.runName),u=[],d=(await Promise.allSettled(t.map(async(f,m)=>{let v=await n.lookup(f,r);return v==null&&u.push(m),v}))).map((f,m)=>({result:f,runManager:l?.[m]})).filter(({result:f})=>f.status==="fulfilled"&&f.value!=null||f.status==="rejected"),h=[];await Promise.all(d.map(async({result:f,runManager:m},v)=>{if(f.status==="fulfilled"){let w=f.value;return h[v]=w.map(y=>(y.generationInfo={...y.generationInfo,tokenUsage:{}},y)),w.length&&await m?.handleLLMNewToken(w[0].text),m?.handleLLMEnd({generations:[w]},void 0,void 0,void 0,{cached:!0})}else return await m?.handleLLMError(f.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(f.reason)}));let p={generations:h,missingPromptIndices:u,startedRunManagers:l};return Object.defineProperty(p,Vo,{value:l?{runIds:l?.map(f=>f.runId)}:void 0,configurable:!0}),p}async generate(t,n,r){if(!Array.isArray(t))throw new Error("Argument 'prompts' is expected to be a string[]");let s;Array.isArray(n)?s={stop:n}:s=n;let[a,i]=this._separateRunnableConfigFromCallOptionsCompat(s);if(a.callbacks=a.callbacks??r,!this.cache)return this._generateUncached(t,i,a);let{cache:o}=this,c=this._getSerializedCacheKeyParametersForCall(i),{generations:l,missingPromptIndices:u,startedRunManagers:d}=await this._generateCached({prompts:t,cache:o,llmStringKey:c,parsedOptions:i,handledOptions:a,runId:a.runId}),h={};if(u.length>0){let p=await this._generateUncached(u.map(f=>t[f]),i,a,d!==void 0?u.map(f=>d?.[f]):void 0);await Promise.all(p.generations.map(async(f,m)=>{let v=u[m];return l[v]=f,o.update(t[v],c,f)})),h=p.llmOutput??{}}return{generations:l,llmOutput:h}}_identifyingParams(){return{}}_modelType(){return"base_llm"}},wy=class extends Fk{async _generate(e,t,n){return{generations:await Promise.all(e.map((r,s)=>this._call(r,{...t,promptIndex:s},n).then(a=>[{text:a}])))}}},FL=Q({}),UL=Q({BaseMemory:()=>BL,getInputValue:()=>ZL,getOutputValue:()=>VL,getPromptInputKey:()=>qL}),BL=class{},Uk=(e,t)=>{if(t!==void 0)return e[t];let n=Object.keys(e);if(n.length===1)return e[n[0]]},ZL=(e,t)=>{let n=Uk(e,t);if(!n){let r=Object.keys(e);throw new Error(`input values have ${r.length} keys, you must specify an input key or pass only 1 key as input`)}return n},VL=(e,t)=>{let n=Uk(e,t);if(!n&&n!==""){let r=Object.keys(e);throw new Error(`output values have ${r.length} keys, you must specify an output key or pass only 1 key as output`)}return n};function qL(e,t){let n=Object.keys(e).filter(r=>!t.includes(r)&&r!=="stop");if(n.length!==1)throw new Error(`One input key expected, but got ${n.length}`);return n[0]}var Bk=class extends dh{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw new Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw new Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}else throw new Error(`No message in generations ${JSON.stringify(e)}`)}},Zk=class extends Lc{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new Bk(e)}_diff(e,t){if(t)return th(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:n}=t,r=n.additional_kwargs.function_call;if(r)return this.argsOnly?ui(r.arguments):{...r,arguments:ui(r.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw new Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},HL=class extends dh{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new Zk;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}},WL=Q({JsonKeyOutputFunctionsParser:()=>HL,JsonOutputFunctionsParser:()=>Zk,OutputFunctionsParser:()=>Bk}),JL=Q({JsonOutputKeyToolsParser:()=>zk,JsonOutputToolsParser:()=>Mk,convertLangChainToolCallToOpenAI:()=>CL,makeInvalidToolCall:()=>NL,parseToolCall:()=>Lk}),zc=class extends Pe{lc_serializable=!0;lc_namespace=["langchain_core","prompts",this._getPromptType()];get lc_attributes(){return{partialVariables:void 0}}inputVariables;outputParser;partialVariables;metadata;tags;constructor(e){super(e);let{inputVariables:t}=e;if(t.includes("stop"))throw new Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}async mergePartialAndUserVariables(e){let t=this.partialVariables??{},n={};for(let[r,s]of Object.entries(t))typeof s=="string"?n[r]=s:n[r]=await s();return{...n,...e}}async invoke(e,t){let n={...this.metadata,...t?.metadata},r=[...this.tags??[],...t?.tags??[]];return this._callWithConfig(s=>this.formatPromptValue(s),e,{...t,tags:r,metadata:n,runType:"prompt"})}},Xo=class extends zc{async formatPromptValue(e){return new my(await this.format(e))}},GL=Object.prototype.toString,Gi=Array.isArray||function(e){return GL.call(e)==="[object Array]"};function xy(e){return typeof e=="function"}function KL(e){return Gi(e)?"array":typeof e}function Jp(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function bb(e,t){return e!=null&&typeof e=="object"&&t in e}function XL(e,t){return e!=null&&typeof e!="object"&&e.hasOwnProperty&&e.hasOwnProperty(t)}var YL=RegExp.prototype.test;function QL(e,t){return YL.call(e,t)}var e4=/\S/;function t4(e){return!QL(e4,e)}var n4={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function r4(e){return String(e).replace(/[&<>"'`=\/]/g,function(t){return n4[t]})}var s4=/\s*/,a4=/\s+/,wb=/\s*=/,i4=/\s*\}/,o4=/#|\^|\/|>|\{|&|=|!/;function c4(e,t){if(!e)return[];var n=!1,r=[],s=[],a=[],i=!1,o=!1,c="",l=0;function u(){if(i&&!o)for(;a.length;)delete s[a.pop()];else a=[];i=!1,o=!1}var d,h,p;function f(_){if(typeof _=="string"&&(_=_.split(a4,2)),!Gi(_)||_.length!==2)throw new Error("Invalid tags: "+_);d=new RegExp(Jp(_[0])+"\\s*"),h=new RegExp("\\s*"+Jp(_[1])),p=new RegExp("\\s*"+Jp("}"+_[1]))}f(t||gn.tags);for(var m=new Dc(e),v,w,y,x,k,O;!m.eos();){if(v=m.pos,y=m.scanUntil(d),y)for(var $=0,I=y.length;$<I;++$)x=y.charAt($),t4(x)?(a.push(s.length),c+=x):(o=!0,n=!0,c+=" "),s.push(["text",x,v,v+1]),v+=1,x===`
163
+ `&&(u(),c="",l=0,n=!1);if(!m.scan(d))break;if(i=!0,w=m.scan(o4)||"name",m.scan(s4),w==="="?(y=m.scanUntil(wb),m.scan(wb),m.scanUntil(h)):w==="{"?(y=m.scanUntil(p),m.scan(i4),m.scanUntil(h),w="&"):y=m.scanUntil(h),!m.scan(h))throw new Error("Unclosed tag at "+m.pos);if(w==">"?k=[w,y,v,m.pos,c,l,n]:k=[w,y,v,m.pos],l++,s.push(k),w==="#"||w==="^")r.push(k);else if(w==="/"){if(O=r.pop(),!O)throw new Error('Unopened section "'+y+'" at '+v);if(O[1]!==y)throw new Error('Unclosed section "'+O[1]+'" at '+v)}else w==="name"||w==="{"||w==="&"?o=!0:w==="="&&f(y)}if(u(),O=r.pop(),O)throw new Error('Unclosed section "'+O[1]+'" at '+m.pos);return u4(l4(s))}function l4(e){for(var t=[],n,r,s=0,a=e.length;s<a;++s)n=e[s],n&&(n[0]==="text"&&r&&r[0]==="text"?(r[1]+=n[1],r[3]=n[3]):(t.push(n),r=n));return t}function u4(e){for(var t=[],n=t,r=[],s,a,i=0,o=e.length;i<o;++i)switch(s=e[i],s[0]){case"#":case"^":n.push(s),r.push(s),n=s[4]=[];break;case"/":a=r.pop(),a[5]=s[2],n=r.length>0?r[r.length-1][4]:t;break;default:n.push(s)}return t}function Dc(e){this.string=e,this.tail=e,this.pos=0}Dc.prototype.eos=function(){return this.tail===""};Dc.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var n=t[0];return this.tail=this.tail.substring(n.length),this.pos+=n.length,n};Dc.prototype.scanUntil=function(e){var t=this.tail.search(e),n;switch(t){case-1:n=this.tail,this.tail="";break;case 0:n="";break;default:n=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=n.length,n};function xi(e,t){this.view=e,this.cache={".":this.view},this.parent=t}xi.prototype.push=function(e){return new xi(e,this)};xi.prototype.lookup=function(e){var t=this.cache,n;if(t.hasOwnProperty(e))n=t[e];else{for(var r=this,s,a,i,o=!1;r;){if(e.indexOf(".")>0)for(s=r.view,a=e.split("."),i=0;s!=null&&i<a.length;)i===a.length-1&&(o=bb(s,a[i])||XL(s,a[i])),s=s[a[i++]];else s=r.view[e],o=bb(r.view,e);if(o){n=s;break}r=r.parent}t[e]=n}return xy(n)&&(n=n.call(this.view)),n};function en(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}en.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};en.prototype.parse=function(e,t){var n=this.templateCache,r=e+":"+(t||gn.tags).join(":"),s=typeof n<"u",a=s?n.get(r):void 0;return a==null&&(a=c4(e,t),s&&n.set(r,a)),a};en.prototype.render=function(e,t,n,r){var s=this.getConfigTags(r),a=this.parse(e,s),i=t instanceof xi?t:new xi(t,void 0);return this.renderTokens(a,i,n,e,r)};en.prototype.renderTokens=function(e,t,n,r,s){for(var a="",i,o,c,l=0,u=e.length;l<u;++l)c=void 0,i=e[l],o=i[0],o==="#"?c=this.renderSection(i,t,n,r,s):o==="^"?c=this.renderInverted(i,t,n,r,s):o===">"?c=this.renderPartial(i,t,n,s):o==="&"?c=this.unescapedValue(i,t):o==="name"?c=this.escapedValue(i,t,s):o==="text"&&(c=this.rawValue(i)),c!==void 0&&(a+=c);return a};en.prototype.renderSection=function(e,t,n,r,s){var a=this,i="",o=t.lookup(e[1]);function c(d){return a.render(d,t,n,s)}if(o){if(Gi(o))for(var l=0,u=o.length;l<u;++l)i+=this.renderTokens(e[4],t.push(o[l]),n,r,s);else if(typeof o=="object"||typeof o=="string"||typeof o=="number")i+=this.renderTokens(e[4],t.push(o),n,r,s);else if(xy(o)){if(typeof r!="string")throw new Error("Cannot use higher-order sections without the original template");o=o.call(t.view,r.slice(e[3],e[5]),c),o!=null&&(i+=o)}else i+=this.renderTokens(e[4],t,n,r,s);return i}};en.prototype.renderInverted=function(e,t,n,r,s){var a=t.lookup(e[1]);if(!a||Gi(a)&&a.length===0)return this.renderTokens(e[4],t,n,r,s)};en.prototype.indentPartial=function(e,t,n){for(var r=t.replace(/[^ \t]/g,""),s=e.split(`
164
+ `),a=0;a<s.length;a++)s[a].length&&(a>0||!n)&&(s[a]=r+s[a]);return s.join(`
165
+ `)};en.prototype.renderPartial=function(e,t,n,r){if(n){var s=this.getConfigTags(r),a=xy(n)?n(e[1]):n[e[1]];if(a!=null){var i=e[6],o=e[5],c=e[4],l=a;o==0&&c&&(l=this.indentPartial(a,c,i));var u=this.parse(l,s);return this.renderTokens(u,t,n,l,r)}}};en.prototype.unescapedValue=function(e,t){var n=t.lookup(e[1]);if(n!=null)return n};en.prototype.escapedValue=function(e,t,n){var r=this.getConfigEscape(n)||gn.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&r===gn.escape?String(s):r(s)};en.prototype.rawValue=function(e){return e[1]};en.prototype.getConfigTags=function(e){return Gi(e)?e:e&&typeof e=="object"?e.tags:void 0};en.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!Gi(e))return e.escape};var gn={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(e){Yo.templateCache=e},get templateCache(){return Yo.templateCache}},Yo=new en;gn.clearCache=function(){return Yo.clearCache()};gn.parse=function(e,t){return Yo.parse(e,t)};gn.render=function(e,t,n,r){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+KL(e)+'" was given as the first argument for mustache#render(template, view, partials)');return Yo.render(e,t,n,r)};gn.escape=r4;gn.Scanner=Dc;gn.Context=xi;gn.Writer=en;function Vk(){gn.escape=e=>e}var Qo=e=>{let t=e.split(""),n=[],r=(a,i)=>{for(let o=i;o<t.length;o+=1)if(a.includes(t[o]))return o;return-1},s=0;for(;s<t.length;)if(t[s]==="{"&&s+1<t.length&&t[s+1]==="{")n.push({type:"literal",text:"{"}),s+=2;else if(t[s]==="}"&&s+1<t.length&&t[s+1]==="}")n.push({type:"literal",text:"}"}),s+=2;else if(t[s]==="{"){let a=r("}",s);if(a<0)throw new Error("Unclosed '{' in template.");n.push({type:"variable",name:t.slice(s+1,a).join("")}),s=a+1}else{if(t[s]==="}")throw new Error("Single '}' in template.");{let a=r("{}",s),i=(a<0?t.slice(s):t.slice(s,a)).join("");n.push({type:"literal",text:i}),s=a<0?t.length:a}}return n},qk=(e,t=[])=>{let n=[];for(let r of e)if(r[0]==="name"){let s=r[1].includes(".")?r[1].split(".")[0]:r[1];n.push({type:"variable",name:s})}else if(["#","&","^",">"].includes(r[0])){if(n.push({type:"variable",name:r[1]}),r[0]==="#"&&r.length>4&&Array.isArray(r[4])){let s=[...t,r[1]],a=qk(r[4],s);n.push(...a)}}else n.push({type:"literal",text:r[1]});return n},Su=e=>(Vk(),qk(gn.parse(e))),Hk=(e,t)=>Qo(e).reduce((n,r)=>{if(r.type==="variable"){if(r.name in t)return n+(typeof t[r.name]=="string"?t[r.name]:JSON.stringify(t[r.name]));throw new Error(`(f-string) Missing value for input ${r.name}`)}return n+r.text},""),Wk=(e,t)=>(Vk(),gn.render(e,t)),Ou={"f-string":Hk,mustache:Wk},Jk={"f-string":Qo,mustache:Su},rr=(e,t,n)=>{try{return Ou[t](e,n)}catch(r){throw $c(r,"INVALID_PROMPT_INPUT")}},Iu=(e,t)=>Jk[t](e),Fc=(e,t,n)=>{if(!(t in Ou)){let r=Object.keys(Ou);throw new Error(`Invalid template format. Got \`${t}\`;
166
+ should be one of ${r}`)}try{let r=Object.fromEntries(n.map(s=>[s,"foo"]));Array.isArray(e)?e.forEach(s=>{if(s.type==="text"&&"text"in s&&typeof s.text=="string")rr(s.text,t,r);else if(s.type==="image_url"){if(typeof s.image_url=="string")rr(s.image_url,t,r);else if(typeof s.image_url=="object"&&s.image_url!==null&&"url"in s.image_url&&typeof s.image_url.url=="string"){let a=s.image_url.url;rr(a,t,r)}}else throw new Error(`Invalid message template received. ${JSON.stringify(s,null,2)}`)}):rr(e,t,r)}catch(r){throw new Error(`Invalid prompt schema: ${r.message}`)}},fs=class ho extends Xo{static lc_name(){return"PromptTemplate"}template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(t){if(super(t),t.templateFormat==="mustache"&&t.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,t),this.validateTemplate){if(this.templateFormat==="mustache")throw new Error("Mustache templates cannot be validated.");let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),Fc(this.template,this.templateFormat,n)}}_getPromptType(){return"prompt"}async format(t){let n=await this.mergePartialAndUserVariables(t);return rr(this.template,this.templateFormat,n)}static fromExamples(t,n,r,s=`
167
+
168
+ `,a=""){return new ho({inputVariables:r,template:[a,...t,n].join(s)})}static fromTemplate(t,n){let{templateFormat:r="f-string",...s}=n??{},a=new Set;return Iu(t,r).forEach(i=>{i.type==="variable"&&a.add(i.name)}),new ho({inputVariables:[...a],templateFormat:r,template:t,...s})}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new ho({...this,inputVariables:n,partialVariables:r})}serialize(){if(this.outputParser!==void 0)throw new Error("Cannot serialize a prompt template with an output parser");return{_type:this._getPromptType(),input_variables:this.inputVariables,template:this.template,template_format:this.templateFormat}}static async deserialize(t){if(!t.template)throw new Error("Prompt template must have a template");return new ho({inputVariables:t.input_variables,template:t.template,templateFormat:t.template_format})}},Ul=class Gk extends zc{static lc_name(){return"ImagePromptTemplate"}lc_namespace=["langchain_core","prompts","image"];template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(t){if(super(t),this.template=t.template,this.templateFormat=t.templateFormat??this.templateFormat,this.validateTemplate=t.validateTemplate??this.validateTemplate,this.additionalContentFields=t.additionalContentFields,this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),Fc([{type:"image_url",image_url:this.template}],this.templateFormat,n)}}_getPromptType(){return"prompt"}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new Gk({...this,inputVariables:n,partialVariables:r})}async format(t){let n={};for(let[i,o]of Object.entries(this.template))typeof o=="string"?n[i]=rr(o,this.templateFormat,t):n[i]=o;let r=t.url||n.url,s=t.detail||n.detail;if(!r)throw new Error("Must provide either an image URL.");if(typeof r!="string")throw new Error("url must be a string.");let a={url:r};return s&&(a.detail=s),a}async formatPromptValue(t){return new Tk(await this.format(t))}},Tm=class extends Pe{lc_namespace=["langchain_core","prompts","dict"];lc_serializable=!0;template;templateFormat;inputVariables;static lc_name(){return"DictPromptTemplate"}constructor(e){let t=e.templateFormat??"f-string",n=Am(e.template,t);super({inputVariables:n,...e}),this.template=e.template,this.templateFormat=t,this.inputVariables=n}async format(e){return $m(this.template,e,this.templateFormat)}async invoke(e){return await this._callWithConfig(this.format.bind(this),e,{runType:"prompt"})}};function Am(e,t){let n=[];for(let r of Object.values(e))if(typeof r=="string")Iu(r,t).forEach(s=>{s.type==="variable"&&n.push(s.name)});else if(Array.isArray(r))for(let s of r)typeof s=="string"?Iu(s,t).forEach(a=>{a.type==="variable"&&n.push(a.name)}):typeof s=="object"&&n.push(...Am(s,t));else typeof r=="object"&&r!==null&&n.push(...Am(r,t));return Array.from(new Set(n))}function $m(e,t,n){let r={};for(let[s,a]of Object.entries(e))if(typeof a=="string")r[s]=rr(a,n,t);else if(Array.isArray(a)){let i=[];for(let o of a)typeof o=="string"?i.push(rr(o,n,t)):typeof o=="object"&&i.push($m(o,t,n));r[s]=i}else typeof a=="object"&&a!==null?r[s]=$m(a,t,n):r[s]=a;return r}var hh=class extends Pe{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;async invoke(e,t){return this._callWithConfig(n=>this.formatMessages(n),e,{...t,runType:"prompt"})}},Cm=class extends hh{static lc_name(){return"MessagesPlaceholder"}variableName;optional;constructor(e){typeof e=="string"&&(e={variableName:e}),super(e),this.variableName=e.variableName,this.optional=e.optional??!1}get inputVariables(){return[this.variableName]}async formatMessages(e){let t=e[this.variableName];if(this.optional&&!t)return[];if(!t){let r=new Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`);throw r.name="InputFormatError",r}let n;try{Array.isArray(t)?n=t.map(wr):n=[wr(t)]}catch(r){let s=typeof t=="string"?t:JSON.stringify(t,null,2),a=new Error([`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.`,`Received value: ${s}`,`Additional message: ${r.message}`].join(`
169
+
170
+ `));throw a.name="InputFormatError",a.lc_error_code=r.lc_error_code,a}return n}},Kk=class extends hh{prompt;constructor(e){"prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt}get inputVariables(){return this.prompt.inputVariables}async formatMessages(e){return[await this.format(e)]}},ky=class extends zc{constructor(e){super(e)}async format(e){return(await this.formatPromptValue(e)).toString()}async formatPromptValue(e){return new gy(await this.formatMessages(e))}},Xk=class extends Kk{static lc_name(){return"ChatMessagePromptTemplate"}role;constructor(e,t){"prompt"in e||(e={prompt:e,role:t}),super(e),this.role=e.role}async format(e){return new ka(await this.prompt.format(e),this.role)}static fromTemplate(e,t,n){return new this(fs.fromTemplate(e,{templateFormat:n?.templateFormat}),t)}};function d4(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:Object.keys(e).length===1&&"text"in e&&typeof e.text=="string"}function h4(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:"image_url"in e&&(typeof e.image_url=="string"||typeof e.image_url=="object"&&e.image_url!==null&&"url"in e.image_url&&typeof e.image_url.url=="string")}var Ey=class extends hh{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;inputVariables=[];additionalOptions={};prompt;messageClass;static _messageClass(){throw new Error("Can not invoke _messageClass from inside _StringImageMessagePromptTemplate")}chatMessageClass;constructor(e,t){if("prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt,Array.isArray(this.prompt)){let n=[];this.prompt.forEach(r=>{"inputVariables"in r&&(n=n.concat(r.inputVariables))}),this.inputVariables=n}else this.inputVariables=this.prompt.inputVariables;this.additionalOptions=t??this.additionalOptions}createMessage(e){let t=this.constructor;if(t._messageClass())return new(t._messageClass())({content:e});if(t.chatMessageClass){let n=t.chatMessageClass();return new n({content:e,role:this.getRoleFromMessageClass(n.lc_name())})}else throw new Error("No message class defined")}getRoleFromMessageClass(e){switch(e){case"HumanMessage":return"human";case"AIMessage":return"ai";case"SystemMessage":return"system";case"ChatMessage":return"chat";default:throw new Error("Invalid message class name")}}static fromTemplate(e,t){if(typeof e=="string")return new this(fs.fromTemplate(e,t));let n=[];for(let r of e)if(typeof r=="string")n.push(fs.fromTemplate(r,t));else if(r!==null)if(d4(r)){let s="";typeof r.text=="string"&&(s=r.text??"");let a={...t,additionalContentFields:r};n.push(fs.fromTemplate(s,a))}else if(h4(r)){let s=r.image_url??"",a,i=[];if(typeof s=="string"){let o;t?.templateFormat==="mustache"?o=Su(s):o=Qo(s);let c=o.flatMap(l=>l.type==="variable"?[l.name]:[]);if((c?.length??0)>0){if(c.length>1)throw new Error(`Only one format variable allowed per image template.
171
+ Got: ${c}
172
+ From: ${s}`);i=[c[0]]}else i=[];s={url:s},a=new Ul({template:s,inputVariables:i,templateFormat:t?.templateFormat,additionalContentFields:r})}else if(typeof s=="object"){if("url"in s){let o;t?.templateFormat==="mustache"?o=Su(s.url):o=Qo(s.url),i=o.flatMap(c=>c.type==="variable"?[c.name]:[])}else i=[];a=new Ul({template:s,inputVariables:i,templateFormat:t?.templateFormat,additionalContentFields:r})}else throw new Error("Invalid image template");n.push(a)}else typeof r=="object"&&n.push(new Tm({template:r,templateFormat:t?.templateFormat}));return new this({prompt:n,additionalOptions:t})}async format(e){if(this.prompt instanceof Xo){let t=await this.prompt.format(e);return this.createMessage(t)}else{let t=[];for(let n of this.prompt){let r={};if(!("inputVariables"in n))throw new Error(`Prompt ${n} does not have inputVariables defined.`);for(let s of n.inputVariables)r||(r={[s]:e[s]}),r={...r,[s]:e[s]};if(n instanceof Xo){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),s!==""&&t.push({...a,type:"text",text:s})}else if(n instanceof Ul){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),t.push({...a,type:"image_url",image_url:s})}else if(n instanceof Tm){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),t.push({...a,...s})}}return this.createMessage(t)}}async formatMessages(e){return[await this.format(e)]}},Sy=class extends Ey{static _messageClass(){return An}static lc_name(){return"HumanMessagePromptTemplate"}},Yk=class extends Ey{static _messageClass(){return ct}static lc_name(){return"AIMessagePromptTemplate"}},Qk=class extends Ey{static _messageClass(){return Sr}static lc_name(){return"SystemMessagePromptTemplate"}};function p4(e){return typeof e.formatMessages=="function"}function f4(e,t){if(p4(e)||Nt(e))return e;if(Array.isArray(e)&&e[0]==="placeholder"){let s=e[1];if(t?.templateFormat==="mustache"&&typeof s=="string"&&s.slice(0,2)==="{{"&&s.slice(-2)==="}}")return new Cm({variableName:s.slice(2,-2),optional:!0});if(typeof s=="string"&&s[0]==="{"&&s[s.length-1]==="}")return new Cm({variableName:s.slice(1,-1),optional:!0});throw new Error(`Invalid placeholder template for format ${t?.templateFormat??'"f-string"'}: "${e[1]}". Expected a variable name surrounded by ${t?.templateFormat==="mustache"?"double":"single"} curly braces.`)}let n=wr(e),r;if(typeof n.content=="string"?r=n.content:r=n.content.map(s=>"text"in s?{...s,text:s.text}:"image_url"in s?{...s,image_url:s.image_url}:s),n._getType()==="human")return Sy.fromTemplate(r,t);if(n._getType()==="ai")return Yk.fromTemplate(r,t);if(n._getType()==="system")return Qk.fromTemplate(r,t);if(ka.isInstance(n))return Xk.fromTemplate(n.content,n.role,t);throw new Error(`Could not coerce message prompt template from input. Received message type: "${n._getType()}".`)}function m4(e){return e.constructor.lc_name()==="MessagesPlaceholder"}var Oy=class Bl extends ky{static lc_name(){return"ChatPromptTemplate"}get lc_aliases(){return{promptMessages:"messages"}}promptMessages;validateTemplate=!0;templateFormat="f-string";constructor(t){if(super(t),t.templateFormat==="mustache"&&t.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,t),this.validateTemplate){let n=new Set;for(let o of this.promptMessages)if(!(o instanceof Gt))for(let c of o.inputVariables)n.add(c);let r=this.inputVariables,s=new Set(this.partialVariables?r.concat(Object.keys(this.partialVariables)):r),a=new Set([...s].filter(o=>!n.has(o)));if(a.size>0)throw new Error(`Input variables \`${[...a]}\` are not used in any of the prompt messages.`);let i=new Set([...n].filter(o=>!s.has(o)));if(i.size>0)throw new Error(`Input variables \`${[...i]}\` are used in prompt messages but not in the prompt template.`)}}_getPromptType(){return"chat"}async _parseImagePrompts(t,n){return typeof t.content=="string"||(t.content=await Promise.all(t.content.map(async r=>{if(r.type!=="image_url")return r;let s="";typeof r.image_url=="string"?s=r.image_url:typeof r.image_url=="object"&&r.image_url!==null&&"url"in r.image_url&&typeof r.image_url.url=="string"&&(s=r.image_url.url);let a=await fs.fromTemplate(s,{templateFormat:this.templateFormat}).format(n);return typeof r.image_url=="object"&&r.image_url!==null&&"url"in r.image_url?r.image_url.url=a:r.image_url=a,r}))),t}async formatMessages(t){let n=await this.mergePartialAndUserVariables(t),r=[];for(let s of this.promptMessages)if(s instanceof Gt)r.push(await this._parseImagePrompts(s,n));else{let a;this.templateFormat==="mustache"?a={...n}:a=s.inputVariables.reduce((o,c)=>{if(!(c in n)&&!(m4(s)&&s.optional))throw $c(new Error(`Missing value for input variable \`${c.toString()}\``),"INVALID_PROMPT_INPUT");return o[c]=n[c],o},{});let i=await s.formatMessages(a);r=r.concat(i)}return r}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new Bl({...this,inputVariables:n,partialVariables:r})}static fromTemplate(t,n){let r=new Sy({prompt:fs.fromTemplate(t,n)});return this.fromMessages([r])}static fromMessages(t,n){let r=t.reduce((i,o)=>i.concat(o instanceof Bl?o.promptMessages:[f4(o,n)]),[]),s=t.reduce((i,o)=>o instanceof Bl?Object.assign(i,o.partialVariables):i,Object.create(null)),a=new Set;for(let i of r)if(!(i instanceof Gt))for(let o of i.inputVariables)o in s||a.add(o);return new this({...n,inputVariables:[...a],promptMessages:r,partialVariables:s,templateFormat:n?.templateFormat})}},g4=class Nm extends Xo{lc_serializable=!1;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
173
+
174
+ `;prefix="";templateFormat="f-string";validateTemplate=!0;constructor(t){if(super(t),Object.assign(this,t),this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),Fc(this.prefix+this.suffix,this.templateFormat,n)}}_getPromptType(){return"few_shot"}static lc_name(){return"FewShotPromptTemplate"}async getExamples(t){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(t);throw new Error("One of 'examples' and 'example_selector' should be provided")}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new Nm({...this,inputVariables:n,partialVariables:r})}async format(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n),s=await Promise.all(r.map(a=>this.examplePrompt.format(a)));return rr([this.prefix,...s,this.suffix].join(this.exampleSeparator),this.templateFormat,n)}serialize(){if(this.exampleSelector||!this.examples)throw new Error("Serializing an example selector is not currently supported");if(this.outputParser!==void 0)throw new Error("Serializing an output parser is not currently supported");return{_type:this._getPromptType(),input_variables:this.inputVariables,example_prompt:this.examplePrompt.serialize(),example_separator:this.exampleSeparator,suffix:this.suffix,prefix:this.prefix,template_format:this.templateFormat,examples:this.examples}}static async deserialize(t){let{example_prompt:n}=t;if(!n)throw new Error("Missing example prompt");let r=await fs.deserialize(n),s;if(Array.isArray(t.examples))s=t.examples;else throw new Error("Invalid examples format. Only list or string are supported.");return new Nm({inputVariables:t.input_variables,examplePrompt:r,examples:s,exampleSeparator:t.example_separator,prefix:t.prefix,suffix:t.suffix,templateFormat:t.template_format})}},y4=class eE extends ky{lc_serializable=!0;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
175
+
176
+ `;prefix="";templateFormat="f-string";validateTemplate=!0;_getPromptType(){return"few_shot_chat"}static lc_name(){return"FewShotChatMessagePromptTemplate"}constructor(t){if(super(t),this.examples=t.examples,this.examplePrompt=t.examplePrompt,this.exampleSeparator=t.exampleSeparator??`
177
+
178
+ `,this.exampleSelector=t.exampleSelector,this.prefix=t.prefix??"",this.suffix=t.suffix??"",this.templateFormat=t.templateFormat??"f-string",this.validateTemplate=t.validateTemplate??!0,this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),Fc(this.prefix+this.suffix,this.templateFormat,n)}}async getExamples(t){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(t);throw new Error("One of 'examples' and 'example_selector' should be provided")}async formatMessages(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n);r=r.map(a=>{let i={};return this.examplePrompt.inputVariables.forEach(o=>{i[o]=a[o]}),i});let s=[];for(let a of r){let i=await this.examplePrompt.formatMessages(a);s.push(...i)}return s}async format(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n),s=(await Promise.all(r.map(a=>this.examplePrompt.formatMessages(a)))).flat().map(a=>a.content);return rr([this.prefix,...s,this.suffix].join(this.exampleSeparator),this.templateFormat,n)}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new eE({...this,inputVariables:n,partialVariables:r})}},_4=class Zl extends zc{static lc_name(){return"PipelinePromptTemplate"}pipelinePrompts;finalPrompt;constructor(t){super({...t,inputVariables:[]}),this.pipelinePrompts=t.pipelinePrompts,this.finalPrompt=t.finalPrompt,this.inputVariables=this.computeInputValues()}computeInputValues(){let t=this.pipelinePrompts.map(r=>r.name),n=this.pipelinePrompts.map(r=>r.prompt.inputVariables.filter(s=>!t.includes(s))).flat();return[...new Set(n)]}static extractRequiredInputValues(t,n){return n.reduce((r,s)=>(r[s]=t[s],r),{})}async formatPipelinePrompts(t){let n=await this.mergePartialAndUserVariables(t);for(let{name:r,prompt:s}of this.pipelinePrompts){let a=Zl.extractRequiredInputValues(n,s.inputVariables);s instanceof Oy?n[r]=await s.formatMessages(a):n[r]=await s.format(a)}return Zl.extractRequiredInputValues(n,this.finalPrompt.inputVariables)}async formatPromptValue(t){return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(t))}async format(t){return this.finalPrompt.format(await this.formatPipelinePrompts(t))}async partial(t){let n={...this};return n.inputVariables=this.inputVariables.filter(r=>!(r in t)),n.partialVariables={...this.partialVariables??{},...t},new Zl(n)}serialize(){throw new Error("Not implemented.")}_getPromptType(){return"pipeline"}};function xb(e){return typeof e=="object"&&e!=null&&"withStructuredOutput"in e&&typeof e.withStructuredOutput=="function"}function v4(e){return typeof e=="object"&&e!=null&&"lc_id"in e&&Array.isArray(e.lc_id)&&e.lc_id.join("/")==="langchain_core/runnables/RunnableBinding"}var b4=class tE extends Oy{schema;method;lc_namespace=["langchain_core","prompts","structured"];get lc_aliases(){return{...super.lc_aliases,schema:"schema_"}}constructor(t){super(t),this.schema=t.schema,this.method=t.method}pipe(t){if(xb(t))return super.pipe(t.withStructuredOutput(this.schema));if(v4(t)&&xb(t.bound))return super.pipe(new ws({bound:t.bound.withStructuredOutput(this.schema,...this.method?[{method:this.method}]:[]),kwargs:t.kwargs??{},config:t.config,configFactories:t.configFactories}));throw new Error('Structured prompts need to be piped to a language model that supports the "withStructuredOutput()" method.')}static fromMessagesAndSchema(t,n,r){return tE.fromMessages(t,{schema:n,method:r})}},w4=Q({AIMessagePromptTemplate:()=>Yk,BaseChatPromptTemplate:()=>ky,BaseMessagePromptTemplate:()=>hh,BaseMessageStringPromptTemplate:()=>Kk,BasePromptTemplate:()=>zc,BaseStringPromptTemplate:()=>Xo,ChatMessagePromptTemplate:()=>Xk,ChatPromptTemplate:()=>Oy,DEFAULT_FORMATTER_MAPPING:()=>Ou,DEFAULT_PARSER_MAPPING:()=>Jk,DictPromptTemplate:()=>Tm,FewShotChatMessagePromptTemplate:()=>y4,FewShotPromptTemplate:()=>g4,HumanMessagePromptTemplate:()=>Sy,ImagePromptTemplate:()=>Ul,MessagesPlaceholder:()=>Cm,PipelinePromptTemplate:()=>_4,PromptTemplate:()=>fs,StructuredPrompt:()=>b4,SystemMessagePromptTemplate:()=>Qk,checkValidTemplate:()=>Fc,interpolateFString:()=>Hk,interpolateMustache:()=>Wk,parseFString:()=>Qo,parseMustache:()=>Su,parseTemplate:()=>Iu,renderTemplate:()=>rr}),x4=Q({BaseDocumentCompressor:()=>k4}),k4=class{static isBaseDocumentCompressor(e){return e?.compressDocuments!==void 0}},E4=Q({BaseRetriever:()=>Iy}),Iy=class extends Pe{callbacks;tags;metadata;verbose;constructor(e){super(e),this.callbacks=e?.callbacks,this.tags=e?.tags??[],this.metadata=e?.metadata??{},this.verbose=e?.verbose??!1}_getRelevantDocuments(e,t){throw new Error("Not implemented!")}async invoke(e,t){let n=Le(Nc(t)),r=await(await Kt.configure(n.callbacks,this.callbacks,n.tags,this.tags,n.metadata,this.metadata,{verbose:this.verbose}))?.handleRetrieverStart(this.toJSON(),e,n.runId,void 0,void 0,void 0,n.runName);try{let s=await this._getRelevantDocuments(e,r);return await r?.handleRetrieverEnd(s),s}catch(s){throw await r?.handleRetrieverError(s),s}}},S4=Q({BaseStore:()=>nE,InMemoryStore:()=>O4}),nE=class extends zn{},O4=class extends nE{lc_namespace=["langchain","storage"];store={};async mget(e){return e.map(t=>this.store[t])}async mset(e){for(let[t,n]of e)this.store[t]=n}async mdelete(e){for(let t of e)delete this.store[t]}async*yieldKeys(e){let t=Object.keys(this.store);for(let n of t)(e===void 0||n.startsWith(e))&&(yield n)}},is={and:"and",or:"or",not:"not"},Ne={eq:"eq",ne:"ne",lt:"lt",gt:"gt",lte:"lte",gte:"gte"},rE=class{},Ty=class{accept(e){if(this.exprName==="Operation")return e.visitOperation(this);if(this.exprName==="Comparison")return e.visitComparison(this);if(this.exprName==="StructuredQuery")return e.visitStructuredQuery(this);throw new Error("Unknown Expression type")}},Ay=class extends Ty{},I4=class extends Ay{exprName="Comparison";constructor(e,t,n){super(),this.comparator=e,this.attribute=t,this.value=n}},T4=class extends Ay{exprName="Operation";constructor(e,t){super(),this.operator=e,this.args=t}},A4=class extends Ty{exprName="StructuredQuery";constructor(e,t){super(),this.query=e,this.filter=t}};function sE(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Qn(e){return e?typeof e=="string"&&e.length>0||typeof e=="function"?!1:sE(e)&&Object.keys(e).length===0:!0}function aE(e){if(typeof e=="number")return e%1===0;if(typeof e=="string"){let t=parseInt(e,10);return!Number.isNaN(t)&&t%1===0&&t.toString()===e}return!1}function iE(e){if(typeof e=="number")return e%1!==0;if(typeof e=="string"){let t=parseFloat(e);return!Number.isNaN(t)&&t%1!==0&&t.toString()===e}return!1}function oE(e){return typeof e=="string"&&(Number.isNaN(parseFloat(e))||parseFloat(e).toString()!==e)}function cE(e){return typeof e=="boolean"}function $y(e){let t;if(oE(e))t=e;else if(aE(e))t=parseInt(e,10);else if(iE(e))t=parseFloat(e);else if(cE(e))t=!!e;else throw new Error("Unsupported value type");return t}var Cy=class extends rE{},$4=class extends Cy{allowedOperators;allowedComparators;constructor(e){super(),this.allowedOperators=e?.allowedOperators??[is.and,is.or],this.allowedComparators=e?.allowedComparators??[Ne.eq,Ne.ne,Ne.gt,Ne.gte,Ne.lt,Ne.lte]}formatFunction(e){if(e in Ne){if(this.allowedComparators.length>0&&this.allowedComparators.indexOf(e)===-1)throw new Error(`Comparator ${e} not allowed. Allowed comparators: ${this.allowedComparators.join(", ")}`)}else if(e in is){if(this.allowedOperators.length>0&&this.allowedOperators.indexOf(e)===-1)throw new Error(`Operator ${e} not allowed. Allowed operators: ${this.allowedOperators.join(", ")}`)}else throw new Error("Unknown comparator or operator");return`$${e}`}visitOperation(e){let t=e.args?.map(n=>n.accept(this));return{[this.formatFunction(e.operator)]:t}}visitComparison(e){return{[e.attribute]:{[this.formatFunction(e.comparator)]:$y(e.value)}}}visitStructuredQuery(e){let t={};return e.filter&&(t={filter:e.filter.accept(this)}),t}mergeFilters(e,t,n="and",r=!1){if(!(Qn(e)&&Qn(t))){if(Qn(e)||n==="replace")return Qn(t)?void 0:t;if(Qn(t))return r?e:n==="and"?void 0:e;if(n==="and")return{$and:[e,t]};if(n==="or")return{$or:[e,t]};throw new Error("Unknown merge type")}}},C4=class extends Cy{allowedOperators=[is.and,is.or];allowedComparators=[Ne.eq,Ne.ne,Ne.gt,Ne.gte,Ne.lt,Ne.lte];formatFunction(){throw new Error("Not implemented")}getAllowedComparatorsForType(e){switch(e){case"string":return[Ne.eq,Ne.ne,Ne.gt,Ne.gte,Ne.lt,Ne.lte];case"number":return[Ne.eq,Ne.ne,Ne.gt,Ne.gte,Ne.lt,Ne.lte];case"boolean":return[Ne.eq,Ne.ne];default:throw new Error(`Unsupported data type: ${e}`)}}getComparatorFunction(e){switch(e){case Ne.eq:return(t,n)=>t===n;case Ne.ne:return(t,n)=>t!==n;case Ne.gt:return(t,n)=>t>n;case Ne.gte:return(t,n)=>t>=n;case Ne.lt:return(t,n)=>t<n;case Ne.lte:return(t,n)=>t<=n;default:throw new Error("Unknown comparator")}}getOperatorFunction(e){switch(e){case is.and:return(t,n)=>t&&n;case is.or:return(t,n)=>t||n;default:throw new Error("Unknown operator")}}visitOperation(e){let{operator:t,args:n}=e;if(this.allowedOperators.includes(t)){let r=this.getOperatorFunction(t);return s=>n?n.reduce((a,i)=>{let o=i.accept(this);if(typeof o=="function")return r(a,o(s));throw new Error("Filter is not a function")},!0):!0}else throw new Error("Operator not allowed")}visitComparison(e){let{comparator:t,attribute:n,value:r}=e,s=[Ne.ne];if(this.allowedComparators.includes(t)){if(!this.getAllowedComparatorsForType(typeof r).includes(t))throw new Error(`'${t}' comparator not allowed to be used with ${typeof r}`);let a=this.getComparatorFunction(t);return i=>{let o=i.metadata[n];return o===void 0?!!s.includes(t):a(o,$y(r))}}else throw new Error("Comparator not allowed")}visitStructuredQuery(e){if(!e.filter)return{};let t=e.filter?.accept(this);if(typeof t!="function")throw new Error("Structured query filter is not a function");return{filter:t}}mergeFilters(e,t,n="and"){if(!(Qn(e)&&Qn(t))){if(Qn(e)||n==="replace")return Qn(t)?void 0:t;if(Qn(t))return n==="and"?void 0:e;if(n==="and")return r=>e(r)&&t(r);if(n==="or")return r=>e(r)||t(r);throw new Error("Unknown merge type")}}},N4=Q({BaseTranslator:()=>Cy,BasicTranslator:()=>$4,Comparators:()=>Ne,Comparison:()=>I4,Expression:()=>Ty,FilterDirective:()=>Ay,FunctionalTranslator:()=>C4,Operation:()=>T4,Operators:()=>is,StructuredQuery:()=>A4,Visitor:()=>rE,castValue:()=>$y,isBoolean:()=>cE,isFilterEmpty:()=>Qn,isFloat:()=>iE,isInt:()=>aE,isObject:()=>sE,isString:()=>oE});function ec(e){return Gt.isInstance(e)?e.constructor.name||e.type:typeof e}function ph(e,t){return function(n,r){let{isNot:s,utils:a}=this;if(!t(n))return{pass:!1,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
179
+
180
+ Expected: ${s?"not ":""}${e}
181
+ Received: ${ec(n)}`,actual:ec(n),expected:e};if(r===void 0)return{pass:!0,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
182
+
183
+ Expected: not ${e}
184
+ Received: ${e}`};let i=n;return typeof r=="string"?{pass:i.content===r,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
185
+
186
+ Expected: ${e} with content ${a.printExpected(r)}
187
+ Received: ${e} with content ${a.printReceived(i.content)}`,actual:i.content,expected:r}:{pass:Object.entries(r).every(([o,c])=>this.equals(i[o],c)),message:()=>{let o={};for(let c of Object.keys(r))o[c]=i[c];return`${a.matcherHint(`toBe${e}`,void 0,void 0)}
188
+
189
+ Expected: ${e} matching ${a.printExpected(r)}
190
+ Received: ${e} with ${a.printReceived(o)}`},actual:(()=>{let o={};for(let c of Object.keys(r))o[c]=i[c];return o})(),expected:r}}}var lE=ph("HumanMessage",An.isInstance),uE=ph("AIMessage",ct.isInstance),dE=ph("SystemMessage",Sr.isInstance),hE=ph("ToolMessage",Er.isInstance);function pE(e,t){let{isNot:n,utils:r}=this;if(!ct.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
191
+
192
+ Expected: AIMessage
193
+ Received: ${ec(e)}`};let s=e.tool_calls??[];if(s.length!==t.length)return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
194
+
195
+ Expected ${n?"not ":""}${t.length} tool call(s), received ${s.length}`,actual:s.length,expected:t.length};let a=t.filter(i=>!s.some(o=>Object.entries(i).every(([c,l])=>this.equals(o[c],l))));return a.length>0?{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
196
+
197
+ Could not find matching tool call(s) for:
198
+ ${r.printExpected(a)}
199
+ Received tool calls: ${r.printReceived(s.map(i=>({name:i.name,id:i.id,args:i.args})))}`,actual:s.map(i=>({name:i.name,id:i.id,args:i.args})),expected:t}:{pass:!0,message:()=>`${r.matcherHint("toHaveToolCalls")}
200
+
201
+ Expected AIMessage not to have matching tool calls`}}function fE(e,t){let{isNot:n,utils:r}=this;if(!ct.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCallCount")}
202
+
203
+ Expected: AIMessage
204
+ Received: ${ec(e)}`};let s=e.tool_calls?.length??0;return{pass:s===t,message:()=>`${r.matcherHint("toHaveToolCallCount")}
205
+
206
+ Expected ${n?"not ":""}${t} tool call(s)
207
+ Received: ${s}`,actual:s,expected:t}}function mE(e,t){let{isNot:n,utils:r}=this;if(!ct.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toContainToolCall")}
208
+
209
+ Expected: AIMessage
210
+ Received: ${ec(e)}`};let s=e.tool_calls??[];return{pass:s.some(a=>Object.entries(t).every(([i,o])=>this.equals(a[i],o))),message:()=>`${r.matcherHint("toContainToolCall")}
211
+
212
+ Expected AIMessage ${n?"not ":""}to contain a tool call matching ${r.printExpected(t)}
213
+ Received tool calls: ${r.printReceived(s.map(a=>({name:a.name,id:a.id})))}`,actual:s.map(a=>({name:a.name,id:a.id})),expected:t}}function gE(e,t){let{isNot:n,utils:r}=this;if(!Array.isArray(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolMessages")}
214
+
215
+ Expected an array of messages
216
+ Received: ${typeof e}`};let s=e.filter(Er.isInstance);if(s.length!==t.length)return{pass:!1,message:()=>`${r.matcherHint("toHaveToolMessages")}
217
+
218
+ Expected ${n?"not ":""}${t.length} tool message(s), found ${s.length}`,actual:s.length,expected:t.length};for(let a=0;a<t.length;a++)if(!Object.entries(t[a]).every(([i,o])=>this.equals(s[a][i],o)))return{pass:!1,message:()=>{let i={};for(let o of Object.keys(t[a]))i[o]=s[a][o];return`${r.matcherHint("toHaveToolMessages")}
219
+
220
+ Tool message at index ${a} did not match:
221
+ Expected: ${r.printExpected(t[a])}
222
+ Received: ${r.printReceived(i)}`},actual:s[a],expected:t[a]};return{pass:!0,message:()=>`${r.matcherHint("toHaveToolMessages")}
223
+
224
+ Expected messages not to contain matching tool messages`}}function yE(e,t){let{isNot:n,utils:r}=this,s=e?.__interrupt__;if(!(Array.isArray(s)&&s.length>0))return{pass:!1,message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
225
+
226
+ Expected result ${n?"not ":""}to have been interrupted
227
+ Received __interrupt__: ${r.printReceived(s)}`};if(t===void 0)return{pass:!0,message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
228
+
229
+ Expected result not to have been interrupted
230
+ Received ${s.length} interrupt(s)`};let a=s[0]?.value;return{pass:this.equals(a,t),message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
231
+
232
+ Expected interrupt value: ${r.printExpected(t)}
233
+ Received interrupt value: ${r.printReceived(a)}`,actual:a,expected:t}}function _E(e,t){let{isNot:n,utils:r}=this,s=e?.structuredResponse;return s===void 0?{pass:!1,message:()=>`${r.matcherHint("toHaveStructuredResponse")}
234
+
235
+ Expected result ${n?"not ":""}to have a structured response
236
+ Received structuredResponse: undefined`}:t===void 0?{pass:!0,message:()=>`${r.matcherHint("toHaveStructuredResponse")}
237
+
238
+ Expected result not to have a structured response`}:{pass:Object.entries(t).every(([a,i])=>this.equals(s[a],i)),message:()=>`${r.matcherHint("toHaveStructuredResponse")}
239
+
240
+ Expected structured response: ${r.printExpected(t)}
241
+ Received structured response: ${r.printReceived(s)}`,actual:s,expected:t}}var P4={toBeHumanMessage:lE,toBeAIMessage:uE,toBeSystemMessage:dE,toBeToolMessage:hE,toHaveToolCalls:pE,toHaveToolCallCount:fE,toContainToolCall:mE,toHaveToolMessages:gE,toHaveBeenInterrupted:yE,toHaveStructuredResponse:_E};function j4(e){return e.map(t=>t.text).filter(Boolean).join("-")}var kb=0;function R4(){return kb+=1,`fake_tc_${kb}`}var vE=class bE extends Ji{queue=[];_alwaysThrowError;_structuredResponseValue;_tools=[];_callIndex=0;_calls=[];get calls(){return this._calls}get callCount(){return this._calls.length}constructor(){super({})}_llmType(){return"fake-model-builder"}_combineLLMOutput(){return[]}respond(t){return typeof t=="function"?this.queue.push({kind:"factory",factory:t}):Gt.isInstance(t)?this.queue.push({kind:"message",message:t}):this.queue.push({kind:"error",error:t}),this}respondWithTools(t){return this.queue.push({kind:"toolCalls",toolCalls:t.map(n=>({name:n.name,args:n.args,id:n.id??R4(),type:"tool_call"}))}),this}alwaysThrow(t){return this._alwaysThrowError=t,this}structuredResponse(t){return this._structuredResponseValue=t,this}bindTools(t){let n=[...this._tools,...t],r=new bE;return r.queue=this.queue,r._alwaysThrowError=this._alwaysThrowError,r._structuredResponseValue=this._structuredResponseValue,r._tools=n,r._calls=this._calls,r._callIndex=this._callIndex,r.withConfig({})}withStructuredOutput(t,n){let{_structuredResponseValue:r}=this;return Ar.from(async()=>r)}async _generate(t,n,r){this._calls.push({messages:[...t],options:n});let s=this._callIndex;if(this._callIndex+=1,this._alwaysThrowError)throw this._alwaysThrowError;let a=this.queue[s];if(!a)throw new Error(`FakeModel: no response queued for invocation ${s} (${this.queue.length} total queued).`);if(a.kind==="error")throw a.error;if(a.kind==="factory"){let o=a.factory(t);if(!Gt.isInstance(o))throw o;return{generations:[{text:"",message:o}]}}if(a.kind==="message")return{generations:[{text:"",message:a.message}]};let i=j4(t);return{generations:[{text:i,message:new ct({content:i,id:s.toString(),tool_calls:a.toolCalls.length>0?a.toolCalls.map(o=>({...o,type:"tool_call"})):void 0})}],llmOutput:{}}}};function L4(){return new vE}var M4=Q({FakeBuiltModel:()=>vE,fakeModel:()=>L4,langchainMatchers:()=>P4,toBeAIMessage:()=>uE,toBeHumanMessage:()=>lE,toBeSystemMessage:()=>dE,toBeToolMessage:()=>hE,toContainToolCall:()=>mE,toHaveBeenInterrupted:()=>yE,toHaveStructuredResponse:()=>_E,toHaveToolCallCount:()=>fE,toHaveToolCalls:()=>pE,toHaveToolMessages:()=>gE});function Ny(e){return e!==void 0&&Array.isArray(e.lc_namespace)}function Py(e){return e!==void 0&&Pe.isRunnable(e)&&"lc_name"in e.constructor&&typeof e.constructor.lc_name=="function"&&e.constructor.lc_name()==="RunnableToolLike"}function jy(e){return!!e&&typeof e=="object"&&"name"in e&&"schema"in e&&(qr(e.schema)||e.schema!=null&&typeof e.schema=="object"&&"type"in e.schema&&typeof e.schema.type=="string"&&["null","boolean","object","array","number","string"].includes(e.schema.type))}function Ry(e){return jy(e)||Py(e)||Ny(e)}var z4=Q({BaseToolkit:()=>D4,DynamicStructuredTool:()=>kE,DynamicTool:()=>xE,StructuredTool:()=>fh,Tool:()=>wE,ToolInputParsingException:()=>cu,isLangChainTool:()=>Ry,isRunnableToolLike:()=>Py,isStructuredTool:()=>Ny,isStructuredToolParams:()=>jy,tool:()=>F4}),fh=class extends _y{extras;returnDirect=!1;verboseParsingErrors=!1;get lc_namespace(){return["langchain","tools"]}responseFormat="content";defaultConfig;constructor(e){super(e??{}),this.verboseParsingErrors=e?.verboseParsingErrors??this.verboseParsingErrors,this.responseFormat=e?.responseFormat??this.responseFormat,this.defaultConfig=e?.defaultConfig??this.defaultConfig,this.metadata=e?.metadata??this.metadata,this.extras=e?.extras??this.extras}async invoke(e,t){let n,r=Le(Mn(this.defaultConfig,t));return To(e)?(n=e.args,r={...r,toolCall:e}):n=e,this.call(n,r)}async call(e,t,n){let r=To(e)?e.args:e,s;if(qr(this.schema))try{s=await ah(this.schema,r)}catch(p){let f="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(f=`${f}
242
+ Details: ${p.message}`),Bx(p)&&(f=`${f}
243
+
244
+ ${cP(p)}`),new cu(f,JSON.stringify(e))}else{let p=tt(r,this.schema);if(!p.valid){let f="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(f=`${f}
245
+ Details: ${p.errors.map(m=>`${m.keywordLocation}: ${m.error}`).join(`
246
+ `)}`),new cu(f,JSON.stringify(e))}s=r}let a=Nc(t),i=Kt.configure(a.callbacks,this.callbacks,a.tags||n,this.tags,a.metadata,this.metadata,{verbose:this.verbose}),o;To(e)&&(o=e.id),!o&&AT(a)&&(o=a.toolCall.id);let c=await i?.handleToolStart(this.toJSON(),typeof e=="string"?e:JSON.stringify(e),a.runId,void 0,void 0,void 0,a.runName,o);delete a.runId;let l;try{let p=await this._call(s,c,a);l=ok(p)?await g2(p,async f=>{try{await c?.handleToolEvent(f)}catch(m){await c?.handleToolError(m)}}):p}catch(p){throw await c?.handleToolError(p),p}let u,d;if(this.responseFormat==="content_and_artifact")if(Array.isArray(l)&&l.length===2)[u,d]=l;else throw new Error(`Tool response format is "content_and_artifact" but the output was not a two-tuple.
247
+ Result: ${JSON.stringify(l)}`);else u=l;let h=U4({content:u,artifact:d,toolCallId:o,name:this.name,metadata:this.metadata});return await c?.handleToolEnd(h),h}},wE=class extends fh{schema=ch({input:oh().optional()}).transform(e=>e.input);constructor(e){super(e)}call(e,t){let n=typeof e=="string"||e==null?{input:e}:e;return super.call(n,t)}},xE=class extends wE{static lc_name(){return"DynamicTool"}name;description;func;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect}async call(e,t){let n=Nc(t);return n.runName===void 0&&(n.runName=this.name),super.call(e,n)}_call(e,t,n){return this.func(e,t,n)}},kE=class extends fh{static lc_name(){return"DynamicStructuredTool"}description;func;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect,this.schema=e.schema}async call(e,t,n){let r=Nc(t);return r.runName===void 0&&(r.runName=this.name),super.call(e,r,n)}_call(e,t,n){return this.func(e,t,n)}},D4=class{getTools(){return this.tools}};function F4(e,t){let n=sy(t.schema),r=No(t.schema);if(!t.schema||n||r)return new xE({...t,description:t.description??t.schema?.description??`${t.name} tool`,func:async(i,o,c)=>new Promise((l,u)=>{let d=Ve(c,{callbacks:o?.getChild()});jt.runWithConfig(Vr(d),async()=>{try{l(e(i,d))}catch(h){u(h)}})})});let s=t.schema,a=t.description??t.schema.description??`${t.name} tool`;return new kE({...t,description:a,schema:s,func:async(i,o,c)=>new Promise((l,u)=>{let d,h=()=>{c?.signal&&d&&c.signal.removeEventListener("abort",d)};c?.signal&&(d=()=>{h(),u(Bo(c.signal))},c.signal.addEventListener("abort",d,{once:!0}));let p=Ve(c,{callbacks:o?.getChild()});jt.runWithConfig(Vr(p),async()=>{try{let f=await e(i,p);if(ok(f)){l(f);return}if(c?.signal?.aborted){h();return}h(),l(f)}catch(f){h(),u(f)}})})})}function U4(e){let{content:t,artifact:n,toolCallId:r,metadata:s}=e;return r&&!jg(t)?typeof t=="string"||Array.isArray(t)&&t.every(a=>typeof a=="object")?new Er({status:"success",content:t,artifact:n,tool_call_id:r,name:e.name,metadata:s}):new Er({status:"success",content:B4(t),artifact:n,tool_call_id:r,name:e.name,metadata:s}):t}function B4(e){try{return JSON.stringify(e)??""}catch{return`${e}`}}var Z4=Q({RunCollectorCallbackHandler:()=>V4}),V4=class extends Jr{name="run_collector";exampleId;tracedRuns;constructor({exampleId:e}={}){super({_awaitHandler:!0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}},q4=Q({}),H4=Q({chunkArray:()=>W4}),W4=(e,t)=>e.reduce((n,r,s)=>{let a=Math.floor(s/t);return n[a]=(n[a]||[]).concat([r]),n},[]),J4=Q({context:()=>G4});function G4(e,...t){let n=e.raw,r="";for(let s=0;s<n.length;s++){let a=n[s].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{");if(r+=a,s<t.length){let i=K4(t[s],r);r+=typeof i=="string"?i:JSON.stringify(i)}}return r=X4(r),r=r.trim(),r=r.replace(/\\n/g,`
248
+ `),r}function K4(e,t){if(typeof e!="string"||!e.includes(`
249
+ `))return e;let n=t.slice(t.lastIndexOf(`
250
+ `)+1).match(/^(\s+)/);if(n){let r=n[1];return e.replace(/\n/g,`
251
+ ${r}`)}return e}function X4(e){let t=e.split(`
252
+ `),n=null;for(let r of t){let s=r.match(/^(\s+)\S+/);if(s){let a=s[1].length;n===null?n=a:n=Math.min(n,a)}}return n===null?e:t.map(r=>r[0]===" "||r[0]===" "?r.slice(n):r).join(`
253
+ `)}var Y4=Q({EventStreamContentType:()=>Q4,convertEventStreamToIterableReadableDataStream:()=>tM,getBytes:()=>EE,getLines:()=>SE,getMessages:()=>OE}),Q4="text/event-stream";async function EE(e,t){if(e instanceof ReadableStream){let n=e.getReader();for(;;){let r=await n.read();if(r.done){t(new Uint8Array,!0);break}t(r.value)}}else try{for await(let n of e)t(new Uint8Array(n));t(new Uint8Array,!0)}catch(n){throw new Error(["Parsing event source stream failed.","Ensure your implementation of fetch returns a web or Node readable stream.",`Error: ${n.message}`].join(`
254
+ `))}}var Ya=(function(e){return e[e.NewLine=10]="NewLine",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.Colon=58]="Colon",e})(Ya||{});function SE(e){let t,n,r,s=!1;return function(a,i){if(i){e(a,0,!0);return}t===void 0?(t=a,n=0,r=-1):t=eM(t,a);let o=t.length,c=0;for(;n<o;){s&&(t[n]===Ya.NewLine&&(c=++n),s=!1);let l=-1;for(;n<o&&l===-1;++n)switch(t[n]){case Ya.Colon:r===-1&&(r=n-c);break;case Ya.CarriageReturn:s=!0;case Ya.NewLine:l=n;break}if(l===-1)break;e(t.subarray(c,l),r),c=n,r=-1}c===o?t=void 0:c!==0&&(t=t.subarray(c),n-=c)}}function OE(e,t,n){let r=Gp(),s=new TextDecoder;return function(a,i,o){if(o){nM(r)||(e?.(r),r=Gp());return}if(a.length===0)e?.(r),r=Gp();else if(i>0){let c=s.decode(a.subarray(0,i)),l=i+(a[i+1]===Ya.Space?2:1),u=s.decode(a.subarray(l));switch(c){case"data":r.data=r.data?r.data+`
255
+ `+u:u;break;case"event":r.event=u;break;case"id":t?.(r.id=u);break;case"retry":{let d=parseInt(u,10);Number.isNaN(d)||n?.(r.retry=d);break}}}}}function eM(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Gp(){return{data:"",event:"",id:"",retry:void 0}}function tM(e,t){let n=new ReadableStream({async start(r){let s=OE(a=>{if(a.event==="error")throw new Error(a.data??"Unspecified event streaming error.");a.event==="metadata"?t?.(a):a.data&&r.enqueue(a.data)});await EE(e,SE((a,i,o)=>{s(a,i,o),o&&r.close()}))}});return fn.fromReadableStream(n)}function nM(e){return e.data===""&&e.event===""&&e.id===""&&e.retry===void 0}var rM=Q({}),sM=Q({convertToOpenAIFunction:()=>IE,convertToOpenAITool:()=>aM,isLangChainTool:()=>Ry,isRunnableToolLike:()=>Py,isStructuredTool:()=>Ny,isStructuredToolParams:()=>jy});function IE(e,t){let n=typeof t=="number"?void 0:t;return{name:e.name,description:e.description,parameters:un(e.schema),...n?.strict!==void 0?{strict:n.strict}:{}}}function aM(e,t){let n=typeof t=="number"?void 0:t,r;return Ry(e)?r={type:"function",function:IE(e)}:r=e,n?.strict!==void 0&&(r.function.strict=n.strict),r}function TE(e,t){let n=0,r=0,s=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],s+=t[a]*t[a];return n/(Math.sqrt(r)*Math.sqrt(s))}function iM(e,t){let n=0;for(let r=0;r<e.length;r++)n+=e[r]*t[r];return n}function oM(e,t){let n=0;for(let r=0;r<e.length;r++)n+=(e[r]-t[r])*(e[r]-t[r]);return n}function cM(e,t){return Math.sqrt(oM(e,t))}var lM=Q({cosineSimilarity:()=>Pm,euclideanDistance:()=>hM,innerProduct:()=>dM,matrixFunc:()=>mh,maximalMarginalRelevance:()=>pM,normalize:()=>uM});function mh(e,t,n){if(e.length===0||e[0].length===0||t.length===0||t[0].length===0)return[[]];if(e[0].length!==t[0].length)throw new Error(`Number of columns in X and Y must be the same. X has shape ${[e.length,e[0].length]} and Y has shape ${[t.length,t[0].length]}.`);return e.map(r=>t.map(s=>n(r,s)).map(s=>Number.isNaN(s)?0:s))}function uM(e,t=!1){let n=fM(e);return e.map(r=>r.map(s=>t?1-s/n:s/n))}function Pm(e,t){return mh(e,t,TE)}function dM(e,t){return mh(e,t,iM)}function hM(e,t){return mh(e,t,cM)}function pM(e,t,n=.5,r=4){if(Math.min(r,t.length)<=0)return[];let s=Pm(Array.isArray(e[0])?e:[e],t)[0],a=AE(s).maxIndex,i=[t[a]],o=[a];for(;o.length<Math.min(r,t.length);){let c=-1/0,l=-1,u=Pm(t,i);s.forEach((d,h)=>{if(o.includes(h))return;let p=Math.max(...u[h]),f=n*d-(1-n)*p;f>c&&(c=f,l=h)}),i.push(t[l]),o.push(l)}return o}function AE(e){if(e.length===0)return{maxIndex:-1,maxValue:NaN};let t=e[0],n=0;for(let r=1;r<e.length;r+=1)e[r]>t&&(n=r,t=e[r]);return{maxIndex:n,maxValue:t}}function fM(e){return e.reduce((t,n)=>Math.max(t,AE(n).maxValue),0)}var mM=Q({isCloudMetadata:()=>jm,isLocalhost:()=>Rm,isPrivateIp:()=>jE,isSafeUrl:()=>kM,isSameOrigin:()=>EM,validateSafeUrl:()=>RE}),gM=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","127.0.0.0/8","169.254.0.0/16","0.0.0.0/8","::1/128","fc00::/7","fe80::/10","ff00::/8"],yM=["169.254.169.254","169.254.170.2","100.100.100.200"],_M=["metadata.google.internal","metadata","instance-data"],vM=["localhost","localhost.localdomain"],bM=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function $E(e){return bM.test(e)}function gh(e){return PE(e)!==null}function CE(e){return $E(e)||gh(e)}function NE(e){if($E(e))return e.split(".").map(t=>parseInt(t,10));if(gh(e)){let t=PE(e);if(!t)return null;let n=t.split(":"),r=[];for(let s of n)r.push(parseInt(s,16));return r}return null}function PE(e){if(!e||typeof e!="string"||!e.includes(":")||!/^[0-9a-fA-F:]+$/.test(e))return null;let t=e;if(t.includes("::")){let r=t.split("::");if(r.length>2)return null;let[s,a]=r,i=s?s.split(":"):[],o=a?a.split(":"):[],c=8-(i.length+o.length);if(c<0)return null;let l=Array(c).fill("0");t=[...i,...l,...o].filter(u=>u!=="").join(":")}let n=t.split(":");if(n.length!==8)return null;for(let r of n)if(r.length===0||r.length>4||!/^[0-9a-fA-F]+$/.test(r))return null;return n.map(r=>r.padStart(4,"0").toLowerCase()).join(":")}function wM(e){let[t,n]=e.split("/");if(!t||!n)return null;let r=NE(t);if(!r)return null;let s=parseInt(n,10);if(isNaN(s))return null;let a=gh(t);return a&&s>128||!a&&s>32?null:{addr:r,prefixLen:s,isIpv6:a}}function xM(e,t){let n=NE(e);if(!n)return!1;let r=wM(t);if(!r)return!1;let s=gh(e);if(s!==r.isIpv6)return!1;let{addr:a,prefixLen:i}=r;if(s)for(let o=0;o<Math.ceil(i/16);o++){let c=65535<<16-Math.min(16,i-o*16)&65535;if((n[o]&c)!==(a[o]&c))return!1}else for(let o=0;o<Math.ceil(i/8);o++){let c=255<<8-Math.min(8,i-o*8)&255;if((n[o]&c)!==(a[o]&c))return!1}return!0}function jE(e){if(!CE(e))return!1;for(let t of gM)if(xM(e,t))return!0;return!1}function jm(e,t){if(yM.includes(t||""))return!0;let n=e.toLowerCase();return!!_M.includes(n)}function Rm(e,t){if(t&&(t==="127.0.0.1"||t==="::1"||t==="0.0.0.0"||t.startsWith("127.")))return!0;let n=e.toLowerCase();return!!vM.includes(n)}function RE(e,t){let n=t?.allowPrivate??!1,r=t?.allowHttp??!1;try{let s;try{s=new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}let a=s.hostname;if(!a)throw new Error("URL missing hostname.");if(jm(a))throw new Error(`URL points to cloud metadata endpoint: ${a}`);if(Rm(a)){if(!n)throw new Error(`URL points to localhost: ${a}`);return e}let i=s.protocol;if(i!=="http:"&&i!=="https:")throw new Error(`Invalid URL scheme: ${i}. Only http and https are allowed.`);if(i==="http:"&&!r)throw new Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");if(CE(a)){let o=a;if(Rm(a,o)){if(!n)throw new Error(`URL points to localhost: ${a}`);return e}if(jm(a,o))throw new Error(`URL resolves to cloud metadata IP: ${o} (${a})`);if(jE(o)&&!n)throw new Error(`URL resolves to private IP: ${o} (${a}). Set allowPrivate: true to allow.`);return e}return e}catch(s){throw s&&typeof s=="object"&&"message"in s?s:new Error(`URL validation failed: ${s}`)}}function kM(e,t){try{return RE(e,t),!0}catch{return!1}}function EM(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}var SM=Q({SaveableVectorStore:()=>OM,VectorStore:()=>Ly,VectorStoreRetriever:()=>Vl}),Vl=class extends Iy{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}vectorStore;k=4;searchType="similarity";searchKwargs;filter;_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,e.searchType==="mmr"&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if(this.searchType==="mmr"){if(typeof this.vectorStore.maxMarginalRelevanceSearch!="function")throw new Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},Ly=class extends zn{lc_namespace=["langchain","vectorstores",this._vectorstoreType()];embeddings;constructor(e,t){super(t),this.embeddings=e}async delete(e){throw new Error("Not implemented.")}async similaritySearch(e,t=4,n=void 0,r=void 0){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)).map(s=>s[0])}async similaritySearchWithScore(e,t=4,n=void 0,r=void 0){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)}static fromTexts(e,t,n,r){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,n){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,n,r,s,a){if(typeof e=="number")return new Vl({vectorStore:this,k:e,filter:t,tags:[...r??[],this._vectorstoreType()],metadata:s,verbose:a,callbacks:n});{let i={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return e?.searchType==="mmr"?new Vl({...i,searchKwargs:e.searchKwargs}):new Vl({...i})}}},OM=class extends Ly{static load(e,t){throw new Error("Not implemented")}},IM=class extends Ji{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,n){if(t?.stop?.length)return{generations:[{message:new ct(t.stop[0]),text:t.stop[0]}]};let r=e.map(s=>typeof s.content=="string"?s.content:JSON.stringify(s.content,null,2)).join(`
256
+ `);return await n?.handleLLMNewToken(r),{generations:[{message:new ct(r),text:r}],llmOutput:{}}}},TM=class LE extends Ji{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:t=50,responses:n=[],chunks:r=[],toolStyle:s="openai",thrownErrorString:a,...i}){super(i),this.sleep=t,this.responses=n,this.chunks=r,this.toolStyle=s,this.thrownErrorString=a}_llmType(){return"fake"}bindTools(t){let n=[...this.tools,...t],r=n.map(i=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:i.name,description:i.description,parameters:un(i.schema)}};case"anthropic":return{name:i.name,description:i.description,input_schema:un(i.schema)};case"bedrock":return{toolSpec:{name:i.name,description:i.description,inputSchema:un(i.schema)}};case"google":return{name:i.name,description:i.description,parameters:un(i.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:r}]:r,a=new LE({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return a.tools=n,a.withConfig({tools:s})}async _generate(t,n,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);return{generations:[{text:"",message:new ct({content:this.responses?.[0]?.content??t[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async*_streamResponseChunks(t,n,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);if(this.chunks?.length){for(let i of this.chunks){let o=new yi({message:new ir({content:i.content,tool_calls:i.tool_calls,additional_kwargs:i.additional_kwargs??{}}),text:i.content?.toString()??""});if(n.signal?.aborted)break;yield o,await r?.handleLLMNewToken(i.content,void 0,void 0,void 0,void 0,{chunk:o})}return}let s=this.responses?.[0]??new ct(typeof t[0].content=="string"?t[0].content:""),a=typeof s.content=="string"?s.content:"";for(let i of a){await new Promise(c=>setTimeout(c,this.sleep));let o=new yi({message:new ir({content:i}),text:i});if(n.signal?.aborted)break;yield o,await r?.handleLLMNewToken(i,void 0,void 0,void 0,void 0,{chunk:o})}}},AM=class ME extends Ji{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(t){super(t);let{responses:n,sleep:r,emitCustomEvent:s,generationInfo:a}=t;this.responses=n,this.sleep=r,this.emitCustomEvent=s??this.emitCustomEvent,this.generationInfo=a}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(t,n,r){if(await this._sleepIfRequested(),n?.thrownErrorString)throw new Error(n.thrownErrorString);if(this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0}),n?.stop?.length)return{generations:[this._formatGeneration(n.stop[0])]};{let s=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(s)],llmOutput:{}}}}_formatGeneration(t){return{message:new ct(t),text:t}}async*_streamResponseChunks(t,n,r){let s=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0});let a=[...s];for(let i=0;i<a.length;i++){let o=a[i],c=i===a.length-1;if(await this._sleepIfRequested(),n?.thrownErrorString)throw new Error(n.thrownErrorString);let l=this._createResponseChunk(o,c?this.generationInfo:void 0);if(n.signal?.aborted)break;yield l,r?.handleLLMNewToken(o)}}async _sleepIfRequested(){this.sleep!==void 0&&await this._sleep()}async _sleep(){return new Promise(t=>{setTimeout(()=>t(),this.sleep)})}_createResponseChunk(t,n){return new yi({message:new ir({content:t}),text:t,generationInfo:n})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let n=[...this.tools,...t],r=n.map(i=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:i.name,description:i.description,parameters:un(i.schema)}};case"anthropic":return{name:i.name,description:i.description,input_schema:un(i.schema)};case"bedrock":return{toolSpec:{name:i.name,description:i.description,inputSchema:un(i.schema)}};case"google":return{name:i.name,description:i.description,parameters:un(i.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:r}]:r,a=new ME({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return a.tools=n,a.toolStyle=this.toolStyle,a.i=this.i,a.withConfig({tools:s})}withStructuredOutput(t,n){return Ar.from(async r=>{let s=await this.invoke(r);if(s.tool_calls?.[0]?.args)return s.tool_calls[0].args;if(typeof s.content=="string")return JSON.parse(s.content);throw new Error("No structured output found")})}},$M=class extends py{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(t=>this.embedQuery(t)))}async embedQuery(e){let t=e;t=t.toLowerCase().replaceAll(/[^a-z ]/g,"");let n=t.length%this.vectorSize,r=n===0?0:this.vectorSize-n,s=t.length+r;t=t.padEnd(s," ");let a=t.length/this.vectorSize,i=[];for(let o=0;o<t.length;o+=a)i.push(t.slice(o,o+a));return i.map(o=>{let c=0;for(let l=0;l<o.length;l+=1)c+=o===" "?0:o.charCodeAt(l);return c%26/26})}},CM=class extends py{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}},NM=class extends wy{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let r=this.response??e;return await n?.handleLLMNewToken(r),r}},PM=class extends wy{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async*_streamResponseChunks(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let r=this.responses?.[0];this.responses=this.responses?.slice(1);for(let s of r??e)await new Promise(a=>setTimeout(a,this.sleep)),yield{text:s,generationInfo:{}},await n?.handleLLMNewToken(s)}},jM=class extends yk{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new An(e))}async addAIMessage(e){this.messages.push(new ct(e))}async clear(){this.messages=[]}},RM=class extends hy{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},LM=class extends Jr{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}},MM=class extends Wi{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(t=>t.trim())}},zM=class extends Iy{lc_namespace=["test","fake"];output=[new ps({pageContent:"foo"}),new ps({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}},DM=class extends Pe{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}},FM=class extends fh{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}},UM=class extends Jr{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}},BM=class zE extends Ly{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(t,{similarity:n,...r}={}){super(t,r),this.similarity=n??TE}async addDocuments(t){let n=t.map(({pageContent:r})=>r);return this.addVectors(await this.embeddings.embedDocuments(n),t)}async addVectors(t,n){let r=t.map((s,a)=>({content:n[a].pageContent,embedding:s,metadata:n[a].metadata}));this.memoryVectors=this.memoryVectors.concat(r)}async similaritySearchVectorWithScore(t,n,r){let s=i=>r?r(new ps({metadata:i.metadata,pageContent:i.content})):!0,a=this.memoryVectors.filter(s);return a.map((i,o)=>({similarity:this.similarity(t,i.embedding),index:o})).sort((i,o)=>i.similarity>o.similarity?-1:0).slice(0,n).map(i=>[new ps({metadata:a[i.index].metadata,pageContent:a[i.index].content}),i.similarity])}static async fromTexts(t,n,r,s){let a=[];for(let i=0;i<t.length;i+=1){let o=Array.isArray(n)?n[i]:n,c=new ps({pageContent:t[i],metadata:o});a.push(c)}return zE.fromDocuments(a,r,s)}static async fromDocuments(t,n,r){let s=new this(n,r);return await s.addDocuments(t),s}static async fromExistingIndex(t,n){return new this(t,n)}},ZM=Q({FakeChatMessageHistory:()=>jM,FakeChatModel:()=>IM,FakeEmbeddings:()=>CM,FakeLLM:()=>NM,FakeListChatMessageHistory:()=>RM,FakeListChatModel:()=>AM,FakeRetriever:()=>zM,FakeRunnable:()=>DM,FakeSplitIntoListParser:()=>MM,FakeStreamingChatModel:()=>TM,FakeStreamingLLM:()=>PM,FakeTool:()=>FM,FakeTracer:()=>LM,FakeVectorStore:()=>BM,SingleRunExtractor:()=>UM,SyntheticEmbeddings:()=>$M}),VM=Q({agents:()=>tT,caches:()=>aA,callbacks__base:()=>wA,callbacks__manager:()=>EN,callbacks__promises:()=>bN,chat_history:()=>C2,document_loaders__base:()=>R2,document_loaders__langsmith:()=>L2,documents:()=>j2,embeddings:()=>D2,errors:()=>aT,example_selectors:()=>q2,index:()=>eT,indexing:()=>J2,language_models__base:()=>cL,language_models__chat_models:()=>ML,language_models__llms:()=>DL,language_models__profile:()=>FL,language_models__structured_output:()=>PL,load__serializable:()=>KI,memory:()=>UL,messages:()=>$2,messages__tool:()=>TT,output_parsers:()=>AL,output_parsers__openai_functions:()=>WL,output_parsers__openai_tools:()=>JL,outputs:()=>DN,prompt_values:()=>G2,prompts:()=>w4,retrievers:()=>E4,retrievers__document_compressors:()=>x4,runnables:()=>gL,runnables__graph:()=>l2,singletons:()=>IN,stores:()=>S4,structured_query:()=>N4,testing:()=>M4,tools:()=>z4,tracers__base:()=>sN,tracers__console:()=>cN,tracers__log_stream:()=>MN,tracers__run_collector:()=>Z4,tracers__tracer_langchain:()=>fN,types__stream:()=>q4,utils__async_caller:()=>JN,utils__chunk_array:()=>H4,utils__context:()=>J4,utils__env:()=>YI,utils__event_source_parse:()=>Y4,utils__format:()=>rM,utils__function_calling:()=>sM,utils__hash:()=>rT,utils__json_patch:()=>yL,utils__json_schema:()=>n2,utils__math:()=>lM,utils__ssrf:()=>mM,utils__standard_schema:()=>XN,utils__stream:()=>AN,utils__testing:()=>ZM,utils__tiktoken:()=>iL,utils__types:()=>$L,vectorstores:()=>SM}),qM=50;function HM(e){let t={};for(let n=e;n&&n.prototype;n=Object.getPrototypeOf(n))Object.assign(t,Reflect.get(n.prototype,"lc_aliases"));return Object.entries(t).reduce((n,[r,s])=>(n[s]=r,n),{})}async function ql(e){let{optionalImportsMap:t,optionalImportEntrypoints:n,importMap:r,secretsMap:s,secretsFromEnv:a,path:i,depth:o,maxDepth:c}=this,l=i.join(".");if(o>c)throw new Error(`Maximum recursion depth (${c}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if(typeof e!="object"||e==null)return e;if(Array.isArray(e))return Promise.all(e.map((h,p)=>ql.call({...this,path:[...i,`${p}`],depth:o+1},h)));let u=e;if(o1(u))return Of(u);if("lc"in u&&"type"in u&&"id"in u&&u.lc===1&&u.type==="secret"){let[h]=u.id;if(h in s)return s[h];if(a){let p=Ur(h);if(p)return p}throw new Error(`Missing secret "${h}" at ${l}`)}if("lc"in u&&"type"in u&&"id"in u&&u.lc===1&&u.type==="not_implemented"){let h=JSON.stringify(u);throw new Error(`Trying to load an object that doesn't implement serialization: ${l} -> ${h}`)}if("lc"in u&&"type"in u&&"id"in u&&"kwargs"in u&&u.lc===1&&u.type==="constructor"){let h=u,p=JSON.stringify(h),[f,...m]=h.id.slice().reverse(),v=m.reverse(),w={langchain_core:VM,langchain:r},y=null,x=[v.join("/")];v[0]==="langchain_community"&&x.push(["langchain",...v.slice(1)].join("/"));let k=x.find(I=>I in t);if(QI.concat(n).includes(v.join("/"))||k)if(k!==void 0)y=await t[k];else throw new Error(`Missing key "${v.join("/")}" for ${l} in load(optionalImportsMap={})`);else{let I;if(v[0]==="langchain"||v[0]==="langchain_core")I=w[v[0]],v.shift();else throw new Error(`Invalid namespace: ${l} -> ${p}`);if(v.length===0)throw new Error(`Invalid namespace: ${l} -> ${p}`);let _;do{if(_=v.join("__"),_ in I)break;v.pop()}while(v.length>0);_ in I&&(y=I[_])}if(typeof y!="object"||y===null)throw new Error(`Invalid namespace: ${l} -> ${p}`);let O=y[f]??Object.values(y).find(I=>typeof I=="function"&&Bd(I)===f);if(typeof O!="function")throw new Error(`Invalid identifer: ${l} -> ${p}`);let $=new O(a1(await ql.call({...this,path:[...i,"kwargs"],depth:o+1},h.kwargs),qI,HM(O)));return Object.defineProperty($.constructor,"name",{value:f}),$}let d={};for(let[h,p]of Object.entries(u))d[h]=await ql.call({...this,path:[...i,h],depth:o+1},p);return d}async function WM(e,t){let n=JSON.parse(e),r={optionalImportsMap:{},optionalImportEntrypoints:[],secretsMap:{},secretsFromEnv:!1,importMap:{},path:["$"],depth:0,maxDepth:qM};return ql.call(r,n)}function JM(e){return e!==null&&e.lc===1&&e.type==="constructor"&&Array.isArray(e.id)}async function Lm(e){if(e&&typeof e=="object"){if(Array.isArray(e))return await Promise.all(e.map(t=>Lm(t)));{let t={};for(let[n,r]of Object.entries(e))t[n]=await Lm(r);if(t.lc===2&&t.type==="undefined")return;if(t.lc===2&&t.type==="constructor"&&Array.isArray(t.id))try{let n=t.id[t.id.length-1],r;switch(n){case"Set":r=Set;break;case"Map":r=Map;break;case"RegExp":r=RegExp;break;case"Error":r=Error;break;default:return t}return t.method?r[t.method](...t.args||[]):new r(...t.args||[])}catch{return t}else if(JM(t))return WM(JSON.stringify(t));return t}}return e}function Kp(e,t,n,r){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:n??[],kwargs:r??{}}}function GM(e){return e===void 0?{lc:2,type:"undefined"}:e instanceof Set||e instanceof Map?Kp(e.constructor,void 0,[Array.from(e)]):e instanceof RegExp?Kp(RegExp,void 0,[e.source,e.flags]):e instanceof Error?Kp(e.constructor,void 0,[e.message]):e?.lg_name==="Send"?{node:e.node,args:e.args}:e}var KM=class{_dumps(e){return new TextEncoder().encode(LI(e,(t,n)=>GM(n)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){let t=JSON.parse(e);return Lm(t)}async loadsTyped(e,t){if(e==="bytes")return typeof t=="string"?new TextEncoder().encode(t):t;if(e==="json")return this._loads(typeof t=="string"?t:new TextDecoder().decode(t));throw new Error(`Unknown serialization type: ${e}`)}};function DE(e){if(typeof e!="object"||e===null)return e;let t=Array.isArray(e)?[]:{};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=DE(e[n]));return t}function FE(){return{v:4,id:s1(-2),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function Tu(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values},channel_versions:{...e.channel_versions},versions_seen:DE(e.versions_seen)}}function UE(e,t){return typeof e=="number"&&typeof t=="number"?Math.sign(e-t):String(e).localeCompare(String(t))}function XM(...e){return e.reduce((t,n,r)=>r===0?n:UE(t,n)>=0?t:n)}var YM={[CI]:-1,[Rl]:-2,[NI]:-3,[PI]:-4},ro=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function QM(e){if(e.length===0)throw new ro("Namespace cannot be empty.");for(let t of e){if(typeof t!="string")throw new ro(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new ro(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(t==="")throw new ro(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if(e[0]==="langgraph")throw new ro(`Root label for namespace cannot be "langgraph". Got: ${e}`)}var ez=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:n,limit:r=10,offset:s=0,query:a}=t;return(await this.batch([{namespacePrefix:e,filter:n,limit:r,offset:s,query:a}]))[0]}async put(e,t,n,r){QM(e),await this.batch([{namespace:e,key:t,value:n,index:r}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:n,maxDepth:r,limit:s=100,offset:a=0}=e,i=[];return t&&i.push({matchType:"prefix",path:t}),n&&i.push({matchType:"suffix",path:n}),(await this.batch([{matchConditions:i.length?i:void 0,maxDepth:r,limit:s,offset:a}]))[0]}start(){}stop(){}},tz=e=>"lg_name"in e&&e.lg_name==="AsyncBatchedStore"?e.store:e,nz=class extends ez{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=tz(e)}get isRunning(){return this.running}async batch(e){throw new Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:n,limit:r=10,offset:s=0,query:a}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:n,limit:r,offset:s,query:a})}async put(e,t,n){return this.enqueueOperation({namespace:e,key:t,value:n})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,n)=>{let r=this.nextKey;this.nextKey+=1,this.queue.set(r,{operation:e,resolve:t,reject:n})})}async processBatchQueue(){for(;this.running;){if(await new Promise(t=>{setTimeout(t,0)}),this.queue.size===0)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:r})=>r),n=await this.store.batch(t);e.forEach(({resolve:r},s)=>{let a=Array.from(e.keys()).indexOf(s);r(n[a])})}catch(t){e.forEach(({reject:n})=>{n(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}},rz=class{serde=new KM;constructor(e){this.serde=e||this.serde}};function BE(e){return e!=null&&e.lg_is_channel===!0}var Ps=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===Ot.unminifiable_name)return!1;throw e}}equals(e){return this===e}},Mm=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function My(e){if(e[Mm]===!0)return e;let t={};for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];BE(r)&&(t[n]=r)}return Object.assign(t,{[Mm]:!0}),t}function Au(e,t){let n=My(e),r={};for(let s in n){if(!Object.prototype.hasOwnProperty.call(n,s))continue;let a=t.channel_values[s];r[s]=n[s].fromCheckpoint(a)}return Object.assign(r,{[Mm]:!0}),r}function Vs(e,t,n,r){let s;if(t===void 0)s=e.channel_values;else{s={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))try{s[a]=t[a].checkpoint()}catch(i){if(i.name!==Ot.unminifiable_name)throw i}}return{v:4,id:r?.id??s1(n),ts:new Date().toISOString(),channel_values:s,channel_versions:e.channel_versions,versions_seen:e.versions_seen}}var sz=e=>e!=null&&e.lc_graph_name==="BinaryOperatorAggregate",$u=class ZE extends Ps{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(t,n){super(),this.operator=t,this.initialValueFactory=n,this.value=n?.()}fromCheckpoint(t){let n=new ZE(this.operator,this.initialValueFactory);return typeof t<"u"&&(n.value=t),n}update(t){let n=t;if(!n.length)return!1;if(this.value===void 0){let s=n[0],[a,i]=xf(s);a?this.value=i:this.value=s,n=n.slice(1)}let r=!1;for(let s of n)if(dI(s)){if(r)throw new Ke("Can receive only one Overwrite value per step.");let[,a]=xf(s);this.value=a,r=!0;continue}else!r&&this.value!==void 0&&(this.value=this.operator(this.value,s));return!0}get(){if(this.value===void 0)throw new Ot;return this.value}checkpoint(){if(this.value===void 0)throw new Ot;return this.value}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:sz(t)?this.operator===t.operator:!1}},yh=class VE extends Ps{lc_graph_name="LastValue";value=[];constructor(t){super(),this.initialValueFactory=t,t&&(this.value=[t()])}fromCheckpoint(t){let n=new VE(this.initialValueFactory);return typeof t<"u"&&(n.value=[t]),n}update(t){if(t.length===0)return!1;if(t.length!==1)throw new Ke("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Ot;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Ot;return this.value[0]}isAvailable(){return this.value.length!==0}},az=class qE extends Ps{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let n=new qE;if(typeof t<"u"){let[r,s]=t;n.value=[r],n.finished=s}return n}update(t){return t.length===0?!1:(this.finished=!1,this.value=[t[t.length-1]],!0)}get(){if(this.value.length===0||!this.finished)throw new Ot;return this.value[0]}checkpoint(){if(this.value.length!==0)return[this.value[0],this.finished]}consume(){return this.finished?(this.finished=!1,this.value=[],!0):!1}finish(){return!this.finished&&this.value.length>0?(this.finished=!0,!0):!1}isAvailable(){return this.value.length!==0&&this.finished}},zm=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return typeof e=="object"&&e!==null&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"}},Ln=function(e){return e?HE(e):new yh};Ln.Root=e=>new zm(e);function HE(e){return typeof e=="object"&&e&&"reducer"in e&&e.reducer?new $u(e.reducer,e.default):typeof e=="object"&&e&&"value"in e&&e.value?new $u(e.value,e.default):new yh}var iz=["tags","metadata","callbacks","configurable"],oz=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal"],cz=25;function WE(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:cz,configurable:{}},n=jt.getRunnableConfig();if(n!==void 0){for(let[r,s]of Object.entries(n))if(s!==void 0)if(iz.includes(r)){let a;Array.isArray(s)?a=[...s]:typeof s=="object"?r==="callbacks"&&"copy"in s&&typeof s.copy=="function"?a=s.copy():a={...s}:a=s,t[r]=a}else t[r]=s}for(let r of e)if(r!==void 0)for(let[s,a]of Object.entries(r))a!==void 0&&oz.includes(s)&&(t[s]=a);for(let[r,s]of Object.entries(t.configurable))t.metadata=t.metadata??{},!r.startsWith("__")&&(typeof s=="string"||typeof s=="number"||typeof s=="boolean")&&!(r in t.metadata)&&(t.metadata[r]=s);return t}function lz(){return jt.getRunnableConfig()}function Xp(e){return e.split(xt).filter(t=>!t.match(/^\d+$/)).map(t=>t.split(Fr)[0]).join(xt)}function uz(e){let t=e.split(xt);for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join(xt)}var Oa=class extends Pe{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,n){return new Promise((r,s)=>{let a=Ve(t,{callbacks:n?.getChild()});jt.runWithConfig(a,async()=>{try{r(await this.func(e,a))}catch(i){s(i)}})})}async invoke(e,t){let n,r=WE(t),s=Mn(this.config,r);return this.trace?n=await this._callWithConfig(this._tracedInvoke,e,s):n=await jt.runWithConfig(s,async()=>this.func(e,s)),Pe.isRunnable(n)&&this.recurse?await jt.runWithConfig(s,async()=>n.invoke(e,s)):n}};function*Kr(e,t){if(t===void 0)yield*e;else for(let n of e)yield[t,n]}async function rs(e){let t=[];for await(let n of await e)t.push(n);return t}function po(e){let t=[];for(let n of e)t.push(n);return t}function Ca(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function dz(e){return typeof e=="object"&&e?.[Symbol.for("LG_SKIP_WRITE")]!==void 0}var na={[Symbol.for("LG_PASSTHROUGH")]:!0};function hl(e){return typeof e=="object"&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}var Yp=Symbol("IS_WRITER"),Jt=class Dm extends Oa{writes;constructor(t,n){let r=`ChannelWrite<${t.map(s=>pn(s)?s.node:"channel"in s?s.channel:"...").join(",")}>`;super({writes:t,name:r,tags:n,trace:!1,func:async(s,a)=>this._write(s,a??{})}),this.writes=t}async _write(t,n){let r=this.writes.map(s=>Qp(s)&&hl(s.value)?{mapper:s.mapper,value:t}:Hl(s)&&hl(s.value)?{channel:s.channel,value:t,skipNone:s.skipNone,mapper:s.mapper}:s);return await Dm.doWrite(n,r),t}static async doWrite(t,n){for(let a of n){if(Hl(a)){if(a.channel===Sn)throw new Ke("Cannot write to the reserved channel TASKS");if(hl(a.value))throw new Ke("PASSTHROUGH value must be replaced")}if(Qp(a)&&hl(a.value))throw new Ke("PASSTHROUGH value must be replaced")}let r=[];for(let a of n)if(pn(a))r.push([Sn,a]);else if(Qp(a)){let i=await a.mapper.invoke(a.value,t);i!=null&&i.length>0&&r.push(...i)}else if(Hl(a)){let i=a.mapper!==void 0?await a.mapper.invoke(a.value,t):a.value;if(dz(i)||a.skipNone&&i===void 0)continue;r.push([a.channel,i])}else throw new Error(`Invalid write entry: ${JSON.stringify(a)}`);let s=t.configurable?.[cs];s(r)}static isWriter(t){return t instanceof Dm||Yp in t&&!!t[Yp]}static registerWriter(t){return Object.defineProperty(t,Yp,{value:!0})}};function Hl(e){return e!==void 0&&typeof e.channel=="string"}function Qp(e){return e!==void 0&&!Hl(e)&&Pe.isRunnable(e.mapper)}var hz=class JE extends Oa{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,n,r=!1){super({trace:!1,func:(s,a)=>JE.doRead(a,this.channel,this.fresh,this.mapper)}),this.fresh=r,this.mapper=n,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(t,n,r,s){let a=t.configurable?.[Xs];if(!a)throw new Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return s?s(a(n,r)):a(n,r)}},Na=new Ko,tc=class fo extends ws{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=Na;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;subgraphs;ends;constructor(t){let{channels:n,triggers:r,mapper:s,writers:a,bound:i,kwargs:o,metadata:c,retryPolicy:l,cachePolicy:u,tags:d,subgraphs:h,ends:p}=t,f=[...t.config?.tags?t.config.tags:[],...d??[]];super({...t,bound:t.bound??Na,config:{...t.config?t.config:{},tags:f}}),this.channels=n,this.triggers=r,this.mapper=s,this.writers=a??this.writers,this.bound=i??this.bound,this.kwargs=o??this.kwargs,this.metadata=c??this.metadata,this.tags=f,this.retryPolicy=l,this.cachePolicy=u,this.subgraphs=h,this.ends=p}getWriters(){let t=[...this.writers];for(;t.length>1&&t[t.length-1]instanceof Jt&&t[t.length-2]instanceof Jt;){let n=t.slice(-2),r=n[0].writes.concat(n[1].writes);t[t.length-2]=new Jt(r,n[0].config?.tags),t.pop()}return t}getNode(){let t=this.getWriters();if(!(this.bound===Na&&t.length===0))return this.bound===Na&&t.length===1?t[0]:this.bound===Na?new xs({first:t[0],middle:t.slice(1,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):t.length>0?new xs({first:this.bound,middle:t.slice(0,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw new Error("channels must be a list");if(typeof this.channels!="object")throw new Error("all channels must be named when using .join()");return new fo({channels:{...this.channels,...Object.fromEntries(t.map(n=>[n,n]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}pipe(t){return Jt.isWriter(t)?new fo({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):this.bound===Na?new fo({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:Pt(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):new fo({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}};function pz(e){return"steps"in e&&Array.isArray(e.steps)}function zy(e){return"lg_is_pregel"in e&&e.lg_is_pregel===!0}function GE(e){let t=[e];for(let n of t){if(zy(n))return n;pz(n)&&t.push(...n.steps)}}var D=e=>BigInt(e),Ge=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),KE=D("0x9E3779B1"),XE=D("0x85EBCA77"),fz=D("0xC2B2AE3D"),ks=D("0x9E3779B185EBCA87"),oa=D("0xC2B2AE3D27D4EB4F"),YE=D("0x165667B19E3779F9"),Dy=D("0x85EBCA77C2B2AE63"),mz=D("0x27D4EB2F165667C5"),gz=D("0x165667919E3779F9"),yz=D("0x9FB21C651E98DF25"),_z=e=>{let t=e.length;if(t%2!==0)throw new Error("String should have an even number of characters");let n=t/2,r=new Uint8Array(n),s=0,a=0;for(;a<n;){let i=e.slice(s,s+=2);r[a]=Number.parseInt(i,16),a+=1}return Ge(r)},fr=_z("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),ii=(D(1)<<D(128))-D(1),Oe=(D(1)<<D(64))-D(1),Cu=(D(1)<<D(32))-D(1),zr=64,QE=zr/8,vz=8,pl=4;function ki(e){if(!e)throw new Error("Assert failed")}function bz(e){let t=new DataView(new ArrayBuffer(8));return t.setBigUint64(0,e,!0),t.getBigUint64(0,!1)}function wz(e){let t=e;return t=(t&D(65535))<<D(16)|(t&D(4294901760))>>D(16),t=(t&D(16711935))<<D(8)|(t&D(4278255360))>>D(8),t}function xz(e,t){return(e&Cu)*(t&Cu)&Oe}function kz(e,t){return(e<<t|e>>D(32)-t)&Cu}function eS(e,t,n){for(let r=0;r<QE;r+=1){let s=t.getBigUint64(r*8,!0),a=s^n.getBigUint64(r*8,!0);e[r^1]+=s,e[r]+=xz(a,a>>D(32))}return e}function Eb(e,t,n,r){for(let s=0;s<r;s+=1)eS(e,Ge(t,s*zr),Ge(n,s*8));return e}function Ez(e,t){for(let n=0;n<QE;n+=1){let r=t.getBigUint64(n*8,!0),s=e[n];s=Fm(s,D(47)),s^=r,s*=KE,e[n]=s&Oe}return e}function fl(e,t){return tS(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(vz,!0))}function Sb(e,t,n){let r=n;return r+=fl(e.slice(0),Ge(t,0*pl)),r+=fl(e.slice(2),Ge(t,4*pl)),r+=fl(e.slice(4),Ge(t,8*pl)),r+=fl(e.slice(6),Ge(t,12*pl)),vr(r&Oe)}function Sz(e,t,n,r,s){let a=e,i=Math.floor((n.byteLength-zr)/8),o=zr*i,c=Math.floor((t.byteLength-1)/o);for(let l=0;l<c;l+=1)a=Eb(a,Ge(t,l*o),n,i),a=s(a,Ge(n,n.byteLength-zr));{let l=Math.floor((t.byteLength-1-o*c)/zr);a=Eb(a,Ge(t,c*o),n,l),a=r(a,Ge(t,t.byteLength-zr),Ge(n,n.byteLength-zr-7))}return a}function Oz(e,t){let n=new BigUint64Array([fz,ks,oa,YE,Dy,XE,mz,KE]);ki(e.byteLength>128),n=Sz(n,e,t,eS,Ez),ki(n.length*8===64);{let r=Sb(n,Ge(t,11),D(e.byteLength)*ks&Oe);return Sb(n,Ge(t,t.byteLength-zr-11),~(D(e.byteLength)*oa)&Oe)<<D(64)|r}}function tS(e,t){let n=e*t&ii;return n&Oe^n>>D(64)}function Ob(e,t,n){return tS((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+n)&Oe,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-n)&Oe)}function Wl(e,t,n,r,s){let a=e&Oe,i=e>>D(64)&Oe;return a+=Ob(t,r,s),a^=n.getBigUint64(0,!0)+n.getBigUint64(8,!0),a&=Oe,i+=Ob(n,Ge(r,16),s),i^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),i&=Oe,i<<D(64)|a}function vr(e){let t=e;return t^=t>>D(37),t*=gz,t&=Oe,t^=t>>D(32),t}function Nu(e){let t=e;return t^=t>>D(33),t*=oa,t&=Oe,t^=t>>D(29),t*=YE,t&=Oe,t^=t>>D(32),t}function Iz(e,t,n){let r=e.byteLength;ki(r>0&&r<=3);let s=D(e.getUint8(r-1))|D(r<<8)|D(e.getUint8(0)<<16)|D(e.getUint8(r>>1)<<24),a=(s^(D(t.getUint32(0,!0))^D(t.getUint32(4,!0)))+n)&Oe,i=(D(t.getUint32(8,!0))^D(t.getUint32(12,!0)))-n;return(Nu((kz(wz(s),D(13))^i)&Oe)&Oe)<<D(64)|Nu(a)}function Fm(e,t){return e^e>>t}function Tz(e,t,n){let r=e.byteLength;ki(r>=4&&r<=8);{let s=e.getUint32(0,!0),a=e.getUint32(r-4,!0),i=((D(s)|D(a)<<D(32))^(t.getBigUint64(16,!0)^t.getBigUint64(24,!0))+n&Oe)*(ks+(D(r)<<D(2)))&ii;return i+=(i&Oe)<<D(65),i&=ii,i^=i>>D(67),Fm(Fm(i&Oe,D(35))*yz&Oe,D(28))|vr(i>>D(64))<<D(64)}}function Az(e,t,n){let r=e.byteLength;ki(r>=9&&r<=16);{let s=(t.getBigUint64(32,!0)^t.getBigUint64(40,!0))+n&Oe,a=(t.getBigUint64(48,!0)^t.getBigUint64(56,!0))-n&Oe,i=e.getBigUint64(0,!0),o=e.getBigUint64(r-8,!0),c=(i^o^s)*ks,l=(c&Oe)+(D(r-1)<<D(54));c=c&(ii^Oe)|l,o^=a,c+=o+(o&Cu)*(XE-D(1))<<D(64),c&=ii,c^=bz(c>>D(64));let u=(c&Oe)*oa;return u+=(c>>D(64))*oa<<D(64),u&=ii,vr(u&Oe)|vr(u>>D(64))<<D(64)}}function $z(e,t){let n=e.byteLength;return ki(n<=16),n>8?Az(e,fr,t):n>=4?Tz(e,fr,t):n>0?Iz(e,fr,t):Nu(t^fr.getBigUint64(64,!0)^fr.getBigUint64(72,!0))|Nu(t^fr.getBigUint64(80,!0)^fr.getBigUint64(88,!0))<<D(64)}function Um(e){return~e+D(1)&Oe}function Cz(e,t,n){let r=D(e.byteLength)*ks&Oe,s=D(e.byteLength-1)/D(32);for(;s>=0;){let o=Number(s);r=Wl(r,Ge(e,16*o),Ge(e,e.byteLength-16*(o+1)),Ge(t,32*o),n),s-=D(1)}let a=r+(r>>D(64))&Oe;a=vr(a);let i=(r&Oe)*ks+(r>>D(64))*Dy+(D(e.byteLength)-n&Oe)*oa;return i&=Oe,i=Um(vr(i)),a|i<<D(64)}function Nz(e,t,n){let r=D(e.byteLength)*ks&Oe;for(let i=32;i<160;i+=32)r=Wl(r,Ge(e,i-32),Ge(e,i-16),Ge(t,i-32),n);r=vr(r&Oe)|vr(r>>D(64))<<D(64);for(let i=160;i<=e.byteLength;i+=32)r=Wl(r,Ge(e,i-32),Ge(e,i-16),Ge(t,3+i-160),n);r=Wl(r,Ge(e,e.byteLength-16),Ge(e,e.byteLength-32),Ge(t,103),Um(n));let s=r+(r>>D(64))&Oe;s=vr(s);let a=(r&Oe)*ks+(r>>D(64))*Dy+(D(e.byteLength)-n&Oe)*oa;return a&=Oe,a=Um(vr(a)),s|a<<D(64)}function Us(e,t=D(0)){let n=new TextEncoder,r=Ge(typeof e=="string"?n.encode(e):e),s=r.byteLength,a=i=>i.toString(16).padStart(32,"0");return s<=16?a($z(r,t)):s<=128?a(Cz(r,fr,t)):s<=240?a(Nz(r,fr,t)):a(Oz(r,fr))}function nS(e){return/^[0-9a-f]{32}$/.test(e)}function oi(e,t,n=!0,r=!1){try{return e[t].get()}catch(s){if(s.name===Ot.unminifiable_name){if(r)return s;if(n)return null}throw s}}function ca(e,t,n=!0){if(Array.isArray(t)){let r={};for(let s of t)try{r[s]=oi(e,s,!n)}catch(a){if(a.name===Ot.unminifiable_name)continue}return r}else return oi(e,t)}function*Pz(e,t){if(e.graph===yr.PARENT)throw new Ke("There is no parent graph.");if(e.goto){let n;Array.isArray(e.goto)?n=e.goto:n=[e.goto];for(let r of n)if(pn(r))yield[Rn,Sn,r];else if(typeof r=="string")yield[Rn,`branch:to:${r}`,"__start__"];else throw new Error(`In Command.send, expected Send or string, got ${typeof r}`)}if(e.resume)if(typeof e.resume=="object"&&Object.keys(e.resume).length&&Object.keys(e.resume).every(nS))for(let[n,r]of Object.entries(e.resume)){let s=t.filter(a=>a[0]===n&&a[1]===hn).map(a=>a[2]).slice(0,1)??[];s.push(r),yield[n,hn,s]}else yield[Rn,hn,e.resume];if(e.update){if(typeof e.update!="object"||!e.update)throw new Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[n,r]of e.update)yield[Rn,n,r];else for(let[n,r]of Object.entries(e.update))yield[Rn,n,r]}}function*rS(e,t){if(t!=null)if(Array.isArray(e)&&typeof t=="object"&&!Array.isArray(t))for(let n in t)e.includes(n)&&(yield[n,t[n]]);else{if(Array.isArray(e))throw new Error('Input chunk must be an object when "inputChannels" is an array');yield[e,t]}}function*ef(e,t,n){Array.isArray(e)?(t===!0||t.find(([r,s])=>e.includes(r)))&&(yield ca(n,e)):(t===!0||t.some(([r,s])=>r===e))&&(yield oi(n,e))}function*jz(e,t,n){let r=t.filter(([o,c])=>(o.config===void 0||!o.config.tags?.includes(pt))&&c[0][0]!==cn&&c[0][0]!==Ue);if(!r.length)return;let s;r.some(([o])=>o.writes.some(([c,l])=>c===ci))?s=r.flatMap(([o])=>o.writes.filter(([c,l])=>c===ci).map(([c,l])=>[o.name,l])):Array.isArray(e)?s=r.flatMap(([o])=>{let{writes:c}=o,l={};for(let[u]of c)e.includes(u)&&(l[u]=(l[u]||0)+1);return Object.values(l).some(u=>u>1)?c.filter(([u])=>e.includes(u)).map(([u,d])=>[o.name,{[u]:d}]):[[o.name,Object.fromEntries(c.filter(([u])=>e.includes(u)))]]}):s=r.flatMap(([o])=>o.writes.filter(([c,l])=>c===e).map(([c,l])=>[o.name,l]));let a={};for(let[o,c]of s)o in a||(a[o]=[]),a[o].push(c);let i={};for(let o in a)if(a[o].length===1){let[c]=a[o];i[o]=c}else i[o]=a[o];n&&(i.__metadata__={cached:n}),yield i}function Fy(e){let t=typeof e[Je];if(t==="number")return 0;if(t==="string")return"";for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=typeof e[n];if(r==="number")return 0;if(r==="string")return"";break}}function Jl(e,t){if(Object.keys(e).length>0){let n=Fy(t);return Object.fromEntries(Object.entries(t).filter(([r,s])=>s>(e[r]??n)))}else return t}function Rz(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}function Yn(e,t){return e===null?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function zs(e,t){let n=t?.parents??{};return Object.keys(n).length>0?Yn(e,{[jn]:{...n,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function Pu(...e){let t=[...new Set(e.filter(Boolean))];if(t.length===0)return{signal:void 0,dispose:void 0};if(t.length===1)return{signal:t[0],dispose:void 0};let n=new AbortController,r=()=>{let a=t.find(i=>i.aborted)?.reason;n.abort(a),t.forEach(i=>i.removeEventListener("abort",r))};t.forEach(a=>a.addEventListener("abort",r,{once:!0}));let s=t.find(a=>a.aborted);return s&&n.abort(s.reason),{signal:n.signal,dispose:()=>{t.forEach(a=>a.removeEventListener("abort",r))}}}var Lz=(e,t)=>{if(!(!e&&!t))return e?t?Array.isArray(e)&&Array.isArray(t)?[...e,...t]:Array.isArray(e)?[...e,t]:Array.isArray(t)?[e,...t]:[e,t]:e:t},Mz=class{func;name;input;retry;cache;callbacks;__lg_type="call";constructor({func:e,name:t,input:n,retry:r,cache:s,callbacks:a}){this.func=e,this.name=t,this.input=n,this.retry=r,this.cache=s,this.callbacks=a}};function zz(e){return typeof e=="object"&&e!==null&&"__lg_type"in e&&e.__lg_type==="call"}function Dz(e,t){return new xs({name:e,first:new Oa({func:n=>t(...n),name:e,trace:!1,recurse:!1}),last:new Jt([{channel:ci,value:na}],[pt])})}var Fz=e=>e!==void 0?e+1:1;function Uz(e,t){if(t==null)return!1;for(let n of e)if(t[n])return!0;return!1}function Bz(e){let t;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t==null?t=e[n]:t=XM(t,e[n]));return t}function ml(e,t,n){let r=Fy(e.channel_versions),s=e.versions_seen[Ue]??{},a=!1;if((e.channel_versions[Je]??r)>(s[Je]??r))a=!0;else for(let o in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,o)&&e.channel_versions[o]>(s[o]??r)){a=!0;break}let i=n.some(o=>t==="*"?!o.config?.tags?.includes(pt):t.includes(o.name));return a&&i}function Gl(e,t,n,r,s=!1){let a=new Set;if(Array.isArray(r))a=new Set(r.filter(o=>n.writes.some(([c,l])=>c===o)));else{for(let[o]of n.writes)if(o===r){a=new Set([o]);break}a=a||new Set}let i;if(s&&a.size>0){let o=Object.fromEntries(Object.entries(t).filter(([u,d])=>a.has(u))),c=Vs(e,o,-1),l=Au(o,c);kn(Tu(c),l,[n],void 0,void 0),i=ca({...t,...l},r)}else i=ca(t,r);return i}function tf(e,t,n){for(let[r,s]of n)if([En,Sn].includes(r)&&s!=null){if(!pn(s))throw new Ke(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(s)}`);if(!(s.node in t))throw new Ke(`Invalid node name "${s.node}" in Send packet`)}e(n)}var Zz=new Set([Og,En,hn,Ue,ci,cn]);function kn(e,t,n,r,s){n.sort((h,p)=>{let f=h.path?.slice(0,3)||[],m=p.path?.slice(0,3)||[];for(let v=0;v<Math.min(f.length,m.length);v+=1){if(f[v]<m[v])return-1;if(f[v]>m[v])return 1}return f.length-m.length});let a=n.some(h=>h.triggers.length>0),i=My(t);for(let h of n){e.versions_seen[h.name]??={};for(let p of h.triggers)p in e.channel_versions&&(e.versions_seen[h.name][p]=e.channel_versions[p])}let o=Bz(e.channel_versions),c=new Set(n.flatMap(h=>h.triggers).filter(h=>!lI.includes(h))),l=!1;for(let h of c)h in i&&i[h].consume()&&r!==void 0&&(e.channel_versions[h]=r(o),l=!0);let u={};for(let h of n)for(let[p,f]of h.writes)Zz.has(p)||p in i&&(u[p]??=[],u[p].push(f));o!=null&&r!=null&&(o=l?r(o):o);let d=new Set;for(let[h,p]of Object.entries(u))if(h in i){let f=i[h],m;try{m=f.update(p)}catch(v){if(v.name===Ke.unminifiable_name){let w=new Ke(`Invalid update for channel "${h}" with values ${JSON.stringify(p)}: ${v.message}`);throw w.lc_error_code=v.lc_error_code,w}else throw v}m&&r!==void 0&&(e.channel_versions[h]=r(o),f.isAvailable()&&d.add(h))}if(a)for(let h in i){if(!Object.prototype.hasOwnProperty.call(i,h))continue;let p=i[h];p.isAvailable()&&!d.has(h)&&p.update([])&&r!==void 0&&(e.channel_versions[h]=r(o),p.isAvailable()&&d.add(h))}if(a&&!Uz(d,s))for(let h in i){if(!Object.prototype.hasOwnProperty.call(i,h))continue;let p=i[h];p.finish()&&r!==void 0&&(e.channel_versions[h]=r(o),p.isAvailable()&&d.add(h))}return d}function*Vz(e,t,n){if(n.updatedChannels!=null&&n.triggerToNodes!=null){let r=new Set;for(let s of n.updatedChannels){let a=n.triggerToNodes[s];for(let i of a??[])r.add(i)}yield*[...r].sort();return}if(!(()=>{for(let r in e.channel_versions)if(e.channel_versions[r]!==null)return!1;return!0})())for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(yield r)}function Qa(e,t,n,r,s,a,i){let o={},c=r[Sn];if(c?.isAvailable()){let l=c.get().length;for(let u=0;u<l;u+=1){let d=Bm([En,u],e,t,n,r,s,a,i);d!==void 0&&(o[d.id]=d)}}for(let l of Vz(e,n,i)){let u=Bm([Nl,l],e,t,n,r,s,a,i);u!==void 0&&(o[u.id]=u)}return o}function Bm(e,t,n,r,s,a,i,o){let{step:c,checkpointer:l,manager:u}=o,d=a.configurable??{},h=d.checkpoint_ns??"";if(e[0]===En&&zz(e[e.length-1])){let p=e[e.length-1],f=Dz(p.name,p.func),m=[En],v=h===""?p.name:`${h}${xt}${p.name}`,w=Wa(JSON.stringify([v,c.toString(),p.name,En,e[1],e[2]]),t.id),y=`${v}${Fr}${w}`,x=[...e.slice(0,3),!0],k={langgraph_step:c,langgraph_node:p.name,langgraph_triggers:m,langgraph_path:x,langgraph_checkpoint_ns:y};if(i){let O=[];return{name:p.name,input:p.input,proc:f,writes:O,config:Ve(Mn(a,{metadata:k,store:o.store??a.store}),{runName:p.name,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[Io]:w,[cs]:$=>tf(I=>O.push(...I),r,$),[Xs]:($,I=!1)=>Gl(t,s,{name:p.name,writes:O,triggers:m,path:x},$,I),[mt]:l??d[mt],[jn]:{...d[jn],[h]:t.id},[ls]:nf({pendingWrites:n??[],taskId:w,currentTaskInput:p.input,resumeMap:a.configurable?.[$l],namespaceHash:Us(y)}),[Cl]:t.channel_values[Ih],checkpoint_id:void 0,checkpoint_ns:y}}),triggers:m,retry_policy:p.retry,cache_key:p.cache?{key:Us((p.cache.keyFunc??JSON.stringify)([p.input])),ns:[Oh,p.name??"__dynamic__"],ttl:p.cache.ttl}:void 0,id:w,path:x,writers:[]}}else return{id:w,name:p.name,interrupts:[],path:x}}else if(e[0]===En){let p=typeof e[1]=="number"?e[1]:parseInt(e[1],10);if(!s[Sn]?.isAvailable())return;let f=s[Sn].get();if(p<0||p>=f.length)return;let m=wf(f[p])&&!pn(f[p])?new Mo(f[p].node,f[p].args):f[p];if(!wf(m)){console.warn(`Ignoring invalid packet ${JSON.stringify(m)} in pending sends.`);return}if(!(m.node in r)){console.warn(`Ignoring unknown node name ${m.node} in pending sends.`);return}let v=[En],w=h===""?m.node:`${h}${xt}${m.node}`,y=Wa(JSON.stringify([w,c.toString(),m.node,En,p.toString()]),t.id),x=`${w}${Fr}${y}`,k={langgraph_step:c,langgraph_node:m.node,langgraph_triggers:v,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:x};if(i){let O=r[m.node],$=O.getNode();if($!==void 0){O.metadata!==void 0&&(k={...k,...O.metadata});let I=[];return{name:m.node,input:m.args,proc:$,subgraphs:O.subgraphs,writes:I,config:Ve(Mn(a,{metadata:k,tags:O.tags,store:o.store??a.store}),{runName:m.node,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[Io]:y,[cs]:_=>tf(P=>I.push(...P),r,_),[Xs]:(_,P=!1)=>Gl(t,s,{name:m.node,writes:I,triggers:v,path:e},_,P),[mt]:l??d[mt],[jn]:{...d[jn],[h]:t.id},[ls]:nf({pendingWrites:n??[],taskId:y,currentTaskInput:m.args,resumeMap:a.configurable?.[$l],namespaceHash:Us(x)}),[Cl]:t.channel_values[Ih],checkpoint_id:void 0,checkpoint_ns:x}}),triggers:v,retry_policy:O.retryPolicy,cache_key:O.cachePolicy?{key:Us((O.cachePolicy.keyFunc??JSON.stringify)([m.args])),ns:[Oh,O.name??"__dynamic__",m.node],ttl:O.cachePolicy.ttl}:void 0,id:y,path:e,writers:O.getWriters()}}}else return{id:y,name:m.node,interrupts:[],path:e}}else if(e[0]===Nl){let p=e[1].toString(),f=r[p];if(f===void 0)return;if(n?.length){let y=h===""?p:`${h}${xt}${p}`,x=Wa(JSON.stringify([y,c.toString(),p,Nl,p]),t.id);if(n.some(k=>k[0]===x&&k[1]!==cn))return}let m=Fy(t.channel_versions);if(m===void 0)return;let v=t.versions_seen[p]??{},w=f.triggers.find(y=>s[y].isAvailable()?(t.channel_versions[y]??m)>(v[y]??m):!1);if(w!==void 0){let y=qz(f,s,i);if(y===void 0)return;let x=h===""?p:`${h}${xt}${p}`,k=Wa(JSON.stringify([x,c.toString(),p,Nl,[w]]),t.id),O=`${x}${Fr}${k}`,$={langgraph_step:c,langgraph_node:p,langgraph_triggers:[w],langgraph_path:e,langgraph_checkpoint_ns:O};if(i){let I=f.getNode();if(I!==void 0){f.metadata!==void 0&&($={...$,...f.metadata});let _=[];return{name:p,input:y,proc:I,subgraphs:f.subgraphs,writes:_,config:Ve(Mn(a,{metadata:$,tags:f.tags,store:o.store??a.store}),{runName:p,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[Io]:k,[cs]:P=>tf(T=>{_.push(...T)},r,P),[Xs]:(P,T=!1)=>Gl(t,s,{name:p,writes:_,triggers:[w],path:e},P,T),[mt]:l??d[mt],[jn]:{...d[jn],[h]:t.id},[ls]:nf({pendingWrites:n??[],taskId:k,currentTaskInput:y,resumeMap:a.configurable?.[$l],namespaceHash:Us(O)}),[Cl]:t.channel_values[Ih],checkpoint_id:void 0,checkpoint_ns:O}}),triggers:[w],retry_policy:f.retryPolicy,cache_key:f.cachePolicy?{key:Us((f.cachePolicy.keyFunc??JSON.stringify)([y])),ns:[Oh,f.name??"__dynamic__",p],ttl:f.cachePolicy.ttl}:void 0,id:k,path:e,writers:f.getWriters()}}}else return{id:k,name:p,interrupts:[],path:e}}}}function qz(e,t,n){let r;if(typeof e.channels=="object"&&!Array.isArray(e.channels)){r={};for(let[s,a]of Object.entries(e.channels))if(e.triggers.includes(a))try{r[s]=oi(t,a,!1)}catch(i){if(i.name===Ot.unminifiable_name)return;throw i}else if(a in t)try{r[s]=oi(t,a,!1)}catch(i){if(i.name===Ot.unminifiable_name)continue;throw i}}else if(Array.isArray(e.channels)){let s=!1;for(let a of e.channels)try{r=oi(t,a,!1),s=!0;break}catch(i){if(i.name===Ot.unminifiable_name)continue;throw i}if(!s)return}else throw new Error(`Invalid channels type, expected list or dict, got ${e.channels}`);return n&&e.mapper!==void 0&&(r=e.mapper(r)),r}function Hz(e,t){if(typeof e.args!="object"||e.args===null)return e;let n={};for(let[r,s]of Object.entries(e.args)){let a=t[r];(!a||a.lc_graph_name!=="UntrackedValue")&&(n[r]=s)}return new Mo(e.node,n)}function nf({pendingWrites:e,taskId:t,currentTaskInput:n,resumeMap:r,namespaceHash:s}){let a=e.find(([o,c])=>o===Rn&&c===hn)?.[2],i={callCounter:0,interruptCounter:-1,resume:(()=>{let o=e.filter(([c,l])=>c===t&&l===hn).flatMap(([c,l,u])=>u);if(r!=null&&s in r){let c=r[s];o.push(c)}return o})(),nullResume:a,subgraphCounter:0,currentTaskInput:n,consumeNullResume:()=>{if(i.nullResume)return delete i.nullResume,e.splice(e.findIndex(([o,c])=>o===Rn&&c===hn),1),a}};return i}var nc={blue:{start:"\x1B[34m",end:"\x1B[0m"},green:{start:"\x1B[32m",end:"\x1B[0m"},yellow:{start:"\x1B[33;1m",end:"\x1B[0m"}},rc=(e,t)=>`${e.start}${t}${e.end}`;function*Ib(e){for(let{id:t,name:n,input:r,config:s,triggers:a,writes:i}of e)s?.tags?.includes(pt)||(yield{id:t,name:n,input:r,triggers:a,interrupts:i.filter(([o,c])=>o===t&&c===Ue).map(([,o])=>o)})}function Wz(e){return typeof e!="object"||e===null?!1:"$writes"in e&&Array.isArray(e.$writes)}function sS(e){let t={};for(let[n,r]of e){let s=String(n);if(s in t){let a=Wz(t[s])?t[s].$writes:[t[s]];a.push(r),t[s]={$writes:a}}else t[s]=r}return t}function*Jz(e,t){for(let[{id:n,name:r,config:s},a]of e)s?.tags?.includes(pt)||(yield{id:n,name:r,result:sS(a.filter(([i])=>Array.isArray(t)?t.includes(i):i===t)),interrupts:a.filter(i=>i[0]===Ue).map(i=>i[1])})}function*Gz(e,t,n,r,s,a,i,o){function c(d){let h={};return d.callbacks!=null&&(h.callbacks=d.callbacks),d.configurable!=null&&(h.configurable=d.configurable),d.maxConcurrency!=null&&(h.max_concurrency=d.maxConcurrency),d.metadata!=null&&(h.metadata=d.metadata),d.recursionLimit!=null&&(h.recursion_limit=d.recursionLimit),d.runId!=null&&(h.run_id=d.runId),d.runName!=null&&(h.run_name=d.runName),d.tags!=null&&(h.tags=d.tags),h}let l=e.configurable?.checkpoint_ns,u={};for(let d of s){if(!(d.subgraphs?.length?d.subgraphs:[d.proc]).find(GE))continue;let h=`${d.name}:${d.id}`;l&&(h=`${l}|${h}`),u[d.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:h}}}yield{config:c(e),values:ca(t,n),metadata:r,next:s.map(d=>d.name),tasks:aS(s,a,u,o),parentConfig:i?c(i):void 0}}function aS(e,t,n,r){return e.map(s=>{let a=t.find(([l,u])=>l===s.id&&u===cn)?.[2],i=t.filter(([l,u])=>l===s.id&&u===Ue).map(([,,l])=>l),o=(()=>{if(a||i.length||!t.length)return;let l=t.findIndex(([u,d])=>u===s.id&&d===ci);if(l>=0)return t[l][2];if(typeof r=="string")return t.find(([u,d])=>u===s.id&&d===r)?.[2];if(Array.isArray(r)){let u=t.filter(([d,h])=>d===s.id&&r.includes(h)).map(([,d,h])=>[d,h]);return u.length?sS(u):void 0}})();if(a)return{id:s.id,name:s.name,path:s.path,error:a,interrupts:i,result:o};let c=n?.[s.id];return{id:s.id,name:s.name,path:s.path,interrupts:i,...c!==void 0?{state:c}:{},result:o}})}function Kz(e,t,n){console.log([`${rc(nc.blue,`[${e}:checkpoint]`)}`,`\x1B[1m State at the end of step ${e}:\x1B[0m
257
+ `,JSON.stringify(ca(t,n),null,2)].join(""))}function iS(e,t){let n=t.length;console.log([`${rc(nc.blue,`[${e}:tasks]`)}`,`\x1B[1m Starting step ${e} with ${n} task${n===1?"":"s"}:\x1B[0m
258
+ `,t.map(r=>`- ${rc(nc.green,String(r.name))} -> ${JSON.stringify(r.input,null,2)}`).join(`
259
+ `)].join(""))}function Xz(e,t,n){let r={};for(let[s,a]of t)n.includes(s)&&(r[s]||(r[s]=[]),r[s].push(a));console.log([`${rc(nc.blue,`[${e}:writes]`)}`,`\x1B[1m Finished step ${e} with writes to ${Object.keys(r).length} channel${Object.keys(r).length!==1?"s":""}:\x1B[0m
260
+ `,Object.entries(r).map(([s,a])=>`- ${rc(nc.yellow,s)} -> ${a.map(i=>JSON.stringify(i)).join(", ")}`).join(`
261
+ `)].join(""))}var Tb=class extends fn{_abortController;_innerReader;constructor(e,t){let n=e.getReader(),r=t??new AbortController;super({start(s){return a();function a(){return n.read().then(({done:i,value:o})=>{if(i){s.close();return}return s.enqueue(o),a()})}}}),this._abortController=r,this._innerReader=n}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock()}get signal(){return this._abortController.signal}},oS=class extends fn{modes;controller;passthroughFn;_closed=!1;get closed(){return this._closed}constructor(e){let t,n=new Promise(r=>{t=r});super({start:r=>{t(r)}}),n.then(r=>{this.controller=r}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){this.passthroughFn?.(e),this.controller.enqueue(e)}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){this.controller.error(e)}},Yz=class extends Ea{name="StreamToolsHandler";streamFn;runs={};constructor(e){super(),this.streamFn=e}handleToolStart(e,t,n,r,s,a,i,o){if(!a||s&&s.includes(pt))return;let c=a.langgraph_checkpoint_ns?.split("|")??[],l={ns:c,toolCallId:o,toolName:i??"unknown",input:t};this.runs[n]=l,this.streamFn([c,"tools",{event:"on_tool_start",toolCallId:l.toolCallId,name:l.toolName,input:t}])}handleToolEvent(e,t){let n=this.runs[t];n&&this.streamFn([n.ns,"tools",{event:"on_tool_event",toolCallId:n.toolCallId,name:n.toolName,data:e}])}handleToolEnd(e,t){let n=this.runs[t];delete this.runs[t],n&&this.streamFn([n.ns,"tools",{event:"on_tool_end",toolCallId:n.toolCallId,name:n.toolName,output:e}])}handleToolError(e,t){let n=this.runs[t];delete this.runs[t],n&&this.streamFn([n.ns,"tools",{event:"on_tool_error",toolCallId:n.toolCallId,name:n.toolName,error:e}])}};function Qz(e){return JSON.stringify(e,function(t,n){let r=this[t];if(r!=null&&typeof r=="object"&&"toDict"in r&&typeof r.toDict=="function"){let{type:s,data:a}=r.toDict();return{...a,type:s}}return n})}function e9(e){return e instanceof Error?{error:e.name,message:e.message}:{error:"Error",message:JSON.stringify(e)}}function Uy(e){return typeof e!="object"||e==null?!1:"configurable"in e&&typeof e.configurable=="object"&&e.configurable!=null}function rf(e){return!Uy(e)||!e.configurable.thread_id?null:{thread_id:e.configurable.thread_id,checkpoint_ns:e.configurable.checkpoint_ns||"",checkpoint_id:e.configurable.checkpoint_id||null,checkpoint_map:e.configurable.checkpoint_map||null}}function Ab(e){if(Uy(e)){let t=Object.fromEntries(Object.entries(e.configurable).filter(([r])=>!r.startsWith("__"))),n={...e,configurable:t};return delete n.callbacks,n}return e}function $b(e){let t={...e,checkpoint:rf(e.config),parent_checkpoint:rf(e.parentConfig),config:Ab(e.config),parent_config:Ab(e.parentConfig),tasks:e.tasks.map(n=>{if(Uy(n.state)){let r=rf(n.state);if(r!=null){let s={...n,checkpoint:r};return delete s.state,s}}return n})};return delete t.parentConfig,t}function t9(e){let t=new TextEncoder;return new ReadableStream({async start(n){let r=s=>{n.enqueue(t.encode(`event: ${s.event}
262
+ data: ${Qz(s.data)}
263
+
264
+ `))};try{for await(let s of e){let[a,i,o]=s,c=o;if(i==="debug"){let l=o;l.type==="checkpoint"&&(c={...l,payload:$b(l.payload)})}i==="checkpoints"&&(c=$b(o)),r({event:a?.length?`${i}|${a.join("|")}`:i,data:c})}}catch(s){r({event:"error",data:e9(s)})}n.close()}})}var gl=Symbol.for("INPUT_DONE"),sf=Symbol.for("INPUT_RESUMING"),n9=25;function r9(...e){return new oS({passthroughFn:t=>{for(let n of e)n.modes.has(t[1])&&n.push(t)},modes:new Set(e.flatMap(t=>Array.from(t.modes)))})}var s9=class extends rz{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let n=this.queue.then(()=>this.cache[e](...t));return this.queue=n.then(()=>{},()=>{}),n}},a9=class cS{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";tasks={};stream;checkpointerPromises=[];isNested;_checkpointerChainedPromise=Promise.resolve();store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let t=!1;if(Je in this.checkpoint.channel_versions)t=!0;else for(let o in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,o)){t=!0;break}let n=this.config.configurable?.[es]!==void 0&&this.config.configurable?.[es],r=this.input===null||this.input===void 0,s=Mt(this.input)&&this.input.resume!=null,a=this.input===sf,i=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return t&&(n||r||s||a||i)}constructor(t){this.input=t.input,this.checkpointer=t.checkpointer,this.checkpointer!==void 0?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=Fz,this.checkpoint=t.checkpoint,this.checkpointMetadata=t.checkpointMetadata,this.checkpointPreviousVersions=t.checkpointPreviousVersions,this.channels=t.channels,this.checkpointPendingWrites=t.checkpointPendingWrites,this.step=t.step,this.stop=t.stop,this.config=t.config,this.checkpointConfig=t.checkpointConfig,this.isNested=t.isNested,this.manager=t.manager,this.outputKeys=t.outputKeys,this.streamKeys=t.streamKeys,this.nodes=t.nodes,this.skipDoneTasks=t.skipDoneTasks,this.store=t.store,this.cache=t.cache?new s9(t.cache):void 0,this.stream=t.stream,this.checkpointNamespace=t.checkpointNamespace,this.prevCheckpointConfig=t.prevCheckpointConfig,this.interruptAfter=t.interruptAfter,this.interruptBefore=t.interruptBefore,this.durability=t.durability,this.debug=t.debug,this.triggerToNodes=t.triggerToNodes}static async initialize(t){let{config:n,stream:r}=t;r!==void 0&&n.configurable?.[iu]!==void 0&&(r=r9(r,n.configurable[iu]));let s=n.configurable?!("checkpoint_id"in n.configurable):!0,a=n.configurable?.[ls];n.configurable&&a&&(a.subgraphCounter>0&&(n=Yn(n,{[gr]:[n.configurable[gr],a.subgraphCounter.toString()].join(xt)})),a.subgraphCounter+=1);let i=Xs in(n.configurable??{});!i&&n.configurable?.checkpoint_ns!==void 0&&n.configurable?.checkpoint_ns!==""&&(n=Yn(n,{checkpoint_ns:"",checkpoint_id:void 0}));let o=n;n.configurable?.[jn]!==void 0&&n.configurable?.[jn]?.[n.configurable?.checkpoint_ns]&&(o=Yn(n,{checkpoint_id:n.configurable[jn][n.configurable?.checkpoint_ns]}));let c=n.configurable?.checkpoint_ns?.split(xt)??[],l=await t.checkpointer?.getTuple(o)??{config:n,checkpoint:FE(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]};o={...n,...l.config,configurable:{checkpoint_ns:"",...n.configurable,...l.config.configurable}};let u=l.parentConfig,d=Tu(l.checkpoint),h={...l.metadata},p=l.pendingWrites??[],f=Au(t.channelSpecs,d),m=(h.step??0)+1,v=m+(n.recursionLimit??n9)+1,w={...d.channel_versions},y=t.store?new nz(t.store):void 0;return y&&await y.start(),new cS({input:t.input,config:n,checkpointer:t.checkpointer,checkpoint:d,checkpointMetadata:h,checkpointConfig:o,prevCheckpointConfig:u,checkpointNamespace:c,channels:f,isNested:i,manager:t.manager,skipDoneTasks:s,step:m,stop:v,checkpointPreviousVersions:w,checkpointPendingWrites:p,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:r,store:y,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes})}_checkpointerPutAfterPrevious(t){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(t.config,t.checkpoint,t.metadata,t.newVersions)),this.checkpointerPromises.push(this._checkpointerChainedPromise)}putWrites(t,n){let r=n;if(r.length===0)return;r.every(([c])=>c in YM)&&(r=Array.from(new Map(r.map(c=>[c[0],c])).values()));let s=!1;for(let c in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,c)&&this.channels[c].lc_graph_name==="UntrackedValue"){s=!0;break}let a=r;s&&(a=r.filter(([c])=>{let l=this.channels[c];return!l||l.lc_graph_name!=="UntrackedValue"}).map(([c,l])=>c===Sn&&pn(l)?[c,Hz(l,this.channels)]:[c,l])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(c=>c[0]!==t);for(let[c,l]of a)this.checkpointPendingWrites.push([t,c,l]);let i=Yn(this.checkpointConfig,{[gr]:this.config.configurable?.checkpoint_ns??"",[bf]:this.checkpoint.id});if(this.durability!=="exit"&&this.checkpointer!=null&&this.checkpointerPromises.push(this.checkpointer.putWrites(i,a,t)),this.tasks&&this._outputWrites(t,r),!n.length||!this.cache||!this.tasks)return;let o=this.tasks[t];o==null||o.cache_key==null||n[0][0]===cn||n[0][0]===Ue||this.cache.set([{key:[o.cache_key.ns,o.cache_key.key],value:o.writes,ttl:o.cache_key.ttl}])}_outputWrites(t,n,r=!1){let s=this.tasks[t];if(s!==void 0){if(s.config!==void 0&&(s.config.tags??[]).includes(pt))return;if(n.length>0)if(n[0][0]===Ue){if(s.path?.[0]===En&&s.path?.[s.path.length-1]===!0)return;let a=n.filter(i=>i[0]===Ue).flatMap(i=>i[1]);this._emit([["updates",{[Ue]:a}],["values",{[Ue]:a}]])}else n[0][0]!==cn&&this._emit(po(Kr(jz(this.outputKeys,[[s,n]],r),"updates")));r||this._emit(po(Kr(Jz([[s,n]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let t=[],n=([i,o])=>`ns:${i.join(",")}|key:${o}`,r=[],s={};for(let i of Object.values(this.tasks))i.cache_key!=null&&!i.writes.length&&(r.push([i.cache_key.ns,i.cache_key.key]),s[n([i.cache_key.ns,i.cache_key.key])]=i);if(r.length===0)return[];let a=await this.cache.get(r);for(let{key:i,value:o}of a){let c=s[n(i)];c!=null&&(c.writes.push(...o),t.push({task:c,result:o}))}return t}async tick(t){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:n=[]}=t;if(this.status!=="pending")throw new Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if(![gl,sf].includes(this.input))await this._first(n);else{if(this.toInterrupt.length>0)throw this.status="interrupt_before",new si;if(Object.values(this.tasks).every(s=>s.writes.length>0)){let s=Object.values(this.tasks).flatMap(i=>i.writes);this.updatedChannels=kn(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes);let a=await rs(Kr(ef(this.outputKeys,s,this.channels),"values"));if(this._emit(a),this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),ml(this.checkpoint,this.interruptAfter,Object.values(this.tasks)))throw this.status="interrupt_after",new si;this.config.configurable?.[es]!==void 0&&delete this.config.configurable?.[es]}else return!1}if(this.step>this.stop)return this.status="out_of_steps",!1;if(this.tasks=Qa(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels}),this.checkpointer&&this._emit(await rs(Kr(Gz(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,Object.values(this.tasks),this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),Object.values(this.tasks).length===0)return this.status="done",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[s,a,i]of this.checkpointPendingWrites){if(a===cn||a===Ue||a===hn)continue;let o=Object.values(this.tasks).find(c=>c.id===s);o&&o.writes.push([a,i])}for(let s of Object.values(this.tasks))s.writes.length>0&&this._outputWrites(s.id,s.writes,!0)}if(Object.values(this.tasks).every(s=>s.writes.length>0))return this.tick({inputKeys:n});if(ml(this.checkpoint,this.interruptBefore,Object.values(this.tasks)))throw this.status="interrupt_before",new si;let r=await rs(Kr(Ib(Object.values(this.tasks)),"tasks"));return this._emit(r),!0}async finishAndHandleError(t){this.durability==="exit"&&(!this.isNested||typeof t<"u"||this.checkpointNamespace.every(r=>!r.includes(Fr)))&&(this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let n=this._suppressInterrupt(t);return(n||t===void 0)&&(this.output=ca(this.channels,this.outputKeys)),n&&(this.tasks!==void 0&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(r=>r.writes.length>0)&&(this.updatedChannels=kn(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emit(po(Kr(ef(this.outputKeys,Object.values(this.tasks).flatMap(r=>r.writes),this.channels),"values")))),Ha(t)&&!t.interrupts.length&&this._emit([["updates",{[Ue]:[]}],["values",{[Ue]:[]}]])),n}async acceptPush(t,n,r){if(this.interruptAfter?.length>0&&ml(this.checkpoint,this.interruptAfter,[t])){this.toInterrupt.push(t);return}let s=Bm([En,t.path??[],n,t.id,r],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,t.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(!s)return;if(this.interruptBefore?.length>0&&ml(this.checkpoint,this.interruptBefore,[s])){this.toInterrupt.push(s);return}this._emit(po(Kr(Ib([s]),"tasks"))),this.debug&&iS(this.step,[s]),this.tasks[s.id]=s,this.skipDoneTasks&&this._matchWrites({[s.id]:s});let a=await this._matchCachedWrites();for(let{task:i}of a)this._outputWrites(i.id,i.writes,!0);return s}_suppressInterrupt(t){return Ha(t)&&!this.isNested}async _first(t){let{configurable:n}=this.config,r=n?.[ls];if(r&&r.nullResume!==void 0&&this.putWrites(Rn,[[hn,r.nullResume]]),Mt(this.input)){let i=this.input.resume!=null;if(this.input.resume!=null&&typeof this.input.resume=="object"&&Object.keys(this.input.resume).every(nS)&&(this.config.configurable??={},this.config.configurable[$l]=this.input.resume),i&&this.checkpointer==null)throw new Error("Cannot use Command(resume=...) without checkpointer");let o={};for(let[c,l,u]of Pz(this.input,this.checkpointPendingWrites))o[c]??=[],o[c].push([l,u]);if(Object.keys(o).length===0)throw new C_("Received empty Command input");for(let[c,l]of Object.entries(o))this.putWrites(c,l)}let s=(this.checkpointPendingWrites??[]).filter(i=>i[0]===Rn).map(i=>i.slice(1));s.length>0&&kn(this.checkpoint,this.channels,[{name:Rr,writes:s,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let a=Mt(this.input)&&s.length>0;if(this.isResuming||a){for(let o in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,o)&&this.checkpoint.channel_versions[o]!==void 0){let c=this.checkpoint.channel_versions[o];this.checkpoint.versions_seen[Ue]={...this.checkpoint.versions_seen[Ue],[o]:c}}let i=await rs(Kr(ef(this.outputKeys,!0,this.channels),"values"));this._emit(i)}if(this.isResuming)this.input=sf;else if(a)await this._putCheckpoint({source:"input"}),this.input=gl;else{let i=await rs(rS(t,this.input));if(i.length>0){let o=Qa(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=kn(this.checkpoint,this.channels,Object.values(o).concat([{name:Rr,writes:i,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes),await this._putCheckpoint({source:"input"}),this.input=gl}else if(es in(this.config.configurable??{}))this.input=gl;else throw new C_(`Received no input writes for ${JSON.stringify(t,null,2)}`)}this.isNested||(this.config=Yn(this.config,{[es]:this.isResuming}))}_emit(t){for(let[n,r]of t)if(this.stream.modes.has(n)&&this.stream.push([this.checkpointNamespace,n,r]),(n==="checkpoints"||n==="tasks")&&this.stream.modes.has("debug")){let s=n==="checkpoints"?this.step-1:this.step,a=new Date().toISOString(),i=n==="checkpoints"?"checkpoint":typeof r=="object"&&r!=null&&"result"in r?"task_result":"task";this.stream.push([this.checkpointNamespace,"debug",{step:s,type:i,timestamp:a,payload:r}])}}_putCheckpoint(t){let n=this.checkpointMetadata===t,r=this.checkpointer!=null&&(this.durability!=="exit"||n),s=a=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=Yn(this.checkpointConfig,{[gr]:this.config.configurable?.checkpoint_ns??""});let i={...this.checkpoint.channel_versions},o=Jl(this.checkpointPreviousVersions,i);this.checkpointPreviousVersions=i,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:Tu(a),metadata:{...this.checkpointMetadata},newVersions:o}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};n||(this.checkpointMetadata={...t,step:this.step,parents:this.config.configurable?.[jn]??{}}),this.checkpoint=Vs(this.checkpoint,r?this.channels:void 0,this.step,n?{id:this.checkpoint.id}:void 0),r&&s(this.checkpoint),n||(this.step+=1)}_flushPendingWrites(){if(this.checkpointer==null||this.checkpointPendingWrites.length===0)return;let t=Yn(this.checkpointConfig,{[gr]:this.config.configurable?.checkpoint_ns??"",[bf]:this.checkpoint.id}),n={};for(let[r,s,a]of this.checkpointPendingWrites)n[r]??=[],n[r].push([s,a]);for(let[r,s]of Object.entries(n))this.checkpointerPromises.push(this.checkpointer.putWrites(t,s,r))}_matchWrites(t){for(let[n,r,s]of this.checkpointPendingWrites){if(r===cn||r===Ue||r===hn)continue;let a=Object.values(t).find(i=>i.id===n);a&&a.writes.push([r,s])}for(let n of Object.values(t))n.writes.length>0&&this._outputWrites(n.id,n.writes,!0)}};function i9(e){return Nt(e?.message)}var o9=class extends Ea{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,n,r=!1){if(r&&t.id!==void 0&&this.seen[t.id]!==void 0)return;let s=t.id;n!=null&&(Lg(t)?s??=`run-${n}-tool-${t.tool_call_id}`:((s==null||s===`run-${n}`)&&(s=this.stableMessageIdMap[n]??s??`run-${n}`),this.stableMessageIdMap[n]??=s)),s!==t.id&&(t.id=s,t.lc_kwargs.id=s),t.id!=null&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,n,r,s,a,i,o){i&&(!a||!a.includes(cI)&&!a.includes("nostream"))&&(this.metadatas[n]=[i.langgraph_checkpoint_ns.split("|"),{tags:a,name:o,...i}])}handleLLMNewToken(e,t,n,r,s,a){let i=a?.chunk;this.emittedChatModelRunIds[n]=!0,this.metadatas[n]!==void 0&&(i9(i)?this._emit(this.metadatas[n],i.message,n):this._emit(this.metadatas[n],new ir({content:e}),n))}handleLLMEnd(e,t){if(this.metadatas[t]!==void 0){if(!this.emittedChatModelRunIds[t]){let n=e.generations?.[0]?.[0];Nt(n?.message)&&this._emit(this.metadatas[t],n?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,n,r,s,a,i,o){if(a!==void 0&&o===a.langgraph_node&&(s===void 0||!s.includes(pt))&&(this.metadatas[n]=[a.langgraph_checkpoint_ns.split("|"),{tags:s,name:o,...a}],typeof t=="object")){for(let c of Object.values(t))if((Nt(c)||Do(c))&&c.id!==void 0)this.seen[c.id]=c;else if(Array.isArray(c))for(let l of c)(Nt(l)||Do(l))&&l.id!==void 0&&(this.seen[l.id]=l)}}handleChainEnd(e,t){let n=this.metadatas[t];if(delete this.metadatas[t],n!==void 0){if(Nt(e))this._emit(n,e,t,!0);else if(Array.isArray(e))for(let r of e)Nt(r)&&this._emit(n,r,t,!0);else if(e!=null&&typeof e=="object"){for(let r of Object.values(e))if(Nt(r))this._emit(n,r,t,!0);else if(Array.isArray(r))for(let s of r)Nt(s)&&this._emit(n,s,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}},c9=500,l9=2,u9=128e3,d9=3,h9=[400,401,402,403,404,405,406,407,409],p9=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||e.name==="AbortError"||e.name==="GraphValueError"||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&h9.includes(+t)||e?.error?.code==="insufficient_quota")};async function lS(e,t,n,r){let s=e.retry_policy??t,a=s!==void 0?s.initialInterval??c9:0,i=0,o,c,{config:l}=e;for(n&&(l=Yn(l,n)),l={...l,signal:r};!r?.aborted;){e.writes.splice(0,e.writes.length),o=void 0;try{c=await e.proc.invoke(e.input,l);break}catch(u){if(o=u,o.pregelTaskId=e.id,pI(o)){let p=l?.configurable?.checkpoint_ns,f=o.command;if(f.graph===p){for(let m of e.writers)await m.invoke(f,l);o=void 0;break}else if(f.graph===yr.PARENT){let m=uz(p);o.command=new yr({...o.command,graph:m})}}if(jl(o)||s===void 0||(i+=1,i>=(s.maxAttempts??d9))||!(s.retryOn??p9)(o))break;a=Math.min(s.maxInterval??u9,a*(s.backoffFactor??l9));let d=s.jitter?Math.floor(a+Math.random()*1e3):a;await new Promise(p=>setTimeout(p,d));let h=o.name??o.constructor.unminifiable_name??o.constructor.name;(s?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${a.toFixed(2)}ms (attempt ${i}) after ${h}: ${o}`),l=Yn(l,{[es]:!0})}}return{task:e,result:c,error:o,signalAborted:r?.aborted}}var Zm=Symbol.for("promiseAdded");function f9(){let e={next:()=>{},wait:Promise.resolve(Zm)};function t(n){e.next=()=>{e.wait=new Promise(t),n(Zm)}}return e.wait=new Promise(t),e}var m9=class{nodeFinished;loop;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let{timeout:t,retryPolicy:n,onStepWrite:r,maxConcurrency:s}=e,a=new Set,i,o=new AbortController,c=o.signal,l=t?AbortSignal.timeout(t):void 0,u=Object.values(this.loop.tasks).filter(f=>f.writes.length===0),{signals:d,disposeCombinedSignal:h}=this._initializeAbortSignals({exceptionSignal:c,stepTimeoutSignal:l,signal:e.signal}),p=this._executeTasksWithRetry(u,{signals:d,retryPolicy:n,maxConcurrency:s});for await(let{task:f,error:m,signalAborted:v}of p)this._commit(f,m),Ha(m)||jl(m)&&!Ha(i)?i=m:m&&(a.size===0||!v)&&(o.abort(),a.add(m));if(h?.(),r?.(this.loop.step,Object.values(this.loop.tasks).map(f=>f.writes).flat()),a.size===1)throw Array.from(a)[0];if(a.size>1)throw new AggregateError(Array.from(a),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(Ha(i)||jl(i)&&this.loop.isNested)throw i}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:n}){let r=this.loop.config.configurable?.[I_]??{},s=r.externalAbortSignal??n,a=t??r.timeoutAbortSignal,{signal:i,dispose:o}=Pu(s,a,e),c={externalAbortSignal:s,timeoutAbortSignal:a,composedAbortSignal:i};return this.loop.config=Yn(this.loop.config,{[I_]:c}),{signals:c,disposeCombinedSignal:o}}async*_executeTasksWithRetry(e,t){let{retryPolicy:n,maxConcurrency:r,signals:s}=t??{},a=f9(),i={},o={executingTasksMap:i,barrier:a,retryPolicy:n,scheduleTask:async(h,p,f)=>this.loop.acceptPush(h,p,f)};if(s?.composedAbortSignal?.aborted)throw new Error("Abort");let c=0,l,u=Pu(s?.externalAbortSignal,s?.timeoutAbortSignal),d=u.signal?new Promise((h,p)=>{l=()=>p(new Error("Abort")),u.signal?.addEventListener("abort",l,{once:!0})}):void 0;for(;(c===0||Object.keys(i).length>0)&&e.length;){for(;Object.values(i).length<(r??e.length)&&c<e.length;c+=1){let p=e[c];i[p.id]=lS(p,n,{[Sg]:uS?.bind(o,this,p)},s?.composedAbortSignal).catch(f=>({task:p,error:f,signalAborted:s?.composedAbortSignal?.aborted}))}let h=await Promise.race([...Object.values(i),...d?[d]:[],a.wait]);h!==Zm&&(yield h,l!=null&&(u.signal?.removeEventListener("abort",l),u.dispose?.()),delete i[h.task.id])}}_commit(e,t){if(t!==void 0)if(Ha(t)){if(t.interrupts.length){let n=t.interrupts.map(s=>[Ue,s]),r=e.writes.filter(s=>s[0]===hn);r.length&&n.push(...r),this.loop.putWrites(e.id,n)}}else jl(t)&&e.writes.length?this.loop.putWrites(e.id,e.writes):this.loop.putWrites(e.id,[[cn,{message:t.message,name:t.name}]]);else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes(pt))&&this.nodeFinished(String(e.name)),e.writes.length===0&&e.writes.push([Og,null]),this.loop.putWrites(e.id,e.writes)}};async function uS(e,t,n,r,s,a={}){let i=t.config?.configurable?.[ls];if(!i)throw new Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let o=i.callCounter;i.callCounter+=1;let c=new Mz({func:n,name:r,input:s,cache:a.cache,retry:a.retry,callbacks:a.callbacks}),l=await this.scheduleTask(t,o,c);if(!l)return;let u=this.executingTasksMap[l.id];if(u!==void 0)return u;if(l.writes.length>0){let d=l.writes.filter(([p])=>p===ci),h=l.writes.filter(([p])=>p===cn);if(d.length>0){if(d.length===1)return Promise.resolve(d[0][1]);throw new Error(`BUG: multiple returns found for task ${l.name}__${l.id}`)}if(h.length>0){if(h.length===1){let p=h[0][1],f=p instanceof Error?p:new Error(String(p));return Promise.reject(f)}throw new Error(`BUG: multiple errors found for task ${l.name}__${l.id}`)}return}else{let d=lS(l,a.retry,{[Sg]:uS.bind(this,e,l)});return this.executingTasksMap[l.id]=d,this.barrier.next(),d.then(({result:h,error:p})=>p?Promise.reject(p):h)}}var Nr=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function g9({nodes:e,channels:t,inputChannels:n,outputChannels:r,streamChannels:s,interruptAfterNodes:a,interruptBeforeNodes:i}){if(!t)throw new Nr("Channels not provided");let o=new Set,c=new Set;for(let[l,u]of Object.entries(e)){if(l===Ue)throw new Nr(`"Node name ${Ue} is reserved"`);if(u.constructor===tc)u.triggers.forEach(d=>o.add(d));else throw new Nr(`Invalid node type ${typeof u}, expected PregelNode`)}for(let l of o)if(!(l in t))throw new Nr(`Subscribed channel '${String(l)}' not in channels`);if(Array.isArray(n)){if(n.every(l=>!o.has(l)))throw new Nr(`None of the input channels ${n} are subscribed to by any node`)}else if(!o.has(n))throw new Nr(`Input channel ${String(n)} is not subscribed to by any node`);Array.isArray(r)?r.forEach(l=>c.add(l)):c.add(r),s&&!Array.isArray(s)?c.add(s):Array.isArray(s)&&s.forEach(l=>c.add(l));for(let l of c)if(!(l in t))throw new Nr(`Output channel '${String(l)}' not in channels`);if(a&&a!=="*"){for(let l of a)if(!(l in e))throw new Nr(`Node ${String(l)} not in nodes`)}if(i&&i!=="*"){for(let l of i)if(!(l in e))throw new Nr(`Node ${String(l)} not in nodes`)}}function Cb(e,t){if(Array.isArray(e)){for(let n of e)if(!(n in t))throw new Error(`Key ${String(n)} not found in channels`)}else if(!(e in t))throw new Error(`Key ${String(e)} not found in channels`)}var y9=class dS extends Ps{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(t){super(),this.unique=t?.unique??this.unique,this.accumulate=t?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let n=new dS({unique:this.unique,accumulate:this.accumulate});return typeof t<"u"&&(n.seen=new Set(t[0]),n.values=t[1]),n}update(t){let n=!1;this.accumulate||(n=this.values.length>0,this.values=[]);let r=t.flat();if(r.length>0)if(this.unique)for(let s of r)this.seen.has(s)||(n=!0,this.seen.add(s),this.values.push(s));else n=!0,this.values.push(...r);return n}get(){if(this.values.length===0)throw new Ot;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return this.values.length!==0}};function _9(e){let t=jt.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let n=t.configurable;if(!n)throw new Error("No configurable found in config");if(!n[mt])throw new Pl("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=n[ls];r.interruptCounter+=1;let s=r.interruptCounter;if(r.resume.length>0&&s<r.resume.length)return n[cs]?.([[hn,r.resume]]),r.resume[s];if(r.nullResume!==void 0){if(r.resume.length!==s)throw new Error(`Resume length mismatch: ${r.resume.length} !== ${s}`);let i=r.consumeNullResume();return r.resume.push(i),n[cs]?.([[hn,r.resume]]),i}let a=n[gr]?.split(xt);throw new si([{id:a?Us(a.join(xt)):void 0,value:e}])}var v9=class{static subscribeTo(e,t){let{key:n,tags:r}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&n!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let s;return typeof e=="string"?n?s={[n]:e}:s=[e]:s=Object.fromEntries(e.map(a=>[a,a])),new tc({channels:s,triggers:Array.isArray(e)?e:[e],tags:r})}static writeTo(e,t){let n=[];for(let r of e)n.push({channel:r,value:na,skipNone:!1});for(let[r,s]of Object.entries(t??{}))Pe.isRunnable(s)||typeof s=="function"?n.push({channel:r,value:na,skipNone:!0,mapper:Pt(s)}):n.push({channel:r,value:s,skipNone:!1});return new Jt(n)}},b9=class extends Pe{lc_namespace=["langgraph","pregel"];invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},w9=class extends b9{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,Sn in this.channels&&"lc_graph_name"in this.channels[Sn]&&this.channels[Sn].lc_graph_name!=="Topic")throw new Error(`Channel '${Sn}' is reserved and cannot be used in the graph.`);this.channels[Sn]=new y9({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.autoValidate&&this.validate()}withConfig(e){let t=Mn(this.config,e);return new this.constructor({...this,config:t})}validate(){g9({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let n of t.triggers)this.triggerToNodes[n]??=[],this.triggerToNodes[n].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[n,r]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(n))continue;let s=r.subgraphs?.length?r.subgraphs:[r.bound];for(let a of s){let i=GE(a);if(i!==void 0){if(n===e){yield[n,i];return}if(e===void 0&&(yield[n,i]),t){let o=e;e!==void 0&&(o=e.slice(n.length+1));for(let[c,l]of i.getSubgraphs(o,t))yield[`${n}${xt}${c}`,l]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:n,applyPendingWrites:r=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let s=Au(this.channels,t.checkpoint);if(t.pendingWrites?.length){let d=t.pendingWrites.filter(([h,p])=>h===Rn).map(([h,p,f])=>[String(p),f]);d.length>0&&kn(t.checkpoint,s,[{name:Rr,writes:d,triggers:[]}],void 0,this.triggerToNodes)}let a=Object.values(Qa(t.checkpoint,t.pendingWrites,this.nodes,s,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),i=await rs(this.getSubgraphsAsync()),o=t.config.configurable?.checkpoint_ns??"",c={};for(let d of a){let h=i.find(([f])=>f===d.name);if(!h)continue;let p=`${String(d.name)}${Fr}${d.id}`;if(o&&(p=`${o}${xt}${p}`),n===void 0){let f={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}};c[d.id]=f}else{let f={configurable:{[mt]:n,thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}},m=h[1];c[d.id]=await m.getState(f,{subgraphs:!0})}}if(r&&t.pendingWrites?.length){let d=Object.fromEntries(a.map(p=>[p.id,p]));for(let[p,f,m]of t.pendingWrites)[cn,Ue,Rl].includes(f)||p in d&&d[p].writes.push([String(f),m]);let h=a.filter(p=>p.writes.length>0);h.length>0&&kn(t.checkpoint,s,h,void 0,this.triggerToNodes)}let l=t?.metadata;l&&t?.config?.configurable?.thread_id&&(l={...l,thread_id:t.config.configurable.thread_id});let u=a.filter(d=>d.writes.length===0).map(d=>d.name);return{values:ca(s,this.streamChannelsAsIs),next:u,tasks:aS(a,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:l,config:zs(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let n=e.configurable?.[mt]??this.checkpointer;if(!n)throw new Pl("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.[mt]===void 0){let i=Xp(r);for await(let[o,c]of this.getSubgraphsAsync(i,!0))if(o===i)return await c.getState(Ca(e,{[mt]:n}),{subgraphs:t?.subgraphs});throw new Error(`Subgraph with namespace "${i}" not found.`)}let s=Mn(this.config,e),a=await n.getTuple(e);return await this._prepareStateSnapshot({config:s,saved:a,subgraphCheckpointer:t?.subgraphs?n:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let n=e.configurable?.[mt]??this.checkpointer;if(!n)throw new Pl("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.[mt]===void 0){let a=Xp(r);for await(let[i,o]of this.getSubgraphsAsync(a,!0))if(i===a){yield*o.getStateHistory(Ca(e,{[mt]:n}),t);return}throw new Error(`Subgraph with namespace "${a}" not found.`)}let s=Mn(this.config,e,{configurable:{checkpoint_ns:r}});for await(let a of n.list(s,t))yield this._prepareStateSnapshot({config:a.config,saved:a})}async bulkUpdateState(e,t){let n=e.configurable?.[mt]??this.checkpointer;if(!n)throw new Pl("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(t.length===0)throw new Error("No supersteps provided");if(t.some(i=>i.updates.length===0))throw new Error("No updates provided");let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.[mt]===void 0){let i=Xp(r);for await(let[,o]of this.getSubgraphsAsync(i,!0))return await o.bulkUpdateState(Ca(e,{[mt]:n}),t);throw new Error(`Subgraph "${i}" not found`)}let s=async(i,o)=>{let c=this.config?Mn(this.config,i):i,l=await n.getTuple(c),u=l!==void 0?Tu(l.checkpoint):FE(),d={...l?.checkpoint.channel_versions},h=l?.metadata?.step??-1,p=Ca(c,{checkpoint_ns:c.configurable?.checkpoint_ns??""}),f=c.metadata??{};l?.config.configurable&&(p=Ca(c,l.config.configurable),f={...l.metadata,...f});let{values:m,asNode:v}=o[0];if(m==null&&v===void 0){if(o.length>1)throw new Ke("Cannot create empty checkpoint with multiple updates");return zs(await n.put(p,Vs(u,void 0,h),{source:"update",step:h+1,parents:l?.metadata?.parents??{}},{}),l?l.metadata:void 0)}let w=Au(this.channels,u);if(m===null&&v===Re){if(o.length>1)throw new Ke("Cannot apply multiple updates when clearing state");if(l){let I=Qa(u,l.pendingWrites||[],this.nodes,w,l.config,!0,{step:(l.metadata?.step??-1)+1,checkpointer:n,store:this.store}),_=(l.pendingWrites||[]).filter(P=>P[0]===Rn).map(P=>P.slice(1));_.length>0&&kn(u,w,[{name:Rr,writes:_,triggers:[]}],n.getNextVersion.bind(n),this.triggerToNodes);for(let[P,T,Z]of l.pendingWrites||[])[cn,Ue,Rl].includes(T)||P in I&&I[P].writes.push([T,Z]);kn(u,w,Object.values(I),n.getNextVersion.bind(n),this.triggerToNodes)}return zs(await n.put(p,Vs(u,w,h),{...f,source:"update",step:h+1,parents:l?.metadata?.parents??{}},Jl(d,u.channel_versions)),l?l.metadata:void 0)}if(v===aI){if(o.length>1)throw new Ke("Cannot copy checkpoint with multiple updates");if(l==null)throw new Ke("Cannot copy a non-existent checkpoint");let I=T=>!Array.isArray(T)||T.length===0?!1:T.every(Z=>Array.isArray(Z)&&Z.length===2),_=Vs(u,void 0,h),P=await n.put(l.parentConfig??Ca(l.config,{checkpoint_id:void 0}),_,{source:"fork",step:h+1,parents:l.metadata?.parents??{}},{});if(I(m)){let T=Qa(_,l.pendingWrites,this.nodes,w,P,!1,{step:h+2}),Z=Object.values(T).reduce((et,{name:B,id:M})=>(et[B]??=[],et[B].push({id:M}),et),{}),ze=m.reduce((et,B)=>{let[M,z]=B;et[z]??=[];let ee=et[z].length,oe=Z[z]?.[ee]?.id;return et[z].push({values:M,asNode:z,taskId:oe}),et},{});return s(zs(P,l.metadata),Object.values(ze).flat())}return zs(P,l.metadata)}if(v===Rr){if(o.length>1)throw new Ke("Cannot apply multiple updates when updating as input");let I=await rs(rS(this.inputChannels,m));if(I.length===0)throw new Ke(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);kn(u,w,[{name:Rr,writes:I,triggers:[]}],n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let _=l?.metadata?.step!=null?l.metadata.step+1:-1,P=await n.put(p,Vs(u,w,_),{source:"input",step:_,parents:l?.metadata?.parents??{}},Jl(d,u.channel_versions));return await n.putWrites(P,I,Wa(Rr,u.id)),zs(P,l?l.metadata:void 0)}if(c.configurable?.checkpoint_id===void 0&&l?.pendingWrites!==void 0&&l.pendingWrites.length>0){let I=Qa(u,l.pendingWrites,this.nodes,w,l.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(l.metadata?.step??-1)+1}),_=(l.pendingWrites??[]).filter(T=>T[0]===Rn).map(T=>T.slice(1));_.length>0&&kn(l.checkpoint,w,[{name:Rr,writes:_,triggers:[]}],void 0,this.triggerToNodes);for(let[T,Z,ze]of l.pendingWrites)[cn,Ue,Rl].includes(Z)||I[T]===void 0||I[T].writes.push([Z,ze]);let P=Object.values(I).filter(T=>T.writes.length>0);P.length>0&&kn(u,w,P,void 0,this.triggerToNodes)}let y=Object.values(u.versions_seen).map(I=>Object.values(I)).flat().find(I=>!!I),x=[];if(o.length===1){let{values:I,asNode:_,taskId:P}=o[0];if(_===void 0&&Object.keys(this.nodes).length===1)[_]=Object.keys(this.nodes);else if(_===void 0&&y===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(_=this.inputChannels);else if(_===void 0){let T=Object.entries(u.versions_seen).map(([Z,ze])=>Object.values(ze).map(et=>[et,Z])).flat().filter(([Z,ze])=>ze!==Ue).sort(([Z],[ze])=>UE(Z,ze));T&&(T.length===1?_=T[0][1]:T[T.length-1][0]!==T[T.length-2][0]&&(_=T[T.length-1][1]))}if(_===void 0)throw new Ke('Ambiguous update, specify "asNode"');x.push({values:I,asNode:_,taskId:P})}else for(let{asNode:I,values:_,taskId:P}of o){if(I==null)throw new Ke('"asNode" is required when applying multiple updates');x.push({values:_,asNode:I,taskId:P})}let k=[];for(let{asNode:I,values:_,taskId:P}of x){if(this.nodes[I]===void 0)throw new Ke(`Node "${I.toString()}" does not exist`);let T=this.nodes[I].getWriters();if(!T.length)throw new Ke(`No writers found for node "${I.toString()}"`);k.push({name:I,input:_,proc:T.length>1?xs.from(T,{omitSequenceTags:!0}):T[0],writes:[],triggers:[Ue],id:P??Wa(Ue,u.id),writers:[]})}for(let I of k)await I.proc.invoke(I.input,Ve({...c,store:c?.store??this.store},{runName:c.runName??`${this.getName()}UpdateState`,configurable:{[cs]:_=>I.writes.push(..._),[Xs]:(_,P=!1)=>Gl(u,w,I,_,P)}}));for(let I of k){let _=I.writes.filter(P=>P[0]!==En);l!==void 0&&_.length>0&&await n.putWrites(p,_,I.id)}kn(u,w,k,n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let O=Jl(d,u.channel_versions),$=await n.put(p,Vs(u,w,h+1),{source:"update",step:h+1,parents:l?.metadata?.parents??{}},O);for(let I of k){let _=I.writes.filter(P=>P[0]===En);_.length>0&&await n.putWrites($,_,I.id)}return zs($,l?l.metadata:void 0)},a=e;for(let{updates:i}of t)a=await s(a,i);return a}async updateState(e,t,n){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:n}]}])}_defaults(e){let{debug:t,streamMode:n,inputKeys:r,outputKeys:s,interruptAfter:a,interruptBefore:i,...o}=e,c=!0,l=t!==void 0?t:this.debug,u=s;u===void 0?u=this.streamChannelsAsIs:Cb(u,this.channels);let d=r;d===void 0?d=this.inputChannels:Cb(d,this.channels);let h=i??this.interruptBefore??[],p=a??this.interruptAfter??[],f;n!==void 0?(f=Array.isArray(n)?n:[n],c=typeof n=="string"):(e.configurable?.[Io]!==void 0?f=["values"]:f=this.streamMode,c=!0);let m;if(this.checkpointer===!1)m=void 0;else if(e!==void 0&&e.configurable?.[mt]!==void 0)m=e.configurable[mt];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");m=this.checkpointer}let v=e.store??this.store,w=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let y=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),x=e.durability??y??e?.configurable?.[Kw]??"async";return[l,f,d,u,o,h,p,m,v,c,w,x]}async stream(e,t){let n=new AbortController,r={recursionLimit:this.config?.recursionLimit,...t,signal:Pu(t?.signal,n.signal).signal},s=await super.stream(e,r);return new Tb(t?.encoding==="text/event-stream"?t9(s):s,n)}streamEvents(e,t,n){let r=new AbortController,s={recursionLimit:this.config?.recursionLimit,...t,callbacks:Lz(this.config?.callbacks,t?.callbacks),signal:Pu(t?.signal,r.signal).signal};return new Tb(super.streamEvents(e,s,n),r)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let n="version"in(t??{})?void 0:t?.encoding??void 0,r=t?.subgraphs,s=WE(this.config,t);if(s.recursionLimit===void 0||s.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&s.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let a=await this._validateInput(e),{runId:i,...o}=s,[c,l,,u,d,h,p,f,m,v,w,y]=this._defaults(o);typeof d.context<"u"?d.context=await this._validateContext(d.context):d.configurable=await this._validateContext(d.configurable);let x=new oS({modes:new Set(l)});if(this.checkpointer===!0){d.configurable??={};let P=d.configurable[gr]??"";d.configurable[gr]=P.split(xt).map(T=>T.split(Fr)[0]).join(xt)}if(l.includes("messages")){let P=new o9(Z=>x.push(Z)),{callbacks:T}=d;if(T===void 0)d.callbacks=[P];else if(Array.isArray(T))d.callbacks=T.concat(P);else{let Z=T.copy();Z.addHandler(P,!0),d.callbacks=Z}}if(l.includes("tools")){let P=new Yz(Z=>x.push(Z)),{callbacks:T}=d;if(T===void 0)d.callbacks=[P];else if(Array.isArray(T))d.callbacks=T.concat(P);else{let Z=T.copy();Z.addHandler(P,!0),d.callbacks=Z}}d.writer??=P=>{if(!l.includes("custom"))return;let T=lz()?.configurable?.[gr]?.split(xt).slice(0,-1);x.push([T??[],"custom",P])},d.interrupt??=this.userInterrupt??_9;let k=await(await Xt(d))?.handleChainStart(this.toJSON(),Rz(e,"input"),i,void 0,void 0,void 0,d?.runName??this.getName()),O=My(this.channels),$,I,_=(async()=>{try{$=await a9.initialize({input:a,config:d,checkpointer:f,nodes:this.nodes,channelSpecs:O,outputKeys:u,streamKeys:this.streamChannelsAsIs,store:m,cache:w,stream:x,interruptAfter:p,interruptBefore:h,manager:k,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:y});let P=new m9({loop:$,nodeFinished:d.configurable?.[oI]});t?.subgraphs&&($.config.configurable={...$.config.configurable,[iu]:$.stream}),await this._runLoop({loop:$,runner:P,debug:c,config:d}),y==="sync"&&await Promise.all($?.checkpointerPromises??[])}catch(P){I=P}finally{try{$&&(await $.store?.stop(),await $.cache?.stop()),await Promise.all($?.checkpointerPromises??[])}catch(P){I=I??P}I?x.error(I):x.close()}})();try{for await(let P of x){if(P===void 0)throw new Error("Data structure error.");let[T,Z,ze]=P;if(l.includes(Z)){if(n==="text/event-stream"){r?yield[T,Z,ze]:yield[null,Z,ze];continue}r&&!v?yield[T,Z,ze]:v?r?yield[T,ze]:yield ze:yield[Z,ze]}}}catch(P){throw await k?.handleChainError(I),P}finally{await _}await k?.handleChainEnd($?.output??{},i,void 0,void 0,void 0)}async invoke(e,t){let n=t?.streamMode??"values",r={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:n,encoding:void 0},s=[],a=await this.stream(e,r),i=[],o;for await(let c of a)n==="values"?Xw(c)?i.push(c[Ue]):o=c:s.push(c);if(n==="values"){if(i.length>0){let c=i.flat(1);if(o==null)return{[Ue]:c};if(typeof o=="object")return{...o,[Ue]:c}}return o}return s}async _runLoop(e){let{loop:t,runner:n,debug:r,config:s}=e,a;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:i}of await t._matchCachedWrites())t._outputWrites(i.id,i.writes,!0);r&&Kz(t.checkpointMetadata.step,t.channels,this.streamChannelsList),r&&iS(t.step,Object.values(t.tasks)),await n.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(i,o)=>{r&&Xz(i,o,this.streamChannelsList)},maxConcurrency:s.maxConcurrency,signal:s.signal})}if(t.status==="out_of_steps")throw new hI([`Recursion limit of ${s.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(i){if(a=i,!await t.finishAndHandleError(a))throw i}finally{a===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}},Ei=class hS extends Ps{lc_graph_name="EphemeralValue";guard;value=[];constructor(t=!0){super(),this.guard=t}fromCheckpoint(t){let n=new hS(this.guard);return typeof t<"u"&&(n.value=[t]),n}update(t){if(t.length===0){let n=this.value.length>0;return this.value=[],n}if(t.length!==1&&this.guard)throw new Ke("EphemeralValue can only receive one value per step.");return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Ot;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Ot;return this.value[0]}isAvailable(){return this.value.length!==0}};function $e(e,t,n){function r(o,c){var l;Object.defineProperty(o,"_zod",{value:o._zod??{},enumerable:!1}),(l=o._zod).traits??(l.traits=new Set),o._zod.traits.add(e),t(o,c);for(let u in i.prototype)u in o||Object.defineProperty(o,u,{value:i.prototype[u].bind(o)});o._zod.constr=i,o._zod.def=c}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let l=n?.Parent?new a:this;r(l,o),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var sc=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},x9={};function la(e){return x9}function k9(e,t){return typeof t=="bigint"?t.toString():t}function By(e){return e==null}function Zy(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function ot(e,t,n){Object.defineProperty(e,t,{get(){{let r=n();return e[t]=r,r}},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}var pS=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Nb(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Pb(e){if(Nb(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(Nb(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function E9(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function js(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Po(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function S9(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function yl(e){return typeof e=="string"?e:e?.message}function ua(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=yl(e.inst?._zod.def?.error?.(e))??yl(t?.error?.(e))??yl(n.customError?.(e))??yl(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function Vy(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ac(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var fS=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,k9,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},mS=$e("$ZodError",fS),gS=$e("$ZodError",fS,{Parent:Error});function O9(e,t=n=>n.message){let n={},r=[];for(let s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):r.push(t(s));return{formErrors:r,fieldErrors:n}}function I9(e,t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(o=>s({issues:o}));else if(i.code==="invalid_key")s({issues:i.issues});else if(i.code==="invalid_element")s({issues:i.issues});else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let l=i.path[c];c===i.path.length-1?(o[l]=o[l]||{_errors:[]},o[l]._errors.push(n(i))):o[l]=o[l]||{_errors:[]},o=o[l],c++}}};return s(e),r}var T9=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new sc;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>ua(c,a,la())));throw pS(o,s?.callee),o}return i.value},A9=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>ua(c,a,la())));throw pS(o,s?.callee),o}return i.value},yS=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new sc;return a.issues.length?{success:!1,error:new(e??mS)(a.issues.map(i=>ua(i,s,la())))}:{success:!0,data:a.value}},$9=yS(gS),_S=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>ua(i,s,la())))}:{success:!0,data:a.value}},C9=_S(gS),Ki=$e("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),N9=$e("$ZodCheckMaxLength",(e,t)=>{var n;Ki.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!By(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let s=r.value;if(s.length<=t.maximum)return;let a=Vy(s);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),P9=$e("$ZodCheckMinLength",(e,t)=>{var n;Ki.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!By(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let s=r.value;if(s.length>=t.minimum)return;let a=Vy(s);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),j9=$e("$ZodCheckLengthEquals",(e,t)=>{var n;Ki.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!By(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=r=>{let s=r.value,a=s.length;if(a===t.length)return;let i=Vy(s),o=a>t.length;r.issues.push({origin:i,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),R9=$e("$ZodCheckOverwrite",(e,t)=>{Ki.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),L9={major:4,minor:0,patch:0},tn=$e("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=L9;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(a,i,o)=>{let c=Po(a),l;for(let u of i){if(u._zod.def.when){if(!u._zod.def.when(a))continue}else if(c)continue;let d=a.issues.length,h=u._zod.check(a);if(h instanceof Promise&&o?.async===!1)throw new sc;if(l||h instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await h,a.issues.length!==d&&(c||(c=Po(a,d)))});else{if(a.issues.length===d)continue;c||(c=Po(a,d))}}return l?l.then(()=>a):a};e._zod.run=(a,i)=>{let o=e._zod.parse(a,i);if(o instanceof Promise){if(i.async===!1)throw new sc;return o.then(c=>s(c,r,i))}return s(o,r,i)}}e["~standard"]={validate:s=>{try{let a=$9(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return C9(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),M9=$e("$ZodAny",(e,t)=>{tn.init(e,t),e._zod.parse=n=>n});function jb(e,t,n){e.issues.length&&t.issues.push(...S9(n,e.issues)),t.value[n]=e.value}var z9=$e("$ZodArray",(e,t)=>{tn.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);let a=[];for(let i=0;i<s.length;i++){let o=s[i],c=t.element._zod.run({value:o,issues:[]},r);c instanceof Promise?a.push(c.then(l=>jb(l,n,i))):jb(c,n,i)}return a.length?Promise.all(a).then(()=>n):n}});function Rb(e,t,n,r){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(a=>ua(a,r,la())))}),t}var D9=$e("$ZodUnion",(e,t)=>{tn.init(e,t),ot(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),ot(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),ot(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),ot(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){let n=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${n.map(r=>Zy(r.source)).join("|")})$`)}}),e._zod.parse=(n,r)=>{let s=!1,a=[];for(let i of t.options){let o=i._zod.run({value:n.value,issues:[]},r);if(o instanceof Promise)a.push(o),s=!0;else{if(o.issues.length===0)return o;a.push(o)}}return s?Promise.all(a).then(i=>Rb(i,n,e,r)):Rb(a,n,e,r)}}),F9=$e("$ZodIntersection",(e,t)=>{tn.init(e,t),e._zod.parse=(n,r)=>{let s=n.value,a=t.left._zod.run({value:s,issues:[]},r),i=t.right._zod.run({value:s,issues:[]},r);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([o,c])=>Lb(n,o,c)):Lb(n,a,i)}});function Vm(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Pb(e)&&Pb(t)){let n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),s={...e,...t};for(let a of r){let i=Vm(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};s[a]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let s=e[r],a=t[r],i=Vm(s,a);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Lb(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),Po(e))return e;let r=Vm(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var U9=$e("$ZodTransform",(e,t)=>{tn.init(e,t),e._zod.parse=(n,r)=>{let s=t.transform(n.value,n);if(r.async)return(s instanceof Promise?s:Promise.resolve(s)).then(a=>(n.value=a,n));if(s instanceof Promise)throw new sc;return n.value=s,n}}),B9=$e("$ZodOptional",(e,t)=>{tn.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ot(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ot(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Zy(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(n,r):n.value===void 0?n:t.innerType._zod.run(n,r)}),Z9=$e("$ZodNullable",(e,t)=>{tn.init(e,t),ot(e._zod,"optin",()=>t.innerType._zod.optin),ot(e._zod,"optout",()=>t.innerType._zod.optout),ot(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Zy(n.source)}|null)$`):void 0}),ot(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),V9=$e("$ZodDefault",(e,t)=>{tn.init(e,t),e._zod.optin="optional",ot(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Mb(a,t)):Mb(s,t)}});function Mb(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var q9=$e("$ZodPrefault",(e,t)=>{tn.init(e,t),e._zod.optin="optional",ot(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),H9=$e("$ZodNonOptional",(e,t)=>{tn.init(e,t),ot(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>zb(a,e)):zb(s,e)}});function zb(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var W9=$e("$ZodCatch",(e,t)=>{tn.init(e,t),e._zod.optin="optional",ot(e._zod,"optout",()=>t.innerType._zod.optout),ot(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(i=>ua(i,r,la()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(a=>ua(a,r,la()))},input:n.value}),n.issues=[]),n)}}),J9=$e("$ZodPipe",(e,t)=>{tn.init(e,t),ot(e._zod,"values",()=>t.in._zod.values),ot(e._zod,"optin",()=>t.in._zod.optin),ot(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(n,r)=>{let s=t.in._zod.run(n,r);return s instanceof Promise?s.then(a=>Db(a,t,r)):Db(s,t,r)}});function Db(e,t,n){return Po(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}var G9=$e("$ZodReadonly",(e,t)=>{tn.init(e,t),ot(e._zod,"propValues",()=>t.innerType._zod.propValues),ot(e._zod,"values",()=>t.innerType._zod.values),ot(e._zod,"optin",()=>t.innerType._zod.optin),ot(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(Fb):Fb(s)}});function Fb(e){return e.value=Object.freeze(e.value),e}var K9=$e("$ZodCustom",(e,t)=>{Ki.init(e,t),tn.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,s=t.fn(r);if(s instanceof Promise)return s.then(a=>Ub(a,n,r,e));Ub(s,n,r,e)}});function Ub(e,t,n,r){if(!e){let s={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(s.params=r._zod.def.params),t.issues.push(ac(s))}}var X9=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Y9(){return new X9}var _l=Y9();function Q9(e){return new e({type:"any"})}function e5(e,t){return new N9({check:"max_length",...js(t),maximum:e})}function Bb(e,t){return new P9({check:"min_length",...js(t),minimum:e})}function t5(e,t){return new j9({check:"length_equals",...js(t),length:e})}function n5(e){return new R9({check:"overwrite",tx:e})}function r5(e,t,n){return new e({type:"array",element:t,...js(n)})}function s5(e,t,n){let r=js(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function a5(e,t,n){return new e({type:"custom",check:"custom",fn:t,...js(n)})}var i5=(e,t)=>{mS.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>I9(e,n)},flatten:{value:n=>O9(e,n)},addIssue:{value:n=>e.issues.push(n)},addIssues:{value:n=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},_h=$e("ZodError",i5,{Parent:Error}),o5=T9(_h),c5=A9(_h),l5=yS(_h),u5=_S(_h),yn=$e("ZodType",(e,t)=>(tn.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>E9(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>o5(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>l5(e,n,r),e.parseAsync=async(n,r)=>c5(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>u5(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(j5(n,r)),e.superRefine=n=>e.check(R5(n)),e.overwrite=n=>e.check(n5(n)),e.optional=()=>Zb(e),e.nullable=()=>Vb(e),e.nullish=()=>Zb(Vb(e)),e.nonoptional=n=>I5(e,n),e.array=()=>p5(e),e.or=n=>m5([e,n]),e.and=n=>y5(e,n),e.transform=n=>qb(e,v5(n)),e.default=n=>k5(e,n),e.prefault=n=>S5(e,n),e.catch=n=>A5(e,n),e.pipe=n=>qb(e,n),e.readonly=()=>N5(e),e.describe=n=>{let r=e.clone();return _l.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return _l.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return _l.get(e);let r=e.clone();return _l.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),d5=$e("ZodAny",(e,t)=>{M9.init(e,t),yn.init(e,t)});function vl(){return Q9(d5)}var h5=$e("ZodArray",(e,t)=>{z9.init(e,t),yn.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(Bb(n,r)),e.nonempty=n=>e.check(Bb(1,n)),e.max=(n,r)=>e.check(e5(n,r)),e.length=(n,r)=>e.check(t5(n,r)),e.unwrap=()=>e.element});function p5(e,t){return r5(h5,e,t)}var f5=$e("ZodUnion",(e,t)=>{D9.init(e,t),yn.init(e,t),e.options=t.options});function m5(e,t){return new f5({type:"union",options:e,...js(t)})}var g5=$e("ZodIntersection",(e,t)=>{F9.init(e,t),yn.init(e,t)});function y5(e,t){return new g5({type:"intersection",left:e,right:t})}var _5=$e("ZodTransform",(e,t)=>{U9.init(e,t),yn.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=a=>{if(typeof a=="string")n.issues.push(ac(a,n.value,t));else{let i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),n.issues.push(ac(i))}};let s=t.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function v5(e){return new _5({type:"transform",transform:e})}var b5=$e("ZodOptional",(e,t)=>{B9.init(e,t),yn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Zb(e){return new b5({type:"optional",innerType:e})}var w5=$e("ZodNullable",(e,t)=>{Z9.init(e,t),yn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Vb(e){return new w5({type:"nullable",innerType:e})}var x5=$e("ZodDefault",(e,t)=>{V9.init(e,t),yn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function k5(e,t){return new x5({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var E5=$e("ZodPrefault",(e,t)=>{q9.init(e,t),yn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function S5(e,t){return new E5({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var O5=$e("ZodNonOptional",(e,t)=>{H9.init(e,t),yn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function I5(e,t){return new O5({type:"nonoptional",innerType:e,...js(t)})}var T5=$e("ZodCatch",(e,t)=>{W9.init(e,t),yn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function A5(e,t){return new T5({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var $5=$e("ZodPipe",(e,t)=>{J9.init(e,t),yn.init(e,t),e.in=t.in,e.out=t.out});function qb(e,t){return new $5({type:"pipe",in:e,out:t})}var C5=$e("ZodReadonly",(e,t)=>{G9.init(e,t),yn.init(e,t)});function N5(e){return new C5({type:"readonly",innerType:e})}var vS=$e("ZodCustom",(e,t)=>{K9.init(e,t),yn.init(e,t)});function P5(e){let t=new Ki({check:"custom"});return t._zod.check=e,t}function bS(e,t){return s5(vS,(()=>!0),t)}function j5(e,t={}){return a5(vS,e,t)}function R5(e){let t=P5(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(ac(r,n.value,t._zod.def));else{let s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(ac(s))}},e(n.value,n)));return t}var wS=class{path;ends;constructor(e){Pe.isRunnable(e.path)?this.path=e.path:this.path=Pt(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,n)=>(t[n]=n,t),{}):e.pathMap}run(e,t){return Jt.registerWriter(new Oa({name:"<branch_run>",trace:!1,func:async(n,r)=>{try{return await this._route(n,r,e,t)}catch(s){throw s.name===Qw.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
265
+ NodeInterrupt should only be thrown inside a node, not in edge conditions.`),s}}}))}async _route(e,t,n,r){let s=await this.path.invoke(r?r(t):e,t);Array.isArray(s)||(s=[s]);let a;if(this.ends?a=s.map(i=>pn(i)?i:this.ends[i]):a=s,a.some(i=>!i))throw new Error("Branch condition returned unknown or null destination");if(a.filter(pn).some(i=>i.node===Re))throw new Ke("Cannot send a packet to the END node");return await n(a,t)??e}},L5=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(r){return r.length>=1&&typeof r[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[r,s,a]of n){for(let o of[xt,Fr])if(r.includes(o))throw new Error(`"${o}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),r in this.nodes)throw new Error(`Node \`${r}\` already present.`);if(r===Re)throw new Error(`Node \`${r}\` is reserved.`);let i=Pt(s);this.nodes[r]={runnable:i,metadata:a?.metadata,subgraphs:zy(i)?[i]:a?.subgraphs,ends:a?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e===Re)throw new Error("END cannot be a start node");if(t===Je)throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([n])=>n===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,n){let r=typeof e=="object"?e:{source:e,path:t,pathMap:n};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),Pe.isRunnable(r.path)||(r.path=Pt(r.path));let s=r.path.getName()==="RunnableLambda"?"condition":r.path.getName();if(this.branches[r.source]&&this.branches[r.source][s])throw new Error(`Condition \`${s}\` already present for node \`${e}\``);return this.branches[r.source]??={},this.branches[r.source][s]=new wS(r),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(Je,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,Re)}compile({checkpointer:e,interruptBefore:t,interruptAfter:n,name:r}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(n)?n:[]]);let s=new xS({builder:this,checkpointer:e,interruptAfter:n,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[Je]:new Ei,[Re]:new Ei},inputChannels:Je,outputChannels:Re,streamChannels:[],streamMode:"values",name:r});for(let[a,i]of Object.entries(this.nodes))s.attachNode(a,i);for(let[a,i]of this.edges)s.attachEdge(a,i);for(let[a,i]of Object.entries(this.branches))for(let[o,c]of Object.entries(i))s.attachBranch(a,o,c);return s.validate()}validate(e){let t=new Set([...this.allEdges].map(([r,s])=>r));for(let[r]of Object.entries(this.branches))t.add(r);for(let r of t)if(r!==Je&&!(r in this.nodes))throw new Error(`Found edge starting at unknown node \`${r}\``);let n=new Set([...this.allEdges].map(([r,s])=>s));for(let[r,s]of Object.entries(this.branches))for(let a of Object.values(s))if(a.ends!=null)for(let i of Object.values(a.ends))n.add(i);else{n.add(Re);for(let i of Object.keys(this.nodes))i!==r&&n.add(i)}for(let r of Object.values(this.nodes))for(let s of r.ends??[])n.add(s);for(let r of Object.keys(this.nodes))if(!n.has(r))throw new fI([`Node \`${r}\` is not reachable.`,"","If you are returning Command objects from your node,",'make sure you are passing names of potential destination nodes as an "ends" array','into ".addNode(..., { ends: ["node1", "node2"] })".'].join(`
266
+ `),{lc_error_code:"UNREACHABLE_NODE"});for(let r of n)if(r!==Re&&!(r in this.nodes))throw new Error(`Found edge ending at unknown node \`${r}\``);if(e){for(let r of e)if(!(r in this.nodes))throw new Error(`Interrupt node \`${r}\` is not present`)}this.compiled=!0}},xS=class extends w9{builder;constructor({builder:e,...t}){super(t),this.builder=e}attachNode(e,t){this.channels[e]=new Ei,this.nodes[e]=new tc({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new Jt([{channel:e,value:na}],[pt])),this.streamChannels.push(e)}attachEdge(e,t){if(t===Re){if(e===Je)throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new Jt([{channel:Re,value:na}],[pt]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,n){e===Je&&!this.nodes[Je]&&(this.nodes[Je]=v9.subscribeTo(Je,{tags:[pt]})),this.nodes[e].pipe(n.run(s=>new Jt(s.map(a=>pn(a)?a:{channel:a===Re?Re:`branch:${e}:${t}:${a}`,value:na}),[pt])));let r=n.ends?Object.values(n.ends):Object.keys(this.nodes);for(let s of r)if(s!==Re){let a=`branch:${e}:${t}:${s}`;this.channels[a]=new Ei,this.nodes[s].triggers.push(a),this.nodes[s].channels.push(a)}}async getGraphAsync(e){let t=e?.xray,n=new Go,r={[Je]:n.addNode({schema:vl()},Je)},s={},a={};t&&(a=Object.fromEntries((await rs(this.getSubgraphsAsync())).filter(c=>Hb(c[1]))));function i(c,l,u,d=!1){if(l===Re&&s[Re]===void 0&&(s[Re]=n.addNode({schema:vl()},Re)),r[c]!==void 0){if(s[l]===void 0)throw new Error(`End node ${l} not found!`);return n.addEdge(r[c],s[l],u!==l?u:void 0,d)}}for(let[c,l]of Object.entries(this.builder.nodes)){let u=Lt(c),d=l.runnable,h=l.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?h.__interrupt="before,after":this.interruptBefore?.includes(c)?h.__interrupt="before":this.interruptAfter?.includes(c)&&(h.__interrupt="after"),t){let p=typeof t=="number"?t-1:t,f=a[c]!==void 0?await a[c].getGraphAsync({...e,xray:p}):d.getGraph(e);if(f.trimFirstNode(),f.trimLastNode(),Object.keys(f.nodes).length>1){let m=function(x){return x?x.lc_runnable:!1},v=function(x,k){if(x!==void 0&&!kf(x))return x;if(m(k))try{let O=k.getName();return O=O.startsWith("Runnable")?O.slice(8):O,O}catch{return k.getName()}else return k.name??"UnknownSchema"},[w,y]=n.extend(f,u);if(w===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);y!==void 0&&(r[u]={name:v(y.id,y.data),...y}),s[u]={name:v(w.id,w.data),...w}}else{let m=n.addNode(d,u,h);r[u]=m,s[u]=m}}else{let p=n.addNode(d,u,h);r[u]=p,s[u]=p}}let o=[...this.builder.allEdges].sort(([c],[l])=>c<l?-1:l>c?1:0);for(let[c,l]of o)i(Lt(c),Lt(l));for(let[c,l]of Object.entries(this.builder.branches)){let u={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[Lt(d),Lt(d)])),[Re]:Re};for(let d of Object.values(l)){let h;d.ends!==void 0?h=d.ends:h=u;for(let[p,f]of Object.entries(h))i(Lt(c),Lt(f),p,!0)}}for(let[c,l]of Object.entries(this.builder.nodes))if(l.ends!==void 0)for(let u of l.ends)i(Lt(c),Lt(u),void 0,!0);return n}getGraph(e){let t=e?.xray,n=new Go,r={[Je]:n.addNode({schema:vl()},Je)},s={},a={};t&&(a=Object.fromEntries(po(this.getSubgraphs()).filter(c=>Hb(c[1]))));function i(c,l,u,d=!1){return l===Re&&s[Re]===void 0&&(s[Re]=n.addNode({schema:vl()},Re)),n.addEdge(r[c],s[l],u!==l?u:void 0,d)}for(let[c,l]of Object.entries(this.builder.nodes)){let u=Lt(c),d=l.runnable,h=l.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?h.__interrupt="before,after":this.interruptBefore?.includes(c)?h.__interrupt="before":this.interruptAfter?.includes(c)&&(h.__interrupt="after"),t){let p=typeof t=="number"?t-1:t,f=a[c]!==void 0?a[c].getGraph({...e,xray:p}):d.getGraph(e);if(f.trimFirstNode(),f.trimLastNode(),Object.keys(f.nodes).length>1){let m=function(x){return x?x.lc_runnable:!1},v=function(x,k){if(x!==void 0&&!kf(x))return x;if(m(k))try{let O=k.getName();return O=O.startsWith("Runnable")?O.slice(8):O,O}catch{return k.getName()}else return k.name??"UnknownSchema"},[w,y]=n.extend(f,u);if(w===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);y!==void 0&&(r[u]={name:v(y.id,y.data),...y}),s[u]={name:v(w.id,w.data),...w}}else{let m=n.addNode(d,u,h);r[u]=m,s[u]=m}}else{let p=n.addNode(d,u,h);r[u]=p,s[u]=p}}let o=[...this.builder.allEdges].sort(([c],[l])=>c<l?-1:l>c?1:0);for(let[c,l]of o)i(Lt(c),Lt(l));for(let[c,l]of Object.entries(this.builder.branches)){let u={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[Lt(d),Lt(d)])),[Re]:Re};for(let d of Object.values(l)){let h;d.ends!==void 0?h=d.ends:h=u;for(let[p,f]of Object.entries(h))i(Lt(c),Lt(f),p,!0)}}return n}};function Hb(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function Lt(e){return e==="subgraph"?`"${e}"`:e}function mo(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function M5(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function Pa(e){if(M5(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function ja(e){if(e!=null&&mo(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let n=t;if(!n.issues){let r=n.value;return()=>r}}}catch{}}var af=Symbol.for("langgraph.channel.missing"),z5=class kS extends Ps{lc_graph_name="UntrackedValue";guard;_value=af;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new kS({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new Ke("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===af)throw new Ot;return this._value}checkpoint(){}isAvailable(){return this._value!==af}},Hs=(e,t)=>e.size===t.size&&[...e].every(n=>t.has(n)),D5=class ES extends Ps{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let n=new ES(this.names);return typeof t<"u"&&(n.seen=new Set(t)),n}update(t){let n=!1;for(let r of t)if(this.names.has(r))this.seen.has(r)||(this.seen.add(r),n=!0);else throw new Ke(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return n}get(){if(!Hs(this.names,this.seen))throw new Ot}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Hs(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Hs(this.names,this.seen)}},F5=class SS extends Ps{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let n=new SS(this.names);if(typeof t<"u"){let[r,s]=t;n.seen=new Set(r),n.finished=s}return n}update(t){let n=!1;for(let r of t)if(this.names.has(r)&&!this.seen.has(r))this.seen.add(r),n=!0;else if(!this.names.has(r))throw new Ke(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return n}get(){if(!this.finished||!Hs(this.names,this.seen))throw new Ot}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Hs(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Hs(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Hs(this.names,this.seen)}},of=Symbol.for("langgraph.state.reduced_value"),Fa=class{[of]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&of in e&&e[of]===!0}},Wb=Symbol.for("langgraph.state.untracked_value"),so=class{[Wb]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&Wb in e}},cf=Symbol.for("langgraph.state.state_schema"),Ws=class{[cf]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,n]of Object.entries(this.fields))if(Fa.isInstance(n)){let r=ja(n.valueSchema);e[t]=new $u(n.reducer,r)}else if(so.isInstance(n)){let r=n.schema?ja(n.schema):void 0;e[t]=new z5({guard:n.guard,initialValueFactory:r})}else if(mo(n))e[t]=new yh(ja(n));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[n,r]of Object.entries(this.fields)){let s;if(Fa.isInstance(r)?(s=Pa(r.valueSchema),r.jsonSchemaExtra&&(s={...s??{},...r.jsonSchemaExtra})):so.isInstance(r)?s=r.schema?Pa(r.schema):void 0:mo(r)&&(s=Pa(r)),s){e[n]=s;let a=!1;Fa.isInstance(r)?a=ja(r.valueSchema)!==void 0:so.isInstance(r)?a=r.schema?ja(r.schema)!==void 0:!1:a=ja(r)!==void 0,a||t.push(n)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,n]of Object.entries(this.fields)){let r;Fa.isInstance(n)?r=Pa(n.inputSchema):so.isInstance(n)?r=n.schema?Pa(n.schema):void 0:mo(n)&&(r=Pa(n)),r&&(e[t]=r)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[n,r]of Object.entries(e)){let s=this.fields[n];if(s===void 0){t[n]=r;continue}let a;if(Fa.isInstance(s)?a=s.inputSchema:so.isInstance(s)?a=s.schema:mo(s)&&(a=s),a){let i=await a["~standard"].validate(r);if(i.issues)throw new Error(`Validation failed for field "${n}": ${JSON.stringify(i.issues)}`);t[n]=i.value}else t[n]=r}return t}static isInstance(e){return typeof e=="object"&&e!==null&&cf in e&&e[cf]===!0}},U5="__remove_all__";function Uc(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t],s=n.map(wr),a=r.map(wr);for(let u of s)(u.id===null||u.id===void 0)&&(u.id=Zs(),u.lc_kwargs.id=u.id);let i;for(let u=0;u<a.length;u+=1){let d=a[u];(d.id===null||d.id===void 0)&&(d.id=Zs(),d.lc_kwargs.id=d.id),Ys.isInstance(d)&&d.id===U5&&(i=u)}if(i!=null)return a.slice(i+1);let o=[...s],c=new Map(o.map((u,d)=>[u.id,d])),l=new Set;for(let u of a){let d=c.get(u.id);if(d!==void 0)Ys.isInstance(u)?l.add(u.id):(l.delete(u.id),o[d]=u);else{if(Ys.isInstance(u))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${u.id}')`);c.set(u.id,o.length),o.push(u)}}return o.filter(u=>!l.has(u.id))}var B5=bS().default(()=>[]),Z5=bS();new Fa(B5,{inputSchema:Z5,reducer:Uc,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var V5="lg:",q5=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let n=this.get(e);this._map.set(e,t(n))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},n=Wo(e);for(let[r,s]of Object.entries(n)){let a=this.get(s);a?.reducer?t[r]=new $u(a.reducer.fn,a.default):t[r]=new yh(a?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let n=Object.entries(t).filter(([,a])=>a===!0).sort(([a],[i])=>a.localeCompare(i)).map(([a,i])=>`${a}:${i}`).join("|"),r=this._extensionCache.get(n)??new Map;if(r.has(e))return r.get(e);let s=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let a=Object.entries(Wo(e)).map(([i,o])=>{let c=this.get(o),l=t.withReducerSchema?c?.reducer?.schema??o:o;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let u=Ho(l)??Ho(o),d=JSON.stringify({...c.jsonSchemaExtra,description:u});l=l.describe(`${V5}${d}`)}return[i,l]});s=Dx(e,Object.fromEntries(a)),yt(s)&&(s._def.unknownKeys="strip")}return t.asPartial&&(s=iy(s)),r.set(e,s),this._extensionCache.set(n,r),s}},ju=new q5;function H5(e,t){if(t.reducer&&!t.default){let n=Fx(e);n!=null&&(t.default=n)}if(t.reducer){let n=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return ju.extend(n,()=>t),n}else return ju.extend(e,()=>t),e}function Ua(e){return e==null?!1:!!(Ws.isInstance(e)||Pn(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||BE(t)))}function W5(e){if(typeof e!="object"||e==null)return!1;let t=e,n="state"in t&&Ua(t.state),r="stateSchema"in t&&Ua(t.stateSchema),s="input"in t&&Ua(t.input);return!(!n&&!r&&!s||"input"in t&&t.input!=null&&!Ua(t.input)||"output"in t&&t.output!=null&&!Ua(t.output))}var os="__root__",Ru=Symbol.for("langgraph.state.partial"),J5=class extends L5{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=ju;_configSchema;_configRuntimeSchema;_interrupt;_writer;constructor(e,t){super();let n=this._normalizeToStateGraphInit(e,t),r=n.state??n.stateSchema??n.input;if(!r)throw new Th;let s=this._getChannelsFromSchema(r);this._schemaDefinition=s,Ws.isInstance(r)?this._schemaRuntimeDefinition=r:Pn(r)&&(this._schemaRuntimeDefinition=r),n.input?Ws.isInstance(n.input)?this._inputRuntimeDefinition=n.input:Pn(n.input)?this._inputRuntimeDefinition=n.input:this._inputRuntimeDefinition=Ru:this._inputRuntimeDefinition=Ru,n.output?Ws.isInstance(n.output)?this._outputRuntimeDefinition=n.output:Pn(n.output)?this._outputRuntimeDefinition=n.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let a=n.input?this._getChannelsFromSchema(n.input):s,i=n.output?this._getChannelsFromSchema(n.output):s;this._inputDefinition=a,this._outputDefinition=i,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),n.context&&Pn(n.context)&&(this._configRuntimeSchema=n.context),this._interrupt=n.interrupt,this._writer=n.writer}_normalizeToStateGraphInit(e,t){if(W5(e)){if(Pn(t)||zm.isInstance(t))return{...e,context:t};let n=t;return{...e,input:e.input??n?.input,output:e.output??n?.output,context:e.context??n?.context,interrupt:e.interrupt??n?.interrupt,writer:e.writer??n?.writer,nodes:e.nodes??n?.nodes}}if(Ua(e)){if(Pn(t)||zm.isInstance(t))return{state:e,context:t};let n=t;return{state:e,input:n?.input,output:n?.output,context:n?.context,interrupt:n?.interrupt,writer:n?.writer,nodes:n?.nodes}}if(X5(e))return{state:G5(e.channels)};throw new Th}_getChannelsFromSchema(e){if(Ws.isInstance(e))return e.getChannels();if(Pn(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new Th("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(n=>[n,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,n]of Object.entries(e)){let r;if(typeof n=="function"?r=n():r=n,this.channels[t]!==void 0){if(!this.channels[t].equals(r)&&r.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=r}}}addNode(...e){function t(r){return r.length>=1&&typeof r[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([r,s])=>[r,s]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[r,s,a]of n){if(r in this.channels)throw new Error(`${r} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let u of[xt,Fr])if(r.includes(u))throw new Error(`"${u}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),r in this.nodes)throw new Error(`Node \`${r}\` already present.`);if(r===Re||r===Je)throw new Error(`Node \`${r}\` is reserved.`);let i=this._schemaDefinition;a?.input!==void 0&&(i=this._getChannelsFromSchema(a.input)),this._addSchema(i);let o;Pe.isRunnable(s)?o=s:typeof s=="function"?o=new Oa({func:s,name:r,trace:!1}):o=Pt(s);let c=a?.cachePolicy;typeof c=="boolean"&&(c=c?{}:void 0);let l={runnable:o,retryPolicy:a?.retryPolicy,cachePolicy:c,metadata:a?.metadata,input:i??this._schemaDefinition,subgraphs:zy(o)?[o]:a?.subgraphs,ends:a?.ends,defer:a?.defer};this.nodes[r]=l}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let n of e){if(n===Re)throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(r=>r===n))throw new Error(`Need to add a node named "${n}" first`)}if(t===Re)throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(n=>n===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let n;for(let[r,s,a]of t){if(r in this.nodes)throw new Error(`Node names must be unique: node with the name "${r}" already exists.`);let i=r;this.addNode(i,s,a),n!=null&&this.addEdge(n,i),n=i}return this}compile({checkpointer:e,store:t,cache:n,interruptBefore:r,interruptAfter:s,name:a,description:i}={}){this.validate([...Array.isArray(r)?r:[],...Array.isArray(s)?s:[]]);let o=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),c=o.length===1&&o[0]===os?os:o,l=Object.keys(this.channels),u=l.length===1&&l[0]===os?os:l,d=this._interrupt,h=new K5({builder:this,checkpointer:e,interruptAfter:s,interruptBefore:r,autoValidate:!1,nodes:{},channels:{...this.channels,[Je]:new Ei},inputChannels:Je,outputChannels:c,streamChannels:u,streamMode:"updates",store:t,cache:n,name:a,description:i,userInterrupt:d});h.attachNode(Je);for(let[p,f]of Object.entries(this.nodes))h.attachNode(p,f);h.attachBranch(Je,T_,Jb(),{withReader:!1});for(let[p]of Object.entries(this.nodes))h.attachBranch(p,T_,Jb(),{withReader:!1});for(let[p,f]of this.edges)h.attachEdge(p,f);for(let[p,f]of this.waitingEdges)h.attachEdge(p,f);for(let[p,f]of Object.entries(this.branches))for(let[m,v]of Object.entries(f))h.attachBranch(p,m,v);return h.validate()}};function G5(e){let t={};for(let[n,r]of Object.entries(e))t[n]=HE(r);return t}var K5=class extends xS{description;_metaRegistry=ju;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let n;e===Je?n=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([o])=>o):n=Object.keys(this.builder.channels);function r(o){if(Mt(o))return o.graph===yr.PARENT?null:o._updateAsTuples();if(Array.isArray(o)&&o.length>0&&o.some(c=>Mt(c))){let c=[];for(let l of o)if(Mt(l)){if(l.graph===yr.PARENT)continue;c.push(...l._updateAsTuples())}else c.push([os,l]);return c}else if(o!=null)return[[os,o]];return null}let s=e;function a(o){if(o){if(Mt(o))return o.graph===yr.PARENT?null:o._updateAsTuples().filter(([c])=>n.includes(c));if(Array.isArray(o)&&o.length>0&&o.some(Mt)){let c=[];for(let l of o)if(Mt(l)){if(l.graph===yr.PARENT)continue;c.push(...l._updateAsTuples().filter(([u])=>n.includes(u)))}else{let u=a(l);u&&c.push(...u??[])}return c}else{if(typeof o=="object"&&!Array.isArray(o))return Object.entries(o).filter(([c])=>n.includes(c));{let c=Array.isArray(o)?"array":typeof o;throw new Ke(`Expected node "${s.toString()}" to return an object or an array containing at least one Command object, received ${c}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let i=[{value:na,mapper:new Oa({func:n.length&&n[0]===os?r:a,trace:!1,recurse:!1})}];if(e===Je)this.nodes[e]=new tc({tags:[pt],triggers:[Je],channels:[Je],writers:[new Jt(i,[pt])]});else{let o=t?.input??this.builder._schemaDefinition,c=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(o)).map(d=>[d,d])),l=Object.keys(c).length===1&&os in c,u=`branch:to:${e}`;this.channels[u]=t?.defer?new az:new Ei(!1),this.nodes[e]=new tc({triggers:[u],channels:l?Object.keys(c):c,writers:[new Jt(i,[pt])],mapper:l?void 0:d=>Object.fromEntries(Object.entries(d).filter(([h])=>h in c)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:t?.cachePolicy,subgraphs:t?.subgraphs,ends:t?.ends})}}attachEdge(e,t){if(t!==Re){if(typeof e=="string")this.nodes[e].writers.push(new Jt([{channel:`branch:to:${t}`,value:null}],[pt]));else if(Array.isArray(e)){let n=`join:${e.join("+")}:${t}`;this.channels[n]=this.builder.nodes[t].defer?new F5(new Set(e)):new D5(new Set(e)),this.nodes[t].triggers.push(n);for(let r of e)this.nodes[r].writers.push(new Jt([{channel:n,value:r}],[pt]))}}}attachBranch(e,t,n,r={withReader:!0}){let s=async(a,i)=>{let o=a.filter(l=>l!==Re);if(!o.length)return;let c=o.map(l=>pn(l)?l:{channel:l===Re?l:`branch:to:${l}`,value:e});await Jt.doWrite({...i,tags:(i.tags??[]).concat([pt])},c)};this.nodes[e].writers.push(n.run(s,r.withReader?a=>hz.doRead(a,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,n=this.builder._schemaRuntimeDefinition;if(Ws.isInstance(t)){if(Mt(e)){let s=e;return e.update&&(s.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await t.validateInput(e)}if(t===Ru&&Ws.isInstance(n)){if(Mt(e)){let s=e;return e.update&&(s.update=await n.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await n.validateInput(e)}let r=(()=>{let s=a=>{if(a!=null)return this._metaRegistry.getExtendedChannelSchemas(a,{withReducerSchema:!0})};if(Pn(t))return s(t);if(t===Ru)return Pn(n)?iy(s(n)):void 0})();if(Mt(e)){let s=e;return e.update&&r!=null&&(s.update=Dl(r,e.update)),s}return r!=null?Dl(r,e):e}isInterrupted(e){return Xw(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return Pn(t)&&Dl(t,e),e}};function X5(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function Y5(e){if(pn(e))return[e];let t=[];Mt(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(Mt));let n=[];for(let r of t){if(r.graph===yr.PARENT)throw new e1(r);pn(r.goto)||typeof r.goto=="string"?n.push(r.goto):Array.isArray(r.goto)&&n.push(...r.goto)}return n}function Jb(){return new wS({path:new Oa({func:Y5,tags:[pt],trace:!1,recurse:!1,name:"<control_branch>"})})}var je;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(je||(je={}));var qm;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(qm||(qm={}));var J=je.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Dr=e=>{switch(typeof e){case"undefined":return J.undefined;case"string":return J.string;case"number":return Number.isNaN(e)?J.nan:J.number;case"boolean":return J.boolean;case"function":return J.function;case"bigint":return J.bigint;case"symbol":return J.symbol;case"object":return Array.isArray(e)?J.array:e===null?J.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?J.promise:typeof Map<"u"&&e instanceof Map?J.map:typeof Set<"u"&&e instanceof Set?J.set:typeof Date<"u"&&e instanceof Date?J.date:J.object;default:return J.unknown}},R=je.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Q5=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),In=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let l=i.path[c];c===i.path.length-1?(o[l]=o[l]||{_errors:[]},o[l]._errors.push(n(i))):o[l]=o[l]||{_errors:[]},o=o[l],c++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,je.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};In.create=e=>new In(e);var Si=(e,t)=>{let n;switch(e.code){case R.invalid_type:e.received===J.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case R.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,je.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:n=`Unrecognized key(s) in object: ${je.joinValues(e.keys,", ")}`;break;case R.invalid_union:n="Invalid input";break;case R.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${je.joinValues(e.options)}`;break;case R.invalid_enum_value:n=`Invalid enum value. Expected ${je.joinValues(e.options)}, received '${e.received}'`;break;case R.invalid_arguments:n="Invalid function arguments";break;case R.invalid_return_type:n="Invalid function return type";break;case R.invalid_date:n="Invalid date";break;case R.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:je.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case R.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case R.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case R.custom:n="Invalid input";break;case R.invalid_intersection_types:n="Intersection results could not be merged";break;case R.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case R.not_finite:n="Number must be finite";break;default:n=t.defaultError,je.assertNever(e)}return{message:n}},OS=Si;function eD(e){OS=e}function Lu(){return OS}var Mu=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,a=[...n,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let o="",c=r.filter(l=>!!l).slice().reverse();for(let l of c)o=l(i,{data:t,defaultError:o}).message;return{...s,path:a,message:o}},tD=[];function V(e,t){let n=Lu(),r=Mu({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Si?void 0:Si].filter(s=>!!s)});e.common.issues.push(r)}var Ft=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return fe;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let a=await s.key,i=await s.value;r.push({key:a,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return fe;a.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[a.value]=i.value)}return{status:t.value,value:r}}},fe=Object.freeze({status:"aborted"}),zu=e=>({status:"dirty",value:e}),Yt=e=>({status:"valid",value:e}),Hm=e=>e.status==="aborted",Wm=e=>e.status==="dirty",da=e=>e.status==="valid",ic=e=>typeof Promise<"u"&&e instanceof Promise,ie;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ie||(ie={}));var Dn=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Gb=(e,t)=>{if(da(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new In(e.common.issues);return this._error=n,this._error}}};function we(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(a,i)=>{let{message:o}=e;return a.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??r??i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:o??n??i.defaultError}},description:s}}var Ie=class{get description(){return this._def.description}_getType(e){return Dr(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Dr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ft,ctx:{common:e.parent.common,data:e.data,parsedType:Dr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(ic(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dr(e)},r=this._parseSync({data:e,path:n.path,parent:n});return Gb(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dr(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return da(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>da(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dr(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(ic(r)?r:Promise.resolve(r));return Gb(n,s)}refine(e,t){let n=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,s)=>{let a=e(r),i=()=>s.addIssue({code:R.custom,...n(r)});return typeof Promise<"u"&&a instanceof Promise?a.then(o=>o?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t=="function"?t(n,r):t),!1))}_refinement(e){return new Tn({schema:this,typeName:me.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return kr.create(this,this._def)}nullable(){return Os.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ya.create(this)}promise(){return Ss.create(this,this._def)}or(e){return cc.create([this,e],this._def)}and(e){return lc.create(this,e,this._def)}transform(e){return new Tn({...we(this._def),schema:this,typeName:me.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new dc({...we(this._def),innerType:this,defaultValue:t,typeName:me.ZodDefault})}brand(){return new pc({typeName:me.ZodBranded,type:this,...we(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new hc({...we(this._def),innerType:this,catchValue:t,typeName:me.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return fc.create(this,e)}readonly(){return mc.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},nD=/^c[^\s-]{8,}$/i,rD=/^[0-9a-z]+$/,sD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,aD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,iD=/^[a-z0-9_-]{21}$/i,oD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,cD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,lD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,uD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",lf,dD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,hD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,pD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,fD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,gD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,IS="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",yD=new RegExp(`^${IS}$`);function TS(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function _D(e){return new RegExp(`^${TS(e)}$`)}function AS(e){let t=`${IS}T${TS(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function vD(e,t){return!!((t==="v4"||!t)&&dD.test(e)||(t==="v6"||!t)&&pD.test(e))}function bD(e,t){if(!oD.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function wD(e,t){return!!((t==="v4"||!t)&&hD.test(e)||(t==="v6"||!t)&&fD.test(e))}var Oi=class go extends Ie{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==J.string){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.string,received:s.parsedType}),fe}let n=new Ft,r;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let a=t.data.length>s.value,i=t.data.length<s.value;(a||i)&&(r=this._getOrReturnCtx(t,r),a?V(r,{code:R.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&V(r,{code:R.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")lD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"email",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")lf||(lf=new RegExp(uD,"u")),lf.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"emoji",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")aD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"uuid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")iD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"nanoid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")nD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cuid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")rD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cuid2",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")sD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"ulid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),V(r,{validation:"url",code:R.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"regex",code:R.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?AS(s).test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?yD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?_D(s).test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?cD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"duration",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?vD(t.data,s.version)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"ip",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?bD(t.data,s.alg)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"jwt",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?wD(t.data,s.version)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cidr",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?mD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"base64",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?gD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"base64url",code:R.invalid_string,message:s.message}),n.dirty()):je.assertNever(s);return{status:n.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:R.invalid_string,...ie.errToObj(r)})}_addCheck(t){return new go({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ie.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ie.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ie.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ie.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ie.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ie.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ie.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ie.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ie.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ie.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ie.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ie.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ie.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ie.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ie.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ie.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ie.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ie.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ie.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ie.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ie.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ie.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ie.errToObj(n)})}nonempty(t){return this.min(1,ie.errToObj(t))}trim(){return new go({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new go({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new go({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Oi.create=e=>new Oi({checks:[],typeName:me.ZodString,coerce:e?.coerce??!1,...we(e)});function xD(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,a=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return a%i/10**s}var oc=class Jm extends Ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==J.number){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.number,received:s.parsedType}),fe}let n,r=new Ft;for(let s of this._def.checks)s.kind==="int"?je.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),V(n,{code:R.invalid_type,expected:"integer",received:"float",message:s.message}),r.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="multipleOf"?xD(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_finite,message:s.message}),r.dirty()):je.assertNever(s);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ie.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ie.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ie.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ie.toString(n))}setLimit(t,n,r,s){return new Jm({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ie.toString(s)}]})}_addCheck(t){return new Jm({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ie.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ie.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ie.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ie.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ie.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ie.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ie.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ie.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ie.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&je.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};oc.create=e=>new oc({checks:[],typeName:me.ZodNumber,coerce:e?.coerce||!1,...we(e)});var ha=class e extends Ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==J.bigint)return this._getInvalidInput(t);let n,r=new Ft;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):je.assertNever(s);return{status:r.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.bigint,received:n.parsedType}),fe}gte(t,n){return this.setLimit("min",t,!0,ie.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ie.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ie.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ie.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ie.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ie.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ie.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ie.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ie.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ie.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};ha.create=e=>new ha({checks:[],typeName:me.ZodBigInt,coerce:e?.coerce??!1,...we(e)});var pa=class extends Ie{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==J.boolean){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.boolean,received:n.parsedType}),fe}return Yt(t.data)}};pa.create=e=>new pa({typeName:me.ZodBoolean,coerce:e?.coerce||!1,...we(e)});var fa=class e extends Ie{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==J.date){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.date,received:s.parsedType}),fe}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_date}),fe}let n=new Ft,r;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):je.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ie.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ie.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};fa.create=e=>new fa({checks:[],coerce:e?.coerce||!1,typeName:me.ZodDate,...we(e)});var Ii=class extends Ie{_parse(t){if(this._getType(t)!==J.symbol){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.symbol,received:n.parsedType}),fe}return Yt(t.data)}};Ii.create=e=>new Ii({typeName:me.ZodSymbol,...we(e)});var ma=class extends Ie{_parse(t){if(this._getType(t)!==J.undefined){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.undefined,received:n.parsedType}),fe}return Yt(t.data)}};ma.create=e=>new ma({typeName:me.ZodUndefined,...we(e)});var ga=class extends Ie{_parse(t){if(this._getType(t)!==J.null){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.null,received:n.parsedType}),fe}return Yt(t.data)}};ga.create=e=>new ga({typeName:me.ZodNull,...we(e)});var Es=class extends Ie{constructor(){super(...arguments),this._any=!0}_parse(t){return Yt(t.data)}};Es.create=e=>new Es({typeName:me.ZodAny,...we(e)});var ra=class extends Ie{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Yt(e.data)}};ra.create=e=>new ra({typeName:me.ZodUnknown,...we(e)});var Wr=class extends Ie{_parse(e){let t=this._getOrReturnCtx(e);return V(t,{code:R.invalid_type,expected:J.never,received:t.parsedType}),fe}};Wr.create=e=>new Wr({typeName:me.ZodNever,...we(e)});var Ti=class extends Ie{_parse(t){if(this._getType(t)!==J.undefined){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.void,received:n.parsedType}),fe}return Yt(t.data)}};Ti.create=e=>new Ti({typeName:me.ZodVoid,...we(e)});var ya=class Kl extends Ie{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==J.array)return V(n,{code:R.invalid_type,expected:J.array,received:n.parsedType}),fe;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,o=n.data.length<s.exactLength.value;(i||o)&&(V(n,{code:i?R.too_big:R.too_small,minimum:o?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(V(n,{code:R.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(V(n,{code:R.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,o)=>s.type._parseAsync(new Dn(n,i,n.path,o)))).then(i=>Ft.mergeArray(r,i));let a=[...n.data].map((i,o)=>s.type._parseSync(new Dn(n,i,n.path,o)));return Ft.mergeArray(r,a)}get element(){return this._def.type}min(t,n){return new Kl({...this._def,minLength:{value:t,message:ie.toString(n)}})}max(t,n){return new Kl({...this._def,maxLength:{value:t,message:ie.toString(n)}})}length(t,n){return new Kl({...this._def,exactLength:{value:t,message:ie.toString(n)}})}nonempty(t){return this.min(1,t)}};ya.create=(e,t)=>new ya({type:e,minLength:null,maxLength:null,exactLength:null,typeName:me.ZodArray,...we(t)});function Ba(e){if(e instanceof Fn){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=kr.create(Ba(r))}return new Fn({...e._def,shape:()=>t})}else return e instanceof ya?new ya({...e._def,type:Ba(e.element)}):e instanceof kr?kr.create(Ba(e.unwrap())):e instanceof Os?Os.create(Ba(e.unwrap())):e instanceof Tr?Tr.create(e.items.map(t=>Ba(t))):e}var Fn=class Jn extends Ie{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=je.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==J.object){let c=this._getOrReturnCtx(t);return V(c,{code:R.invalid_type,expected:J.object,received:c.parsedType}),fe}let{status:n,ctx:r}=this._processInputParams(t),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof Wr&&this._def.unknownKeys==="strip"))for(let c in r.data)a.includes(c)||i.push(c);let o=[];for(let c of a){let l=s[c],u=r.data[c];o.push({key:{status:"valid",value:c},value:l._parse(new Dn(r,u,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof Wr){let c=this._def.unknownKeys;if(c==="passthrough")for(let l of i)o.push({key:{status:"valid",value:l},value:{status:"valid",value:r.data[l]}});else if(c==="strict")i.length>0&&(V(r,{code:R.unrecognized_keys,keys:i}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let l of i){let u=r.data[l];o.push({key:{status:"valid",value:l},value:c._parse(new Dn(r,u,r.path,l)),alwaysSet:l in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let c=[];for(let l of o){let u=await l.key,d=await l.value;c.push({key:u,value:d,alwaysSet:l.alwaysSet})}return c}).then(c=>Ft.mergeObjectSync(n,c)):Ft.mergeObjectSync(n,o)}get shape(){return this._def.shape()}strict(t){return ie.errToObj,new Jn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ie.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new Jn({...this._def,unknownKeys:"strip"})}passthrough(){return new Jn({...this._def,unknownKeys:"passthrough"})}extend(t){return new Jn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Jn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:me.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Jn({...this._def,catchall:t})}pick(t){let n={};for(let r of je.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Jn({...this._def,shape:()=>n})}omit(t){let n={};for(let r of je.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Jn({...this._def,shape:()=>n})}deepPartial(){return Ba(this)}partial(t){let n={};for(let r of je.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new Jn({...this._def,shape:()=>n})}required(t){let n={};for(let r of je.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof kr;)s=s._def.innerType;n[r]=s}return new Jn({...this._def,shape:()=>n})}keyof(){return CS(je.objectKeys(this.shape))}};Fn.create=(e,t)=>new Fn({shape:()=>e,unknownKeys:"strip",catchall:Wr.create(),typeName:me.ZodObject,...we(t)});Fn.strictCreate=(e,t)=>new Fn({shape:()=>e,unknownKeys:"strict",catchall:Wr.create(),typeName:me.ZodObject,...we(t)});Fn.lazycreate=(e,t)=>new Fn({shape:e,unknownKeys:"strip",catchall:Wr.create(),typeName:me.ZodObject,...we(t)});var cc=class extends Ie{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(s){for(let i of s)if(i.result.status==="valid")return i.result;for(let i of s)if(i.result.status==="dirty")return t.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(i=>new In(i.ctx.common.issues));return V(t,{code:R.invalid_union,unionErrors:a}),fe}if(t.common.async)return Promise.all(n.map(async s=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(r);{let s,a=[];for(let o of n){let c={...t,common:{...t.common,issues:[]},parent:null},l=o._parseSync({data:t.data,path:t.path,parent:c});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:c}),c.common.issues.length&&a.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let i=a.map(o=>new In(o));return V(t,{code:R.invalid_union,unionErrors:i}),fe}}get options(){return this._def.options}};cc.create=(e,t)=>new cc({options:e,typeName:me.ZodUnion,...we(t)});var Qr=e=>e instanceof _a?Qr(e.schema):e instanceof Tn?Qr(e.innerType()):e instanceof uc?[e.value]:e instanceof Bc?e.options:e instanceof va?je.objectValues(e.enum):e instanceof dc?Qr(e._def.innerType):e instanceof ma?[void 0]:e instanceof ga?[null]:e instanceof kr?[void 0,...Qr(e.unwrap())]:e instanceof Os?[null,...Qr(e.unwrap())]:e instanceof pc||e instanceof mc?Qr(e.unwrap()):e instanceof hc?Qr(e._def.innerType):[],Du=class e extends Ie{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.object)return V(n,{code:R.invalid_type,expected:J.object,received:n.parsedType}),fe;let r=this.discriminator,s=n.data[r],a=this.optionsMap.get(s);return a?n.common.async?a._parseAsync({data:n.data,path:n.path,parent:n}):a._parseSync({data:n.data,path:n.path,parent:n}):(V(n,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),fe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let a of n){let i=Qr(a.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let o of i){if(s.has(o))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(o)}`);s.set(o,a)}}return new e({typeName:me.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...we(r)})}};function Gm(e,t){let n=Dr(e),r=Dr(t);if(e===t)return{valid:!0,data:e};if(n===J.object&&r===J.object){let s=je.objectKeys(t),a=je.objectKeys(e).filter(o=>s.indexOf(o)!==-1),i={...e,...t};for(let o of a){let c=Gm(e[o],t[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(n===J.array&&r===J.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let a=0;a<e.length;a++){let i=e[a],o=t[a],c=Gm(i,o);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===J.date&&r===J.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var lc=class extends Ie{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(s,a)=>{if(Hm(s)||Hm(a))return fe;let i=Gm(s.value,a.value);return i.valid?((Wm(s)||Wm(a))&&t.dirty(),{status:t.value,value:i.data}):(V(n,{code:R.invalid_intersection_types}),fe)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>r(s,a)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};lc.create=(e,t,n)=>new lc({left:e,right:t,typeName:me.ZodIntersection,...we(n)});var Tr=class e extends Ie{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.array)return V(r,{code:R.invalid_type,expected:J.array,received:r.parsedType}),fe;if(r.data.length<this._def.items.length)return V(r,{code:R.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),fe;!this._def.rest&&r.data.length>this._def.items.length&&(V(r,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,i)=>{let o=this._def.items[i]||this._def.rest;return o?o._parse(new Dn(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>Ft.mergeArray(n,a)):Ft.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Tr.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Tr({items:e,typeName:me.ZodTuple,rest:null,...we(t)})};var $S=class Km extends Ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.object)return V(r,{code:R.invalid_type,expected:J.object,received:r.parsedType}),fe;let s=[],a=this._def.keyType,i=this._def.valueType;for(let o in r.data)s.push({key:a._parse(new Dn(r,o,r.path,o)),value:i._parse(new Dn(r,r.data[o],r.path,o)),alwaysSet:o in r.data});return r.common.async?Ft.mergeObjectAsync(n,s):Ft.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ie?new Km({keyType:t,valueType:n,typeName:me.ZodRecord,...we(r)}):new Km({keyType:Oi.create(),valueType:t,typeName:me.ZodRecord,...we(n)})}},Ai=class extends Ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.map)return V(r,{code:R.invalid_type,expected:J.map,received:r.parsedType}),fe;let s=this._def.keyType,a=this._def.valueType,i=[...r.data.entries()].map(([o,c],l)=>({key:s._parse(new Dn(r,o,r.path,[l,"key"])),value:a._parse(new Dn(r,c,r.path,[l,"value"]))}));if(r.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let c of i){let l=await c.key,u=await c.value;if(l.status==="aborted"||u.status==="aborted")return fe;(l.status==="dirty"||u.status==="dirty")&&n.dirty(),o.set(l.value,u.value)}return{status:n.value,value:o}})}else{let o=new Map;for(let c of i){let l=c.key,u=c.value;if(l.status==="aborted"||u.status==="aborted")return fe;(l.status==="dirty"||u.status==="dirty")&&n.dirty(),o.set(l.value,u.value)}return{status:n.value,value:o}}}};Ai.create=(e,t,n)=>new Ai({valueType:t,keyType:e,typeName:me.ZodMap,...we(n)});var $i=class e extends Ie{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.set)return V(r,{code:R.invalid_type,expected:J.set,received:r.parsedType}),fe;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(V(r,{code:R.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(V(r,{code:R.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let a=this._def.valueType;function i(c){let l=new Set;for(let u of c){if(u.status==="aborted")return fe;u.status==="dirty"&&n.dirty(),l.add(u.value)}return{status:n.value,value:l}}let o=[...r.data.values()].map((c,l)=>a._parse(new Dn(r,c,r.path,l)));return r.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:ie.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:ie.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};$i.create=(e,t)=>new $i({valueType:e,minSize:null,maxSize:null,typeName:me.ZodSet,...we(t)});var Fu=class e extends Ie{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.function)return V(n,{code:R.invalid_type,expected:J.function,received:n.parsedType}),fe;function r(o,c){return Mu({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Lu(),Si].filter(l=>!!l),issueData:{code:R.invalid_arguments,argumentsError:c}})}function s(o,c){return Mu({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Lu(),Si].filter(l=>!!l),issueData:{code:R.invalid_return_type,returnTypeError:c}})}let a={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Ss){let o=this;return Yt(async function(...c){let l=new In([]),u=await o._def.args.parseAsync(c,a).catch(h=>{throw l.addIssue(r(c,h)),l}),d=await Reflect.apply(i,this,u);return await o._def.returns._def.type.parseAsync(d,a).catch(h=>{throw l.addIssue(s(d,h)),l})})}else{let o=this;return Yt(function(...c){let l=o._def.args.safeParse(c,a);if(!l.success)throw new In([r(c,l.error)]);let u=Reflect.apply(i,this,l.data),d=o._def.returns.safeParse(u,a);if(!d.success)throw new In([s(u,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Tr.create(t).rest(ra.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||Tr.create([]).rest(ra.create()),returns:n||ra.create(),typeName:me.ZodFunction,...we(r)})}},_a=class extends Ie{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};_a.create=(e,t)=>new _a({getter:e,typeName:me.ZodLazy,...we(t)});var uc=class extends Ie{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return V(t,{received:t.data,code:R.invalid_literal,expected:this._def.value}),fe}return{status:"valid",value:e.data}}get value(){return this._def.value}};uc.create=(e,t)=>new uc({value:e,typeName:me.ZodLiteral,...we(t)});function CS(e,t){return new Bc({values:e,typeName:me.ZodEnum,...we(t)})}var Bc=class Xm extends Ie{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return V(n,{expected:je.joinValues(r),received:n.parsedType,code:R.invalid_type}),fe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return V(n,{received:n.data,code:R.invalid_enum_value,options:r}),fe}return Yt(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Xm.create(t,{...this._def,...n})}exclude(t,n=this._def){return Xm.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Bc.create=CS;var va=class extends Ie{_parse(t){let n=je.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==J.string&&r.parsedType!==J.number){let s=je.objectValues(n);return V(r,{expected:je.joinValues(s),received:r.parsedType,code:R.invalid_type}),fe}if(this._cache||(this._cache=new Set(je.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=je.objectValues(n);return V(r,{received:r.data,code:R.invalid_enum_value,options:s}),fe}return Yt(t.data)}get enum(){return this._def.values}};va.create=(e,t)=>new va({values:e,typeName:me.ZodNativeEnum,...we(t)});var Ss=class extends Ie{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.promise&&n.common.async===!1)return V(n,{code:R.invalid_type,expected:J.promise,received:n.parsedType}),fe;let r=n.parsedType===J.promise?n.data:Promise.resolve(n.data);return Yt(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ss.create=(e,t)=>new Ss({type:e,typeName:me.ZodPromise,...we(t)});var Tn=class extends Ie{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===me.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,a={addIssue:i=>{V(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),s.type==="preprocess"){let i=s.transform(r.data,a);if(r.common.async)return Promise.resolve(i).then(async o=>{if(n.value==="aborted")return fe;let c=await this._def.schema._parseAsync({data:o,path:r.path,parent:r});return c.status==="aborted"?fe:c.status==="dirty"||n.value==="dirty"?zu(c.value):c});{if(n.value==="aborted")return fe;let o=this._def.schema._parseSync({data:i,path:r.path,parent:r});return o.status==="aborted"?fe:o.status==="dirty"||n.value==="dirty"?zu(o.value):o}}if(s.type==="refinement"){let i=o=>{let c=s.refinement(o,a);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?fe:(o.status==="dirty"&&n.dirty(),i(o.value),{status:n.value,value:o.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>o.status==="aborted"?fe:(o.status==="dirty"&&n.dirty(),i(o.value).then(()=>({status:n.value,value:o.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!da(i))return fe;let o=s.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:o}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>da(i)?Promise.resolve(s.transform(i.value,a)).then(o=>({status:n.value,value:o})):fe);je.assertNever(s)}};Tn.create=(e,t,n)=>new Tn({schema:e,typeName:me.ZodEffects,effect:t,...we(n)});Tn.createWithPreprocess=(e,t,n)=>new Tn({schema:t,effect:{type:"preprocess",transform:e},typeName:me.ZodEffects,...we(n)});var kr=class extends Ie{_parse(e){return this._getType(e)===J.undefined?Yt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};kr.create=(e,t)=>new kr({innerType:e,typeName:me.ZodOptional,...we(t)});var Os=class extends Ie{_parse(e){return this._getType(e)===J.null?Yt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Os.create=(e,t)=>new Os({innerType:e,typeName:me.ZodNullable,...we(t)});var dc=class extends Ie{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===J.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};dc.create=(e,t)=>new dc({innerType:e,typeName:me.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...we(t)});var hc=class extends Ie{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ic(r)?r.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new In(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new In(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};hc.create=(e,t)=>new hc({innerType:e,typeName:me.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...we(t)});var Ci=class extends Ie{_parse(t){if(this._getType(t)!==J.nan){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.nan,received:n.parsedType}),fe}return{status:"valid",value:t.data}}};Ci.create=e=>new Ci({typeName:me.ZodNaN,...we(e)});var kD=Symbol("zod_brand"),pc=class extends Ie{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},fc=class e extends Ie{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?fe:s.status==="dirty"?(n.dirty(),zu(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?fe:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:me.ZodPipeline})}},mc=class extends Ie{_parse(e){let t=this._def.innerType._parse(e),n=r=>(da(r)&&(r.value=Object.freeze(r.value)),r);return ic(t)?t.then(r=>n(r)):n(t)}unwrap(){return this._def.innerType}};mc.create=(e,t)=>new mc({innerType:e,typeName:me.ZodReadonly,...we(t)});function Kb(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function qy(e,t={},n){return e?Es.create().superRefine((r,s)=>{let a=e(r);if(a instanceof Promise)return a.then(i=>{if(!i){let o=Kb(t,r),c=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:c})}});if(!a){let i=Kb(t,r),o=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:o})}}):Es.create()}var ED={object:Fn.lazycreate},me;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(me||(me={}));var SD=(e,t={message:`Input not instance of ${e.name}`})=>qy(n=>n instanceof e,t),sn=Oi.create,jo=oc.create,OD=Ci.create,ID=ha.create,NS=pa.create,TD=fa.create,AD=Ii.create,$D=ma.create,CD=ga.create,ND=Es.create,PD=ra.create,jD=Wr.create,RD=Ti.create,ei=ya.create,ss=Fn.create,LD=Fn.strictCreate,MD=cc.create,zD=Du.create,DD=lc.create,FD=Tr.create,UD=$S.create,BD=Ai.create,ZD=$i.create,VD=Fu.create,qD=_a.create,yo=uc.create,HD=Bc.create,WD=va.create,JD=Ss.create,Xb=Tn.create,GD=kr.create,KD=Os.create,XD=Tn.createWithPreprocess,YD=fc.create,QD=()=>sn().optional(),eF=()=>jo().optional(),tF=()=>NS().optional(),nF={string:(e=>Oi.create({...e,coerce:!0})),number:(e=>oc.create({...e,coerce:!0})),boolean:(e=>pa.create({...e,coerce:!0})),bigint:(e=>ha.create({...e,coerce:!0})),date:(e=>fa.create({...e,coerce:!0}))},rF=fe,er=Object.freeze(Object.defineProperty({__proto__:null,BRAND:kD,DIRTY:zu,EMPTY_PATH:tD,INVALID:fe,NEVER:rF,OK:Yt,ParseStatus:Ft,Schema:Ie,ZodAny:Es,ZodArray:ya,ZodBigInt:ha,ZodBoolean:pa,ZodBranded:pc,ZodCatch:hc,ZodDate:fa,ZodDefault:dc,ZodDiscriminatedUnion:Du,ZodEffects:Tn,ZodEnum:Bc,ZodError:In,get ZodFirstPartyTypeKind(){return me},ZodFunction:Fu,ZodIntersection:lc,ZodIssueCode:R,ZodLazy:_a,ZodLiteral:uc,ZodMap:Ai,ZodNaN:Ci,ZodNativeEnum:va,ZodNever:Wr,ZodNull:ga,ZodNullable:Os,ZodNumber:oc,ZodObject:Fn,ZodOptional:kr,ZodParsedType:J,ZodPipeline:fc,ZodPromise:Ss,ZodReadonly:mc,ZodRecord:$S,ZodSchema:Ie,ZodSet:$i,ZodString:Oi,ZodSymbol:Ii,ZodTransformer:Tn,ZodTuple:Tr,ZodType:Ie,ZodUndefined:ma,ZodUnion:cc,ZodUnknown:ra,ZodVoid:Ti,addIssueToContext:V,any:ND,array:ei,bigint:ID,boolean:NS,coerce:nF,custom:qy,date:TD,datetimeRegex:AS,defaultErrorMap:Si,discriminatedUnion:zD,effect:Xb,enum:HD,function:VD,getErrorMap:Lu,getParsedType:Dr,instanceof:SD,intersection:DD,isAborted:Hm,isAsync:ic,isDirty:Wm,isValid:da,late:ED,lazy:qD,literal:yo,makeIssue:Mu,map:BD,nan:OD,nativeEnum:WD,never:jD,null:CD,nullable:KD,number:jo,object:ss,get objectUtil(){return qm},oboolean:tF,onumber:eF,optional:GD,ostring:QD,pipeline:YD,preprocess:XD,promise:JD,quotelessJson:Q5,record:UD,set:ZD,setErrorMap:eD,strictObject:LD,string:sn,symbol:AD,transformer:Xb,tuple:FD,undefined:$D,union:MD,unknown:PD,get util(){return je},void:RD},Symbol.toStringTag,{value:"Module"}));Ln.Root({messages:Ln({reducer:Uc,default:()=>[]})});var sF={reducer:{fn:Uc},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]};ss({messages:H5(qy(),sF)});async function aF(e,t,n){if(n===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
267
+
268
+ If you continue to see this error, please import from "@langchain/core/callbacks/dispatch/web"`,"and explicitly pass in a config parameter.",`
269
+
270
+ Or, if you are calling this from a custom tool, ensure you're using the "tool" helper constructor as documented here:`,`
271
+ |`,`
272
+ \u2514-> https://js.langchain.com/docs/how_to/custom_tools#tool-function`,`
273
+ `].join(" "));let r=await Xt(n),s=r?.getParentRunId();r!==void 0&&s!==void 0&&await r.handleCustomEvent?.(e,t,s)}function ge(e,t,n,r,s){if(typeof t=="function"?e!==t||!0:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n}function S(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new 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)}var PS=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return PS=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,r=>(+r^n()&15>>+r/4).toString(16))};function Ym(e){return typeof e=="object"&&e!==null&&("name"in e&&e.name==="AbortError"||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}var Qm=e=>{if(e instanceof Error)return e;if(typeof e=="object"&&e!==null){try{if(Object.prototype.toString.call(e)==="[object Error]"){let t=new 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 new Error(JSON.stringify(e))}catch{}}return new Error(e)},ue=class extends Error{},Ut=class e extends ue{constructor(t,n,r,s){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=s,this.requestID=s?.get("x-request-id"),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(t,n,r){let s=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):r;return t&&s?`${t} ${s}`:t?`${t} status code (no body)`:s||"(no status code or body)"}static generate(t,n,r,s){if(!t||!s)return new Ni({message:r,cause:Qm(n)});let a=n?.error;return t===400?new Uu(t,a,r,s):t===401?new Bu(t,a,r,s):t===403?new Zu(t,a,r,s):t===404?new Vu(t,a,r,s):t===409?new qu(t,a,r,s):t===422?new Hu(t,a,r,s):t===429?new Wu(t,a,r,s):t>=500?new Ju(t,a,r,s):new e(t,a,r,s)}},dn=class extends Ut{constructor({message:t}={}){super(void 0,void 0,t||"Request was aborted.",void 0)}},Ni=class extends Ut{constructor({message:t,cause:n}){super(void 0,void 0,t||"Connection error.",void 0),n&&(this.cause=n)}},gc=class extends Ni{constructor({message:t}={}){super({message:t??"Request timed out."})}},Uu=class extends Ut{},Bu=class extends Ut{},Zu=class extends Ut{},Vu=class extends Ut{},qu=class extends Ut{},Hu=class extends Ut{},Wu=class extends Ut{},Ju=class extends Ut{},Gu=class extends ue{constructor(){super("Could not parse response content as the length limit was reached")}},Ku=class extends ue{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},Js=class extends Error{constructor(t){super(t)}},iF=/^[a-z][a-z0-9+.-]*:/i,oF=e=>iF.test(e),an=e=>(an=Array.isArray,an(e)),Yb=an;function jS(e){return typeof e!="object"?{}:e??{}}function Qb(e){if(!e)return!0;for(let t in e)return!1;return!0}function cF(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function uf(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}var lF=(e,t)=>{if(typeof t!="number"||!Number.isInteger(t))throw new ue(`${e} must be an integer`);if(t<0)throw new ue(`${e} must be a positive integer`);return t},uF=e=>{try{return JSON.parse(e)}catch{return}},Zc=e=>new Promise(t=>setTimeout(t,e)),Za="6.31.0",dF=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function hF(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var pF=()=>{let e=hF();if(e==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Za,"X-Stainless-OS":tw(Deno.build.os),"X-Stainless-Arch":ew(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":Za,"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":Za,"X-Stainless-OS":tw(globalThis.process.platform??"unknown"),"X-Stainless-Arch":ew(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=fF();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Za,"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":Za,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function fF(){if(typeof navigator>"u"||!navigator)return null;let e=[{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/}];for(let{key:t,pattern:n}of e){let r=n.exec(navigator.userAgent);if(r){let s=r[1]||0,a=r[2]||0,i=r[3]||0;return{browser:t,version:`${s}.${a}.${i}`}}}return null}var ew=e=>e==="x32"?"x32":e==="x86_64"||e==="x64"?"x64":e==="arm"?"arm":e==="aarch64"||e==="arm64"?"arm64":e?`other:${e}`:"unknown",tw=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"),nw,mF=()=>nw??(nw=pF());function gF(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function RS(...e){let t=globalThis.ReadableStream;if(typeof t>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function LS(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return RS({start(){},async pull(n){let{done:r,value:s}=await t.next();r?n.close():n.enqueue(s)},async cancel(){await t.return?.()}})}function MS(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let n=await t.read();return n?.done&&t.releaseLock(),n}catch(n){throw t.releaseLock(),n}},async return(){let n=t.cancel();return t.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function yF(e){if(e===null||typeof e!="object")return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var _F=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)}),zS="RFC3986",DS=e=>String(e),rw={RFC1738:e=>String(e).replace(/%20/g,"+"),RFC3986:DS},vF="RFC1738",eg=(e,t)=>(eg=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),eg(e,t)),hr=(()=>{let e=[];for(let t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})(),df=1024,bF=(e,t,n,r,s)=>{if(e.length===0)return e;let a=e;if(typeof e=="symbol"?a=Symbol.prototype.toString.call(e):typeof e!="string"&&(a=String(e)),n==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(o){return"%26%23"+parseInt(o.slice(2),16)+"%3B"});let i="";for(let o=0;o<a.length;o+=df){let c=a.length>=df?a.slice(o,o+df):a,l=[];for(let u=0;u<c.length;++u){let d=c.charCodeAt(u);if(d===45||d===46||d===95||d===126||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||s===vF&&(d===40||d===41)){l[l.length]=c.charAt(u);continue}if(d<128){l[l.length]=hr[d];continue}if(d<2048){l[l.length]=hr[192|d>>6]+hr[128|d&63];continue}if(d<55296||d>=57344){l[l.length]=hr[224|d>>12]+hr[128|d>>6&63]+hr[128|d&63];continue}u+=1,d=65536+((d&1023)<<10|c.charCodeAt(u)&1023),l[l.length]=hr[240|d>>18]+hr[128|d>>12&63]+hr[128|d>>6&63]+hr[128|d&63]}i+=l.join("")}return i};function wF(e){return!e||typeof e!="object"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function sw(e,t){if(an(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var FS={brackets(e){return String(e)+"[]"},comma:"comma",indices(e,t){return String(e)+"["+t+"]"},repeat(e){return String(e)}},US=function(e,t){Array.prototype.push.apply(e,an(t)?t:[t])},aw,bt={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:bF,encodeValuesOnly:!1,format:zS,formatter:DS,indices:!1,serializeDate(e){return(aw??(aw=Function.prototype.call.bind(Date.prototype.toISOString)))(e)},skipNulls:!1,strictNullHandling:!1};function xF(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"}var hf={};function BS(e,t,n,r,s,a,i,o,c,l,u,d,h,p,f,m,v,w){let y=e,x=w,k=0,O=!1;for(;(x=x.get(hf))!==void 0&&!O;){let T=x.get(e);if(k+=1,typeof T<"u"){if(T===k)throw new RangeError("Cyclic object value");O=!0}typeof x.get(hf)>"u"&&(k=0)}if(typeof l=="function"?y=l(t,y):y instanceof Date?y=h?.(y):n==="comma"&&an(y)&&(y=sw(y,function(T){return T instanceof Date?h?.(T):T})),y===null){if(a)return c&&!m?c(t,bt.encoder,v,"key",p):t;y=""}if(xF(y)||wF(y)){if(c){let T=m?t:c(t,bt.encoder,v,"key",p);return[f?.(T)+"="+f?.(c(y,bt.encoder,v,"value",p))]}return[f?.(t)+"="+f?.(String(y))]}let $=[];if(typeof y>"u")return $;let I;if(n==="comma"&&an(y))m&&c&&(y=sw(y,c)),I=[{value:y.length>0?y.join(",")||null:void 0}];else if(an(l))I=l;else{let T=Object.keys(y);I=u?T.sort(u):T}let _=o?String(t).replace(/\./g,"%2E"):String(t),P=r&&an(y)&&y.length===1?_+"[]":_;if(s&&an(y)&&y.length===0)return P+"[]";for(let T=0;T<I.length;++T){let Z=I[T],ze=typeof Z=="object"&&typeof Z.value<"u"?Z.value:y[Z];if(i&&ze===null)continue;let et=d&&o?Z.replace(/\./g,"%2E"):Z,B=an(y)?typeof n=="function"?n(P,et):P:P+(d?"."+et:"["+et+"]");w.set(e,k);let M=new WeakMap;M.set(hf,w),US($,BS(ze,B,n,r,s,a,i,o,n==="comma"&&m&&an(y)?null:c,l,u,d,h,p,f,m,v,M))}return $}function kF(e=bt){if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&typeof e.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&typeof e.encoder<"u"&&typeof e.encoder!="function")throw new TypeError("Encoder has to be a function.");let t=e.charset||bt.charset;if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let n=zS;if(typeof e.format<"u"){if(!eg(rw,e.format))throw new TypeError("Unknown format option provided.");n=e.format}let r=rw[n],s=bt.filter;(typeof e.filter=="function"||an(e.filter))&&(s=e.filter);let a;if(e.arrayFormat&&e.arrayFormat in FS?a=e.arrayFormat:"indices"in e?a=e.indices?"indices":"repeat":a=bt.arrayFormat,"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let i=typeof e.allowDots>"u"?e.encodeDotInKeys?!0:bt.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:bt.addQueryPrefix,allowDots:i,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:bt.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:bt.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?bt.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:bt.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:bt.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:bt.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:bt.encodeValuesOnly,filter:s,format:n,formatter:r,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:bt.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:bt.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:bt.strictNullHandling}}function EF(e,t={}){let n=e,r=kF(t),s,a;typeof r.filter=="function"?(a=r.filter,n=a("",n)):an(r.filter)&&(a=r.filter,s=a);let i=[];if(typeof n!="object"||n===null)return"";let o=FS[r.arrayFormat],c=o==="comma"&&r.commaRoundTrip;s||(s=Object.keys(n)),r.sort&&s.sort(r.sort);let l=new WeakMap;for(let h=0;h<s.length;++h){let p=s[h];r.skipNulls&&n[p]===null||US(i,BS(n[p],p,o,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}let u=i.join(r.delimiter),d=r.addQueryPrefix===!0?"?":"";return r.charsetSentinel&&(r.charset==="iso-8859-1"?d+="utf8=%26%2310003%3B&":d+="utf8=%E2%9C%93&"),u.length>0?d+u:""}function SF(e){return EF(e,{arrayFormat:"brackets"})}function OF(e){let t=0;for(let s of e)t+=s.length;let n=new Uint8Array(t),r=0;for(let s of e)n.set(s,r),r+=s.length;return n}var iw;function Hy(e){let t;return(iw??(t=new globalThis.TextEncoder,iw=t.encode.bind(t)))(e)}var ow;function cw(e){let t;return(ow??(t=new globalThis.TextDecoder,ow=t.decode.bind(t)))(e)}var bn,wn,Pi=class{constructor(){bn.set(this,void 0),wn.set(this,void 0),ge(this,bn,new Uint8Array),ge(this,wn,null)}decode(t){if(t==null)return[];let n=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?Hy(t):t;ge(this,bn,OF([S(this,bn,"f"),n]));let r=[],s;for(;(s=IF(S(this,bn,"f"),S(this,wn,"f")))!=null;){if(s.carriage&&S(this,wn,"f")==null){ge(this,wn,s.index);continue}if(S(this,wn,"f")!=null&&(s.index!==S(this,wn,"f")+1||s.carriage)){r.push(cw(S(this,bn,"f").subarray(0,S(this,wn,"f")-1))),ge(this,bn,S(this,bn,"f").subarray(S(this,wn,"f"))),ge(this,wn,null);continue}let a=S(this,wn,"f")!==null?s.preceding-1:s.preceding,i=cw(S(this,bn,"f").subarray(0,a));r.push(i),ge(this,bn,S(this,bn,"f").subarray(s.index)),ge(this,wn,null)}return r}flush(){return S(this,bn,"f").length?this.decode(`
274
+ `):[]}};bn=new WeakMap,wn=new WeakMap;Pi.NEWLINE_CHARS=new Set([`
275
+ `,"\r"]);Pi.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function IF(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 TF(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}var Xu={off:0,error:200,warn:300,info:400,debug:500},lw=(e,t,n)=>{if(e){if(cF(Xu,e))return e;At(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Xu))}`)}};function _o(){}function bl(e,t,n){return!t||Xu[e]>Xu[n]?_o:t[e].bind(t)}var AF={error:_o,warn:_o,info:_o,debug:_o},uw=new WeakMap;function At(e){let t=e.logger,n=e.logLevel??"off";if(!t)return AF;let r=uw.get(t);if(r&&r[0]===n)return r[1];let s={error:bl("error",t,n),warn:bl("warn",t,n),info:bl("info",t,n),debug:bl("debug",t,n)};return uw.set(t,[n,s]),s}var Bs=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([t,n])=>[t,t.toLowerCase()==="authorization"||t.toLowerCase()==="cookie"||t.toLowerCase()==="set-cookie"?"***":n]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),ao,ba=class e{constructor(t,n,r){this.iterator=t,ao.set(this,void 0),this.controller=n,ge(this,ao,r)}static fromSSEResponse(t,n,r,s){let a=!1,i=r?At(r):console;async function*o(){if(a)throw new ue("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let c=!1;try{for await(let l of $F(t,n))if(!c){if(l.data.startsWith("[DONE]")){c=!0;continue}if(l.event===null||!l.event.startsWith("thread.")){let u;try{u=JSON.parse(l.data)}catch(d){throw i.error("Could not parse message into JSON:",l.data),i.error("From chunk:",l.raw),d}if(u&&u.error)throw new Ut(void 0,u.error,void 0,t.headers);yield s?{event:l.event,data:u}:u}else{let u;try{u=JSON.parse(l.data)}catch(d){throw console.error("Could not parse message into JSON:",l.data),console.error("From chunk:",l.raw),d}if(l.event=="error")throw new Ut(void 0,u.error,u.message,void 0);yield{event:l.event,data:u}}}c=!0}catch(l){if(Ym(l))return;throw l}finally{c||n.abort()}}return new e(o,n,r)}static fromReadableStream(t,n,r){let s=!1;async function*a(){let o=new Pi,c=MS(t);for await(let l of c)for(let u of o.decode(l))yield u;for(let l of o.flush())yield l}async function*i(){if(s)throw new ue("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let o=!1;try{for await(let c of a())o||c&&(yield JSON.parse(c));o=!0}catch(c){if(Ym(c))return;throw c}finally{o||n.abort()}}return new e(i,n,r)}[(ao=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),s=a=>({next:()=>{if(a.length===0){let i=r.next();t.push(i),n.push(i)}return a.shift()}});return[new e(()=>s(t),this.controller,S(this,ao,"f")),new e(()=>s(n),this.controller,S(this,ao,"f"))]}toReadableStream(){let t=this,n;return RS({async start(){n=t[Symbol.asyncIterator]()},async pull(r){try{let{value:s,done:a}=await n.next();if(a)return r.close();let i=Hy(JSON.stringify(s)+`
276
+ `);r.enqueue(i)}catch(s){r.error(s)}},async cancel(){await n.return?.()}})}};async function*$F(e,t){if(!e.body)throw t.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new ue("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 ue("Attempted to iterate over a response with no body");let n=new tg,r=new Pi,s=MS(e.body);for await(let a of CF(s))for(let i of r.decode(a)){let o=n.decode(i);o&&(yield o)}for(let a of r.flush()){let i=n.decode(a);i&&(yield i)}}async function*CF(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let r=n instanceof ArrayBuffer?new Uint8Array(n):typeof n=="string"?Hy(n):n,s=new Uint8Array(t.length+r.length);s.set(t),s.set(r,t.length),t=s;let a;for(;(a=TF(t))!==-1;)yield t.slice(0,a),t=t.slice(a)}t.length>0&&(yield t)}var tg=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(t){if(t.endsWith("\r")&&(t=t.substring(0,t.length-1)),!t){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join(`
277
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(t),t.startsWith(":"))return null;let[n,r,s]=NF(t,":");return s.startsWith(" ")&&(s=s.substring(1)),n==="event"?this.event=s:n==="data"&&this.data.push(s),null}};function NF(e,t){let n=e.indexOf(t);return n!==-1?[e.substring(0,n),t,e.substring(n+t.length)]:[e,"",""]}async function ZS(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:s,startTime:a}=t,i=await(async()=>{if(t.options.stream)return At(e).debug("response",n.status,n.url,n.headers,n.body),t.options.__streamClass?t.options.__streamClass.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData):ba.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData);if(n.status===204)return null;if(t.options.__binaryResponse)return n;let o=n.headers.get("content-type")?.split(";")[0]?.trim();if(o?.includes("application/json")||o?.endsWith("+json")){if(n.headers.get("content-length")==="0")return;let c=await n.json();return VS(c,n)}return await n.text()})();return At(e).debug(`[${r}] response parsed`,Bs({retryOfRequestLogID:s,url:n.url,status:n.status,body:i,durationMs:Date.now()-a})),i}function VS(e,t){return!e||typeof e!="object"||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get("x-request-id"),enumerable:!1})}var vo,Yu=class e extends Promise{constructor(t,n,r=ZS){super(s=>{s(null)}),this.responsePromise=n,this.parseResponse=r,vo.set(this,void 0),ge(this,vo,t)}_thenUnwrap(t){return new e(S(this,vo,"f"),this.responsePromise,async(n,r)=>VS(t(await this.parseResponse(n,r),r),r.response))}asResponse(){return this.responsePromise.then(t=>t.response)}async withResponse(){let[t,n]=await Promise.all([this.parse(),this.asResponse()]);return{data:t,response:n,request_id:n.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(t=>this.parseResponse(S(this,vo,"f"),t))),this.parsedPromise}then(t,n){return this.parse().then(t,n)}catch(t){return this.parse().catch(t)}finally(t){return this.parse().finally(t)}};vo=new WeakMap;var wl,yc=class{constructor(t,n,r,s){wl.set(this,void 0),ge(this,wl,t),this.options=s,this.response=n,this.body=r}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let t=this.nextPageRequestOptions();if(!t)throw new ue("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await S(this,wl,"f").requestAPIList(this.constructor,t)}async*iterPages(){let t=this;for(yield t;t.hasNextPage();)t=await t.getNextPage(),yield t}async*[(wl=new WeakMap,Symbol.asyncIterator)](){for await(let t of this.iterPages())for(let n of t.getPaginatedItems())yield n}},ng=class extends Yu{constructor(t,n,r){super(t,n,async(s,a)=>new r(s,a.response,await ZS(s,a),a.options))}async*[Symbol.asyncIterator](){let t=await this;for await(let n of t)yield n}},ji=class extends yc{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.object=r.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},rt=class extends yc{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.has_more=r.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let t=this.getPaginatedItems(),n=t[t.length-1]?.id;return n?{...this.options,query:{...jS(this.options.query),after:n}}:null}},wa=class extends yc{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.has_more=r.has_more||!1,this.last_id=r.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let t=this.last_id;return t?{...this.options,query:{...jS(this.options.query),after:t}}:null}},qS=()=>{if(typeof File>"u"){let{process:e}=globalThis,t=typeof e?.versions?.node=="string"&&parseInt(e.versions.node.split("."))<20;throw new 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 Ro(e,t,n){return qS(),new File(e,t??"unknown_file",n)}function Xl(e){return(typeof e=="object"&&e!==null&&("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))||"").split(/[\\/]/).pop()||void 0}var Wy=e=>e!=null&&typeof e=="object"&&typeof e[Symbol.asyncIterator]=="function",vh=async(e,t)=>rg(e.body)?{...e,body:await HS(e.body,t)}:e,br=async(e,t)=>({...e,body:await HS(e.body,t)}),dw=new WeakMap;function PF(e){let t=typeof e=="function"?e:e.fetch,n=dw.get(t);if(n)return n;let r=(async()=>{try{let s="Response"in t?t.Response:(await t("data:,")).constructor,a=new FormData;return a.toString()!==await new s(a).text()}catch{return!0}})();return dw.set(t,r),r}var HS=async(e,t)=>{if(!await PF(t))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let n=new FormData;return await Promise.all(Object.entries(e||{}).map(([r,s])=>sg(n,r,s))),n},WS=e=>e instanceof Blob&&"name"in e,jF=e=>typeof e=="object"&&e!==null&&(e instanceof Response||Wy(e)||WS(e)),rg=e=>{if(jF(e))return!0;if(Array.isArray(e))return e.some(rg);if(e&&typeof e=="object"){for(let t in e)if(rg(e[t]))return!0}return!1},sg=async(e,t,n)=>{if(n!==void 0){if(n==null)throw new 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)e.append(t,Ro([await n.blob()],Xl(n)));else if(Wy(n))e.append(t,Ro([await new Response(LS(n)).blob()],Xl(n)));else if(WS(n))e.append(t,n,Xl(n));else if(Array.isArray(n))await Promise.all(n.map(r=>sg(e,t+"[]",r)));else if(typeof n=="object")await Promise.all(Object.entries(n).map(([r,s])=>sg(e,`${t}[${r}]`,s)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},JS=e=>e!=null&&typeof e=="object"&&typeof e.size=="number"&&typeof e.type=="string"&&typeof e.text=="function"&&typeof e.slice=="function"&&typeof e.arrayBuffer=="function",RF=e=>e!=null&&typeof e=="object"&&typeof e.name=="string"&&typeof e.lastModified=="number"&&JS(e),LF=e=>e!=null&&typeof e=="object"&&typeof e.url=="string"&&typeof e.blob=="function";async function MF(e,t,n){if(qS(),e=await e,RF(e))return e instanceof File?e:Ro([await e.arrayBuffer()],e.name);if(LF(e)){let s=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),Ro(await ag(s),t,n)}let r=await ag(e);if(t||(t=Xl(e)),!n?.type){let s=r.find(a=>typeof a=="object"&&"type"in a&&a.type);typeof s=="string"&&(n={...n,type:s})}return Ro(r,t,n)}async function ag(e){let t=[];if(typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(JS(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(Wy(e))for await(let n of e)t.push(...await ag(n));else{let n=e?.constructor?.name;throw new Error(`Unexpected data type: ${typeof e}${n?`; constructor: ${n}`:""}${zF(e)}`)}return t}function zF(e){return typeof e!="object"||e===null?"":`; props: [${Object.getOwnPropertyNames(e).map(t=>`"${t}"`).join(", ")}]`}var te=class{constructor(t){this._client=t}};function GS(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var hw=Object.freeze(Object.create(null)),DF=(e=GS)=>function(t,...n){if(t.length===1)return t[0];let r=!1,s=[],a=t.reduce((l,u,d)=>{/[?#]/.test(u)&&(r=!0);let h=n[d],p=(r?encodeURIComponent:e)(""+h);return d!==n.length&&(h==null||typeof h=="object"&&h.toString===Object.getPrototypeOf(Object.getPrototypeOf(h.hasOwnProperty??hw)??hw)?.toString)&&(p=h+"",s.push({start:l.length+u.length,length:p.length,error:`Value of type ${Object.prototype.toString.call(h).slice(8,-1)} is not a valid path parameter`})),l+u+(d===n.length?"":p)},""),i=a.split(/[?#]/,1)[0],o=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=o.exec(i))!==null;)s.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can't be safely passed as a path parameter`});if(s.sort((l,u)=>l.start-u.start),s.length>0){let l=0,u=s.reduce((d,h)=>{let p=" ".repeat(h.start-l),f="^".repeat(h.length);return l=h.start+h.length,d+p+f},"");throw new ue(`Path parameters result in path with invalid segments:
278
+ ${s.map(d=>d.error).join(`
279
+ `)}
280
+ ${a}
281
+ ${u}`)}return a},N=DF(GS),KS=class extends te{list(e,t={},n){return this._client.getAPIList(N`/chat/completions/${e}/messages`,rt,{query:t,...n})}};function Qu(e){return e!==void 0&&"function"in e&&e.function!==void 0}function Jy(e){return e?.$brand==="auto-parseable-response-format"}function Vc(e){return e?.$brand==="auto-parseable-tool"}function FF(e,t){return!t||!XS(t)?{...e,choices:e.choices.map(n=>(YS(n.message.tool_calls),{...n,message:{...n.message,parsed:null,...n.message.tool_calls?{tool_calls:n.message.tool_calls}:void 0}}))}:Gy(e,t)}function Gy(e,t){let n=e.choices.map(r=>{if(r.finish_reason==="length")throw new Gu;if(r.finish_reason==="content_filter")throw new Ku;return YS(r.message.tool_calls),{...r,message:{...r.message,...r.message.tool_calls?{tool_calls:r.message.tool_calls?.map(s=>BF(t,s))??void 0}:void 0,parsed:r.message.content&&!r.message.refusal?UF(t,r.message.content):null}}});return{...e,choices:n}}function UF(e,t){return e.response_format?.type!=="json_schema"?null:e.response_format?.type==="json_schema"?"$parseRaw"in e.response_format?e.response_format.$parseRaw(t):JSON.parse(t):null}function BF(e,t){let n=e.tools?.find(r=>Qu(r)&&r.function?.name===t.function.name);return{...t,function:{...t.function,parsed_arguments:Vc(n)?n.$parseRaw(t.function.arguments):n?.function.strict?JSON.parse(t.function.arguments):null}}}function ZF(e,t){if(!e||!("tools"in e)||!e.tools)return!1;let n=e.tools?.find(r=>Qu(r)&&r.function?.name===t.function.name);return Qu(n)&&(Vc(n)||n?.function.strict||!1)}function XS(e){return Jy(e.response_format)?!0:e.tools?.some(t=>Vc(t)||t.type==="function"&&t.function.strict===!0)??!1}function YS(e){for(let t of e||[])if(t.type!=="function")throw new ue(`Currently only \`function\` tool calls are supported; Received \`${t.type}\``)}function VF(e){for(let t of e??[]){if(t.type!=="function")throw new ue(`Currently only \`function\` tool types support auto-parsing; Received \`${t.type}\``);if(t.function.strict!==!0)throw new ue(`The \`${t.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var ed=e=>e?.role==="assistant",QS=e=>e?.role==="tool",ig,Yl,Ql,bo,wo,eu,xo,jr,ko,td,nd,Va,eO,_c=class{constructor(){ig.add(this),this.controller=new AbortController,Yl.set(this,void 0),Ql.set(this,()=>{}),bo.set(this,()=>{}),wo.set(this,void 0),eu.set(this,()=>{}),xo.set(this,()=>{}),jr.set(this,{}),ko.set(this,!1),td.set(this,!1),nd.set(this,!1),Va.set(this,!1),ge(this,Yl,new Promise((t,n)=>{ge(this,Ql,t,"f"),ge(this,bo,n,"f")})),ge(this,wo,new Promise((t,n)=>{ge(this,eu,t,"f"),ge(this,xo,n,"f")})),S(this,Yl,"f").catch(()=>{}),S(this,wo,"f").catch(()=>{})}_run(t){setTimeout(()=>{t().then(()=>{this._emitFinal(),this._emit("end")},S(this,ig,"m",eO).bind(this))},0)}_connected(){this.ended||(S(this,Ql,"f").call(this),this._emit("connect"))}get ended(){return S(this,ko,"f")}get errored(){return S(this,td,"f")}get aborted(){return S(this,nd,"f")}abort(){this.controller.abort()}on(t,n){return(S(this,jr,"f")[t]||(S(this,jr,"f")[t]=[])).push({listener:n}),this}off(t,n){let r=S(this,jr,"f")[t];if(!r)return this;let s=r.findIndex(a=>a.listener===n);return s>=0&&r.splice(s,1),this}once(t,n){return(S(this,jr,"f")[t]||(S(this,jr,"f")[t]=[])).push({listener:n,once:!0}),this}emitted(t){return new Promise((n,r)=>{ge(this,Va,!0),t!=="error"&&this.once("error",r),this.once(t,n)})}async done(){ge(this,Va,!0),await S(this,wo,"f")}_emit(t,...n){if(S(this,ko,"f"))return;t==="end"&&(ge(this,ko,!0),S(this,eu,"f").call(this));let r=S(this,jr,"f")[t];if(r&&(S(this,jr,"f")[t]=r.filter(s=>!s.once),r.forEach(({listener:s})=>s(...n))),t==="abort"){let s=n[0];!S(this,Va,"f")&&!r?.length&&Promise.reject(s),S(this,bo,"f").call(this,s),S(this,xo,"f").call(this,s),this._emit("end");return}if(t==="error"){let s=n[0];!S(this,Va,"f")&&!r?.length&&Promise.reject(s),S(this,bo,"f").call(this,s),S(this,xo,"f").call(this,s),this._emit("end")}}_emitFinal(){}};Yl=new WeakMap,Ql=new WeakMap,bo=new WeakMap,wo=new WeakMap,eu=new WeakMap,xo=new WeakMap,jr=new WeakMap,ko=new WeakMap,td=new WeakMap,nd=new WeakMap,Va=new WeakMap,ig=new WeakSet,eO=function(e){if(ge(this,td,!0),e instanceof Error&&e.name==="AbortError"&&(e=new dn),e instanceof dn)return ge(this,nd,!0),this._emit("abort",e);if(e instanceof ue)return this._emit("error",e);if(e instanceof Error){let t=new ue(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new ue(String(e)))};function qF(e){return typeof e.parse=="function"}var Wt,og,rd,cg,lg,ug,tO,nO,HF=10,sd=class extends _c{constructor(){super(...arguments),Wt.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(t){this._chatCompletions.push(t),this._emit("chatCompletion",t);let n=t.choices[0]?.message;return n&&this._addMessage(n),t}_addMessage(t,n=!0){if("content"in t||(t.content=null),this.messages.push(t),n){if(this._emit("message",t),QS(t)&&t.content)this._emit("functionToolCallResult",t.content);else if(ed(t)&&t.tool_calls)for(let r of t.tool_calls)r.type==="function"&&this._emit("functionToolCall",r.function)}}async finalChatCompletion(){await this.done();let t=this._chatCompletions[this._chatCompletions.length-1];if(!t)throw new ue("stream ended without producing a ChatCompletion");return t}async finalContent(){return await this.done(),S(this,Wt,"m",og).call(this)}async finalMessage(){return await this.done(),S(this,Wt,"m",rd).call(this)}async finalFunctionToolCall(){return await this.done(),S(this,Wt,"m",cg).call(this)}async finalFunctionToolCallResult(){return await this.done(),S(this,Wt,"m",lg).call(this)}async totalUsage(){return await this.done(),S(this,Wt,"m",ug).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let t=this._chatCompletions[this._chatCompletions.length-1];t&&this._emit("finalChatCompletion",t);let n=S(this,Wt,"m",rd).call(this);n&&this._emit("finalMessage",n);let r=S(this,Wt,"m",og).call(this);r&&this._emit("finalContent",r);let s=S(this,Wt,"m",cg).call(this);s&&this._emit("finalFunctionToolCall",s);let a=S(this,Wt,"m",lg).call(this);a!=null&&this._emit("finalFunctionToolCallResult",a),this._chatCompletions.some(i=>i.usage)&&this._emit("totalUsage",S(this,Wt,"m",ug).call(this))}async _createChatCompletion(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),S(this,Wt,"m",tO).call(this,n);let a=await t.chat.completions.create({...n,stream:!1},{...r,signal:this.controller.signal});return this._connected(),this._addChatCompletion(Gy(a,n))}async _runChatCompletion(t,n,r){for(let s of n.messages)this._addMessage(s,!1);return await this._createChatCompletion(t,n,r)}async _runTools(t,n,r){let s="tool",{tool_choice:a="auto",stream:i,...o}=n,c=typeof a!="string"&&a.type==="function"&&a?.function?.name,{maxChatCompletions:l=HF}=r||{},u=n.tools.map(p=>{if(Vc(p)){if(!p.$callback)throw new ue("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:p.$callback,name:p.function.name,description:p.function.description||"",parameters:p.function.parameters,parse:p.$parseRaw,strict:!0}}}return p}),d={};for(let p of u)p.type==="function"&&(d[p.function.name||p.function.function.name]=p.function);let h="tools"in n?u.map(p=>p.type==="function"?{type:"function",function:{name:p.function.name||p.function.function.name,parameters:p.function.parameters,description:p.function.description,strict:p.function.strict}}:p):void 0;for(let p of n.messages)this._addMessage(p,!1);for(let p=0;p<l;++p){let f=(await this._createChatCompletion(t,{...o,tool_choice:a,tools:h,messages:[...this.messages]},r)).choices[0]?.message;if(!f)throw new ue("missing message in ChatCompletion response");if(!f.tool_calls?.length)return;for(let m of f.tool_calls){if(m.type!=="function")continue;let v=m.id,{name:w,arguments:y}=m.function,x=d[w];if(x){if(c&&c!==w){let I=`Invalid tool_call: ${JSON.stringify(w)}. ${JSON.stringify(c)} requested. Please try again`;this._addMessage({role:s,tool_call_id:v,content:I});continue}}else{let I=`Invalid tool_call: ${JSON.stringify(w)}. Available options are: ${Object.keys(d).map(_=>JSON.stringify(_)).join(", ")}. Please try again`;this._addMessage({role:s,tool_call_id:v,content:I});continue}let k;try{k=qF(x)?await x.parse(y):y}catch(I){let _=I instanceof Error?I.message:String(I);this._addMessage({role:s,tool_call_id:v,content:_});continue}let O=await x.function(k,this),$=S(this,Wt,"m",nO).call(this,O);if(this._addMessage({role:s,tool_call_id:v,content:$}),c)return}}}};Wt=new WeakSet,og=function(){return S(this,Wt,"m",rd).call(this).content??null},rd=function(){let e=this.messages.length;for(;e-- >0;){let t=this.messages[e];if(ed(t))return{...t,content:t.content??null,refusal:t.refusal??null}}throw new ue("stream ended without producing a ChatCompletionMessage with role=assistant")},cg=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(ed(t)&&t?.tool_calls?.length)return t.tool_calls.filter(n=>n.type==="function").at(-1)?.function}},lg=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(QS(t)&&t.content!=null&&typeof t.content=="string"&&this.messages.some(n=>n.role==="assistant"&&n.tool_calls?.some(r=>r.type==="function"&&r.id===t.tool_call_id)))return t.content}},ug=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:t}of this._chatCompletions)t&&(e.completion_tokens+=t.completion_tokens,e.prompt_tokens+=t.prompt_tokens,e.total_tokens+=t.total_tokens);return e},tO=function(e){if(e.n!=null&&e.n>1)throw new ue("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},nO=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var dg=class e extends sd{static runTools(t,n,r){let s=new e,a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(t,n,a)),s}_addMessage(t,n=!0){super._addMessage(t,n),ed(t)&&t.content&&this._emit("content",t.content)}},rO=1,sO=2,aO=4,iO=8,oO=16,cO=32,lO=64,uO=128,dO=256,hO=uO|dO,pO=oO|cO|hO|lO,fO=rO|sO|pO,mO=aO|iO,WF=fO|mO,St={STR:rO,NUM:sO,ARR:aO,OBJ:iO,NULL:oO,BOOL:cO,NAN:lO,INFINITY:uO,MINUS_INFINITY:dO,INF:hO,SPECIAL:pO,ATOM:fO,COLLECTION:mO,ALL:WF},hg=class extends Error{},pg=class extends Error{};function JF(e,t=St.ALL){if(typeof e!="string")throw new TypeError(`expecting str, got ${typeof e}`);if(!e.trim())throw new Error(`${e} is empty`);return GF(e.trim(),t)}var GF=(e,t)=>{let n=e.length,r=0,s=h=>{throw new hg(`${h} at position ${r}`)},a=h=>{throw new pg(`${h} at position ${r}`)},i=()=>(d(),r>=n&&s("Unexpected end of input"),e[r]==='"'?o():e[r]==="{"?c():e[r]==="["?l():e.substring(r,r+4)==="null"||St.NULL&t&&n-r<4&&"null".startsWith(e.substring(r))?(r+=4,null):e.substring(r,r+4)==="true"||St.BOOL&t&&n-r<4&&"true".startsWith(e.substring(r))?(r+=4,!0):e.substring(r,r+5)==="false"||St.BOOL&t&&n-r<5&&"false".startsWith(e.substring(r))?(r+=5,!1):e.substring(r,r+8)==="Infinity"||St.INFINITY&t&&n-r<8&&"Infinity".startsWith(e.substring(r))?(r+=8,1/0):e.substring(r,r+9)==="-Infinity"||St.MINUS_INFINITY&t&&1<n-r&&n-r<9&&"-Infinity".startsWith(e.substring(r))?(r+=9,-1/0):e.substring(r,r+3)==="NaN"||St.NAN&t&&n-r<3&&"NaN".startsWith(e.substring(r))?(r+=3,NaN):u()),o=()=>{let h=r,p=!1;for(r++;r<n&&(e[r]!=='"'||p&&e[r-1]==="\\");)p=e[r]==="\\"?!p:!1,r++;if(e.charAt(r)=='"')try{return JSON.parse(e.substring(h,++r-Number(p)))}catch(f){a(String(f))}else if(St.STR&t)try{return JSON.parse(e.substring(h,r-Number(p))+'"')}catch{return JSON.parse(e.substring(h,e.lastIndexOf("\\"))+'"')}s("Unterminated string literal")},c=()=>{r++,d();let h={};try{for(;e[r]!=="}";){if(d(),r>=n&&St.OBJ&t)return h;let p=o();d(),r++;try{let f=i();Object.defineProperty(h,p,{value:f,writable:!0,enumerable:!0,configurable:!0})}catch(f){if(St.OBJ&t)return h;throw f}d(),e[r]===","&&r++}}catch{if(St.OBJ&t)return h;s("Expected '}' at end of object")}return r++,h},l=()=>{r++;let h=[];try{for(;e[r]!=="]";)h.push(i()),d(),e[r]===","&&r++}catch{if(St.ARR&t)return h;s("Expected ']' at end of array")}return r++,h},u=()=>{if(r===0){e==="-"&&St.NUM&t&&s("Not sure what '-' is");try{return JSON.parse(e)}catch(p){if(St.NUM&t)try{return e[e.length-1]==="."?JSON.parse(e.substring(0,e.lastIndexOf("."))):JSON.parse(e.substring(0,e.lastIndexOf("e")))}catch{}a(String(p))}}let h=r;for(e[r]==="-"&&r++;e[r]&&!",]}".includes(e[r]);)r++;r==n&&!(St.NUM&t)&&s("Unterminated number literal");try{return JSON.parse(e.substring(h,r))}catch{e.substring(h,r)==="-"&&St.NUM&t&&s("Not sure what '-' is");try{return JSON.parse(e.substring(h,e.lastIndexOf("e")))}catch(p){a(String(p))}}},d=()=>{for(;r<n&&`
282
+ \r `.includes(e[r]);)r++};return i()},pw=e=>JF(e,St.ALL^St.NUM),vt,Pr,Ra,Xr,pf,xl,ff,mf,gf,kl,yf,fw,ad=class e extends sd{constructor(t){super(),vt.add(this),Pr.set(this,void 0),Ra.set(this,void 0),Xr.set(this,void 0),ge(this,Pr,t),ge(this,Ra,[])}get currentChatCompletionSnapshot(){return S(this,Xr,"f")}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createChatCompletion(t,n,r){let s=new e(n);return s._run(()=>s._runChatCompletion(t,{...n,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createChatCompletion(t,n,r){super._createChatCompletion;let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),S(this,vt,"m",pf).call(this);let a=await t.chat.completions.create({...n,stream:!0},{...r,signal:this.controller.signal});this._connected();for await(let i of a)S(this,vt,"m",ff).call(this,i);if(a.controller.signal?.aborted)throw new dn;return this._addChatCompletion(S(this,vt,"m",kl).call(this))}async _fromReadableStream(t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),S(this,vt,"m",pf).call(this),this._connected();let s=ba.fromReadableStream(t,this.controller),a;for await(let i of s)a&&a!==i.id&&this._addChatCompletion(S(this,vt,"m",kl).call(this)),S(this,vt,"m",ff).call(this,i),a=i.id;if(s.controller.signal?.aborted)throw new dn;return this._addChatCompletion(S(this,vt,"m",kl).call(this))}[(Pr=new WeakMap,Ra=new WeakMap,Xr=new WeakMap,vt=new WeakSet,pf=function(){this.ended||ge(this,Xr,void 0)},xl=function(t){let n=S(this,Ra,"f")[t.index];return n||(n={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},S(this,Ra,"f")[t.index]=n,n)},ff=function(t){if(this.ended)return;let n=S(this,vt,"m",fw).call(this,t);this._emit("chunk",t,n);for(let r of t.choices){let s=n.choices[r.index];r.delta.content!=null&&s.message?.role==="assistant"&&s.message?.content&&(this._emit("content",r.delta.content,s.message.content),this._emit("content.delta",{delta:r.delta.content,snapshot:s.message.content,parsed:s.message.parsed})),r.delta.refusal!=null&&s.message?.role==="assistant"&&s.message?.refusal&&this._emit("refusal.delta",{delta:r.delta.refusal,snapshot:s.message.refusal}),r.logprobs?.content!=null&&s.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:r.logprobs?.content,snapshot:s.logprobs?.content??[]}),r.logprobs?.refusal!=null&&s.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:r.logprobs?.refusal,snapshot:s.logprobs?.refusal??[]});let a=S(this,vt,"m",xl).call(this,s);s.finish_reason&&(S(this,vt,"m",gf).call(this,s),a.current_tool_call_index!=null&&S(this,vt,"m",mf).call(this,s,a.current_tool_call_index));for(let i of r.delta.tool_calls??[])a.current_tool_call_index!==i.index&&(S(this,vt,"m",gf).call(this,s),a.current_tool_call_index!=null&&S(this,vt,"m",mf).call(this,s,a.current_tool_call_index)),a.current_tool_call_index=i.index;for(let i of r.delta.tool_calls??[]){let o=s.message.tool_calls?.[i.index];o?.type&&(o?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:o.function?.name,index:i.index,arguments:o.function.arguments,parsed_arguments:o.function.parsed_arguments,arguments_delta:i.function?.arguments??""}):o?.type)}}},mf=function(t,n){if(S(this,vt,"m",xl).call(this,t).done_tool_calls.has(n))return;let r=t.message.tool_calls?.[n];if(!r)throw new Error("no tool call snapshot");if(!r.type)throw new Error("tool call snapshot missing `type`");if(r.type==="function"){let s=S(this,Pr,"f")?.tools?.find(a=>Qu(a)&&a.function.name===r.function.name);this._emit("tool_calls.function.arguments.done",{name:r.function.name,index:n,arguments:r.function.arguments,parsed_arguments:Vc(s)?s.$parseRaw(r.function.arguments):s?.function.strict?JSON.parse(r.function.arguments):null})}else r.type},gf=function(t){let n=S(this,vt,"m",xl).call(this,t);if(t.message.content&&!n.content_done){n.content_done=!0;let r=S(this,vt,"m",yf).call(this);this._emit("content.done",{content:t.message.content,parsed:r?r.$parseRaw(t.message.content):null})}t.message.refusal&&!n.refusal_done&&(n.refusal_done=!0,this._emit("refusal.done",{refusal:t.message.refusal})),t.logprobs?.content&&!n.logprobs_content_done&&(n.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:t.logprobs.content})),t.logprobs?.refusal&&!n.logprobs_refusal_done&&(n.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:t.logprobs.refusal}))},kl=function(){if(this.ended)throw new ue("stream has ended, this shouldn't happen");let t=S(this,Xr,"f");if(!t)throw new ue("request ended without sending any chunks");return ge(this,Xr,void 0),ge(this,Ra,[]),KF(t,S(this,Pr,"f"))},yf=function(){let t=S(this,Pr,"f")?.response_format;return Jy(t)?t:null},fw=function(t){var n,r,s,a;let i=S(this,Xr,"f"),{choices:o,...c}=t;i?Object.assign(i,c):i=ge(this,Xr,{...c,choices:[]});for(let{delta:l,finish_reason:u,index:d,logprobs:h=null,...p}of t.choices){let f=i.choices[d];if(f||(f=i.choices[d]={finish_reason:u,index:d,message:{},logprobs:h,...p}),h)if(!f.logprobs)f.logprobs=Object.assign({},h);else{let{content:O,refusal:$,...I}=h;Object.assign(f.logprobs,I),O&&((n=f.logprobs).content??(n.content=[]),f.logprobs.content.push(...O)),$&&((r=f.logprobs).refusal??(r.refusal=[]),f.logprobs.refusal.push(...$))}if(u&&(f.finish_reason=u,S(this,Pr,"f")&&XS(S(this,Pr,"f")))){if(u==="length")throw new Gu;if(u==="content_filter")throw new Ku}if(Object.assign(f,p),!l)continue;let{content:m,refusal:v,function_call:w,role:y,tool_calls:x,...k}=l;if(Object.assign(f.message,k),v&&(f.message.refusal=(f.message.refusal||"")+v),y&&(f.message.role=y),w&&(f.message.function_call?(w.name&&(f.message.function_call.name=w.name),w.arguments&&((s=f.message.function_call).arguments??(s.arguments=""),f.message.function_call.arguments+=w.arguments)):f.message.function_call=w),m&&(f.message.content=(f.message.content||"")+m,!f.message.refusal&&S(this,vt,"m",yf).call(this)&&(f.message.parsed=pw(f.message.content))),x){f.message.tool_calls||(f.message.tool_calls=[]);for(let{index:O,id:$,type:I,function:_,...P}of x){let T=(a=f.message.tool_calls)[O]??(a[O]={});Object.assign(T,P),$&&(T.id=$),I&&(T.type=I),_&&(T.function??(T.function={name:_.name??"",arguments:""})),_?.name&&(T.function.name=_.name),_?.arguments&&(T.function.arguments+=_.arguments,ZF(S(this,Pr,"f"),T)&&(T.function.parsed_arguments=pw(T.function.arguments)))}}}return i},Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("chunk",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new ba(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function KF(e,t){let{id:n,choices:r,created:s,model:a,system_fingerprint:i,...o}=e,c={...o,id:n,choices:r.map(({message:l,finish_reason:u,index:d,logprobs:h,...p})=>{if(!u)throw new ue(`missing finish_reason for choice ${d}`);let{content:f=null,function_call:m,tool_calls:v,...w}=l,y=l.role;if(!y)throw new ue(`missing role for choice ${d}`);if(m){let{arguments:x,name:k}=m;if(x==null)throw new ue(`missing function_call.arguments for choice ${d}`);if(!k)throw new ue(`missing function_call.name for choice ${d}`);return{...p,message:{content:f,function_call:{arguments:x,name:k},role:y,refusal:l.refusal??null},finish_reason:u,index:d,logprobs:h}}return v?{...p,index:d,finish_reason:u,logprobs:h,message:{...w,role:y,content:f,refusal:l.refusal??null,tool_calls:v.map((x,k)=>{let{function:O,type:$,id:I,..._}=x,{arguments:P,name:T,...Z}=O||{};if(I==null)throw new ue(`missing choices[${d}].tool_calls[${k}].id
283
+ ${El(e)}`);if($==null)throw new ue(`missing choices[${d}].tool_calls[${k}].type
284
+ ${El(e)}`);if(T==null)throw new ue(`missing choices[${d}].tool_calls[${k}].function.name
285
+ ${El(e)}`);if(P==null)throw new ue(`missing choices[${d}].tool_calls[${k}].function.arguments
286
+ ${El(e)}`);return{..._,id:I,type:$,function:{...Z,name:T,arguments:P}}})}}:{...p,message:{...w,content:f,role:y,refusal:l.refusal??null},finish_reason:u,index:d,logprobs:h}}),created:s,model:a,object:"chat.completion",...i?{system_fingerprint:i}:{}};return FF(c,t)}function El(e){return JSON.stringify(e)}var fg=class e extends ad{static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static runTools(t,n,r){let s=new e(n),a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(t,n,a)),s}},Ky=class extends te{constructor(){super(...arguments),this.messages=new KS(this._client)}create(e,t){return this._client.post("/chat/completions",{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(N`/chat/completions/${e}`,t)}update(e,t,n){return this._client.post(N`/chat/completions/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList("/chat/completions",rt,{query:e,...t})}delete(e,t){return this._client.delete(N`/chat/completions/${e}`,t)}parse(e,t){return VF(e.tools),this._client.chat.completions.create(e,{...t,headers:{...t?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(n=>Gy(n,e))}runTools(e,t){return e.stream?fg.runTools(this._client,e,t):dg.runTools(this._client,e,t)}stream(e,t){return ad.createChatCompletion(this._client,e,t)}};Ky.Messages=KS;var vc=class extends te{constructor(){super(...arguments),this.completions=new Ky(this._client)}};vc.Completions=Ky;var gO=Symbol("brand.privateNullableHeaders");function*XF(e){if(!e)return;if(gO in e){let{values:r,nulls:s}=e;yield*r.entries();for(let a of s)yield[a,null];return}let t=!1,n;e instanceof Headers?n=e.entries():Yb(e)?n=e:(t=!0,n=Object.entries(e??{}));for(let r of n){let s=r[0];if(typeof s!="string")throw new TypeError("expected header name to be a string");let a=Yb(r[1])?r[1]:[r[1]],i=!1;for(let o of a)o!==void 0&&(t&&!i&&(i=!0,yield[s,null]),yield[s,o])}}var G=e=>{let t=new Headers,n=new Set;for(let r of e){let s=new Set;for(let[a,i]of XF(r)){let o=a.toLowerCase();s.has(o)||(t.delete(a),s.add(o)),i===null?(t.delete(a),n.add(o)):(t.append(a,i),n.delete(o))}}return{[gO]:!0,values:t,nulls:n}},id=class extends te{create(t,n){return this._client.post("/audio/speech",{body:t,...n,headers:G([{Accept:"application/octet-stream"},n?.headers]),__binaryResponse:!0})}},od=class extends te{create(t,n){return this._client.post("/audio/transcriptions",br({body:t,...n,stream:t.stream??!1,__metadata:{model:t.model}},this._client))}},cd=class extends te{create(t,n){return this._client.post("/audio/translations",br({body:t,...n,__metadata:{model:t.model}},this._client))}},xa=class extends te{constructor(){super(...arguments),this.transcriptions=new od(this._client),this.translations=new cd(this._client),this.speech=new id(this._client)}};xa.Transcriptions=od;xa.Translations=cd;xa.Speech=id;var ld=class extends te{create(t,n){return this._client.post("/batches",{body:t,...n})}retrieve(t,n){return this._client.get(N`/batches/${t}`,n)}list(t={},n){return this._client.getAPIList("/batches",rt,{query:t,...n})}cancel(t,n){return this._client.post(N`/batches/${t}/cancel`,n)}},ud=class extends te{create(t,n){return this._client.post("/assistants",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/assistants/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/assistants/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t={},n){return this._client.getAPIList("/assistants",rt,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(t,n){return this._client.delete(N`/assistants/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},yO=class extends te{create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:G([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}},dd=class extends te{create(t,n){return this._client.post("/realtime/transcription_sessions",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},bh=class extends te{constructor(){super(...arguments),this.sessions=new yO(this._client),this.transcriptionSessions=new dd(this._client)}};bh.Sessions=yO;bh.TranscriptionSessions=dd;var hd=class extends te{create(t,n){return this._client.post("/chatkit/sessions",{body:t,...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}cancel(t,n){return this._client.post(N`/chatkit/sessions/${t}/cancel`,{...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}},_O=class extends te{retrieve(e,t){return this._client.get(N`/chatkit/threads/${e}`,{...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}list(e={},t){return this._client.getAPIList("/chatkit/threads",wa,{query:e,...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}delete(e,t){return this._client.delete(N`/chatkit/threads/${e}`,{...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}listItems(e,t={},n){return this._client.getAPIList(N`/chatkit/threads/${e}/items`,wa,{query:t,...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}},Ri=class extends te{constructor(){super(...arguments),this.sessions=new hd(this._client),this.threads=new _O(this._client)}};Ri.Sessions=hd;Ri.Threads=_O;var pd=class extends te{create(t,n,r){return this._client.post(N`/threads/${t}/messages`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{thread_id:s}=n;return this._client.get(N`/threads/${s}/messages/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(t,n,r){let{thread_id:s,...a}=n;return this._client.post(N`/threads/${s}/messages/${t}`,{body:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n={},r){return this._client.getAPIList(N`/threads/${t}/messages`,rt,{query:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n,r){let{thread_id:s}=n;return this._client.delete(N`/threads/${s}/messages/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},fd=class extends te{retrieve(t,n,r){let{thread_id:s,run_id:a,...i}=n;return this._client.get(N`/threads/${s}/runs/${a}/steps/${t}`,{query:i,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n,r){let{thread_id:s,...a}=n;return this._client.getAPIList(N`/threads/${s}/runs/${t}/steps`,rt,{query:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},YF=e=>{if(typeof Buffer<"u"){let t=Buffer.from(e,"base64");return Array.from(new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT))}else{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s<n;s++)r[s]=t.charCodeAt(s);return Array.from(new Float32Array(r.buffer))}},La=e=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[e]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(e)?.trim()},$t,Gs,mg,mr,tu,Xn,Ks,ti,qs,md,xn,nu,ru,Lo,Eo,So,mw,gw,yw,_w,vw,bw,ww,sa=class extends _c{constructor(){super(...arguments),$t.add(this),mg.set(this,[]),mr.set(this,{}),tu.set(this,{}),Xn.set(this,void 0),Ks.set(this,void 0),ti.set(this,void 0),qs.set(this,void 0),md.set(this,void 0),xn.set(this,void 0),nu.set(this,void 0),ru.set(this,void 0),Lo.set(this,void 0)}[(mg=new WeakMap,mr=new WeakMap,tu=new WeakMap,Xn=new WeakMap,Ks=new WeakMap,ti=new WeakMap,qs=new WeakMap,md=new WeakMap,xn=new WeakMap,nu=new WeakMap,ru=new WeakMap,Lo=new WeakMap,$t=new WeakSet,Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("event",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(t){let n=new Gs;return n._run(()=>n._fromReadableStream(t)),n}async _fromReadableStream(t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),this._connected();let s=ba.fromReadableStream(t,this.controller);for await(let a of s)S(this,$t,"m",Eo).call(this,a);if(s.controller.signal?.aborted)throw new dn;return this._addRun(S(this,$t,"m",So).call(this))}toReadableStream(){return new ba(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(t,n,r,s){let a=new Gs;return a._run(()=>a._runToolAssistantStream(t,n,r,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),a}async _createToolAssistantStream(t,n,r,s){let a=s?.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));let i={...r,stream:!0},o=await t.submitToolOutputs(n,i,{...s,signal:this.controller.signal});this._connected();for await(let c of o)S(this,$t,"m",Eo).call(this,c);if(o.controller.signal?.aborted)throw new dn;return this._addRun(S(this,$t,"m",So).call(this))}static createThreadAssistantStream(t,n,r){let s=new Gs;return s._run(()=>s._threadAssistantStream(t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}static createAssistantStream(t,n,r,s){let a=new Gs;return a._run(()=>a._runAssistantStream(t,n,r,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),a}currentEvent(){return S(this,nu,"f")}currentRun(){return S(this,ru,"f")}currentMessageSnapshot(){return S(this,Xn,"f")}currentRunStepSnapshot(){return S(this,Lo,"f")}async finalRunSteps(){return await this.done(),Object.values(S(this,mr,"f"))}async finalMessages(){return await this.done(),Object.values(S(this,tu,"f"))}async finalRun(){if(await this.done(),!S(this,Ks,"f"))throw Error("Final run was not received.");return S(this,Ks,"f")}async _createThreadAssistantStream(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort()));let a={...n,stream:!0},i=await t.createAndRun(a,{...r,signal:this.controller.signal});this._connected();for await(let o of i)S(this,$t,"m",Eo).call(this,o);if(i.controller.signal?.aborted)throw new dn;return this._addRun(S(this,$t,"m",So).call(this))}async _createAssistantStream(t,n,r,s){let a=s?.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));let i={...r,stream:!0},o=await t.create(n,i,{...s,signal:this.controller.signal});this._connected();for await(let c of o)S(this,$t,"m",Eo).call(this,c);if(o.controller.signal?.aborted)throw new dn;return this._addRun(S(this,$t,"m",So).call(this))}static accumulateDelta(t,n){for(let[r,s]of Object.entries(n)){if(!t.hasOwnProperty(r)){t[r]=s;continue}let a=t[r];if(a==null){t[r]=s;continue}if(r==="index"||r==="type"){t[r]=s;continue}if(typeof a=="string"&&typeof s=="string")a+=s;else if(typeof a=="number"&&typeof s=="number")a+=s;else if(uf(a)&&uf(s))a=this.accumulateDelta(a,s);else if(Array.isArray(a)&&Array.isArray(s)){if(a.every(i=>typeof i=="string"||typeof i=="number")){a.push(...s);continue}for(let i of s){if(!uf(i))throw new Error(`Expected array delta entry to be an object but got: ${i}`);let o=i.index;if(o==null)throw console.error(i),new Error("Expected array delta entry to have an `index` property");if(typeof o!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${o}`);let c=a[o];c==null?a.push(i):a[o]=this.accumulateDelta(c,i)}continue}else throw Error(`Unhandled record type: ${r}, deltaValue: ${s}, accValue: ${a}`);t[r]=a}return t}_addRun(t){return t}async _threadAssistantStream(t,n,r){return await this._createThreadAssistantStream(n,t,r)}async _runAssistantStream(t,n,r,s){return await this._createAssistantStream(n,t,r,s)}async _runToolAssistantStream(t,n,r,s){return await this._createToolAssistantStream(n,t,r,s)}};Gs=sa,Eo=function(e){if(!this.ended)switch(ge(this,nu,e),S(this,$t,"m",yw).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":S(this,$t,"m",ww).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":S(this,$t,"m",gw).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":S(this,$t,"m",mw).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier")}},So=function(){if(this.ended)throw new ue("stream has ended, this shouldn't happen");if(!S(this,Ks,"f"))throw Error("Final run has not been received");return S(this,Ks,"f")},mw=function(e){let[t,n]=S(this,$t,"m",vw).call(this,e,S(this,Xn,"f"));ge(this,Xn,t),S(this,tu,"f")[t.id]=t;for(let r of n){let s=t.content[r.index];s?.type=="text"&&this._emit("textCreated",s.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,t),e.data.delta.content)for(let r of e.data.delta.content){if(r.type=="text"&&r.text){let s=r.text,a=t.content[r.index];if(a&&a.type=="text")this._emit("textDelta",s,a.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(r.index!=S(this,ti,"f")){if(S(this,qs,"f"))switch(S(this,qs,"f").type){case"text":this._emit("textDone",S(this,qs,"f").text,S(this,Xn,"f"));break;case"image_file":this._emit("imageFileDone",S(this,qs,"f").image_file,S(this,Xn,"f"));break}ge(this,ti,r.index)}ge(this,qs,t.content[r.index])}break;case"thread.message.completed":case"thread.message.incomplete":if(S(this,ti,"f")!==void 0){let r=e.data.content[S(this,ti,"f")];if(r)switch(r.type){case"image_file":this._emit("imageFileDone",r.image_file,S(this,Xn,"f"));break;case"text":this._emit("textDone",r.text,S(this,Xn,"f"));break}}S(this,Xn,"f")&&this._emit("messageDone",e.data),ge(this,Xn,void 0)}},gw=function(e){let t=S(this,$t,"m",_w).call(this,e);switch(ge(this,Lo,t),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let n=e.data.delta;if(n.step_details&&n.step_details.type=="tool_calls"&&n.step_details.tool_calls&&t.step_details.type=="tool_calls")for(let r of n.step_details.tool_calls)r.index==S(this,md,"f")?this._emit("toolCallDelta",r,t.step_details.tool_calls[r.index]):(S(this,xn,"f")&&this._emit("toolCallDone",S(this,xn,"f")),ge(this,md,r.index),ge(this,xn,t.step_details.tool_calls[r.index]),S(this,xn,"f")&&this._emit("toolCallCreated",S(this,xn,"f")));this._emit("runStepDelta",e.data.delta,t);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":ge(this,Lo,void 0),e.data.step_details.type=="tool_calls"&&S(this,xn,"f")&&(this._emit("toolCallDone",S(this,xn,"f")),ge(this,xn,void 0)),this._emit("runStepDone",e.data,t);break}},yw=function(e){S(this,mg,"f").push(e),this._emit("event",e)},_w=function(e){switch(e.event){case"thread.run.step.created":return S(this,mr,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let t=S(this,mr,"f")[e.data.id];if(!t)throw Error("Received a RunStepDelta before creation of a snapshot");let n=e.data;if(n.delta){let r=Gs.accumulateDelta(t,n.delta);S(this,mr,"f")[e.data.id]=r}return S(this,mr,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":S(this,mr,"f")[e.data.id]=e.data;break}if(S(this,mr,"f")[e.data.id])return S(this,mr,"f")[e.data.id];throw new Error("No snapshot available")},vw=function(e,t){let n=[];switch(e.event){case"thread.message.created":return[e.data,n];case"thread.message.delta":if(!t)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let r=e.data;if(r.delta.content)for(let s of r.delta.content)if(s.index in t.content){let a=t.content[s.index];t.content[s.index]=S(this,$t,"m",bw).call(this,s,a)}else t.content[s.index]=s,n.push(s);return[t,n];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(t)return[t,n];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},bw=function(e,t){return Gs.accumulateDelta(t,e)},ww=function(e){switch(ge(this,ru,e.data),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":ge(this,Ks,e.data),S(this,xn,"f")&&(this._emit("toolCallDone",S(this,xn,"f")),ge(this,xn,void 0));break}};var Xy=class extends te{constructor(){super(...arguments),this.steps=new fd(this._client)}create(e,t,n){let{include:r,...s}=t;return this._client.post(N`/threads/${e}/runs`,{query:{include:r},body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}retrieve(e,t,n){let{thread_id:r}=t;return this._client.get(N`/threads/${r}/runs/${e}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,t,n){let{thread_id:r,...s}=t;return this._client.post(N`/threads/${r}/runs/${e}`,{body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,t={},n){return this._client.getAPIList(N`/threads/${e}/runs`,rt,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,t,n){let{thread_id:r}=t;return this._client.post(N`/threads/${r}/runs/${e}/cancel`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,t,n){let r=await this.create(e,t,n);return await this.poll(r.id,{thread_id:e},n)}createAndStream(e,t,n){return sa.createAssistantStream(e,this._client.beta.threads.runs,t,n)}async poll(e,t,n){let r=G([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:s,response:a}=await this.retrieve(e,t,{...n,headers:{...n?.headers,...r}}).withResponse();switch(s.status){case"queued":case"in_progress":case"cancelling":let i=5e3;if(n?.pollIntervalMs)i=n.pollIntervalMs;else{let o=a.headers.get("openai-poll-after-ms");if(o){let c=parseInt(o);isNaN(c)||(i=c)}}await Zc(i);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return s}}}stream(e,t,n){return sa.createAssistantStream(e,this._client.beta.threads.runs,t,n)}submitToolOutputs(e,t,n){let{thread_id:r,...s}=t;return this._client.post(N`/threads/${r}/runs/${e}/submit_tool_outputs`,{body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(e,t,n){let r=await this.submitToolOutputs(e,t,n);return await this.poll(r.id,t,n)}submitToolOutputsStream(e,t,n){return sa.createToolAssistantStream(e,this._client.beta.threads.runs,t,n)}};Xy.Steps=fd;var Li=class extends te{constructor(){super(...arguments),this.runs=new Xy(this._client),this.messages=new pd(this._client)}create(t={},n){return this._client.post("/threads",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/threads/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/threads/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n){return this._client.delete(N`/threads/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}createAndRun(t,n){return this._client.post("/threads/runs",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(t,n){let r=await this.createAndRun(t,n);return await this.runs.poll(r.id,{thread_id:r.thread_id},n)}createAndRunStream(t,n){return sa.createThreadAssistantStream(t,this._client.beta.threads,n)}};Li.Runs=Xy;Li.Messages=pd;var Is=class extends te{constructor(){super(...arguments),this.realtime=new bh(this._client),this.chatkit=new Ri(this._client),this.assistants=new ud(this._client),this.threads=new Li(this._client)}};Is.Realtime=bh;Is.ChatKit=Ri;Is.Assistants=ud;Is.Threads=Li;var gd=class extends te{create(t,n){return this._client.post("/completions",{body:t,...n,stream:t.stream??!1})}},vO=class extends te{retrieve(e,t,n){let{container_id:r}=t;return this._client.get(N`/containers/${r}/files/${e}/content`,{...n,headers:G([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}},Yy=class extends te{constructor(){super(...arguments),this.content=new vO(this._client)}create(e,t,n){return this._client.post(N`/containers/${e}/files`,vh({body:t,...n},this._client))}retrieve(e,t,n){let{container_id:r}=t;return this._client.get(N`/containers/${r}/files/${e}`,n)}list(e,t={},n){return this._client.getAPIList(N`/containers/${e}/files`,rt,{query:t,...n})}delete(e,t,n){let{container_id:r}=t;return this._client.delete(N`/containers/${r}/files/${e}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}};Yy.Content=vO;var bc=class extends te{constructor(){super(...arguments),this.files=new Yy(this._client)}create(t,n){return this._client.post("/containers",{body:t,...n})}retrieve(t,n){return this._client.get(N`/containers/${t}`,n)}list(t={},n){return this._client.getAPIList("/containers",rt,{query:t,...n})}delete(t,n){return this._client.delete(N`/containers/${t}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}};bc.Files=Yy;var yd=class extends te{create(t,n,r){let{include:s,...a}=n;return this._client.post(N`/conversations/${t}/items`,{query:{include:s},body:a,...r})}retrieve(t,n,r){let{conversation_id:s,...a}=n;return this._client.get(N`/conversations/${s}/items/${t}`,{query:a,...r})}list(t,n={},r){return this._client.getAPIList(N`/conversations/${t}/items`,wa,{query:n,...r})}delete(t,n,r){let{conversation_id:s}=n;return this._client.delete(N`/conversations/${s}/items/${t}`,r)}},wc=class extends te{constructor(){super(...arguments),this.items=new yd(this._client)}create(t={},n){return this._client.post("/conversations",{body:t,...n})}retrieve(t,n){return this._client.get(N`/conversations/${t}`,n)}update(t,n,r){return this._client.post(N`/conversations/${t}`,{body:n,...r})}delete(t,n){return this._client.delete(N`/conversations/${t}`,n)}};wc.Items=yd;var _d=class extends te{create(t,n){let r=!!t.encoding_format,s=r?t.encoding_format:"base64";r&&At(this._client).debug("embeddings/user defined encoding_format:",t.encoding_format);let a=this._client.post("/embeddings",{body:{...t,encoding_format:s},...n});return r?a:(At(this._client).debug("embeddings/decoding base64 embeddings from base64"),a._thenUnwrap(i=>(i&&i.data&&i.data.forEach(o=>{let c=o.embedding;o.embedding=YF(c)}),i)))}},vd=class extends te{retrieve(t,n,r){let{eval_id:s,run_id:a}=n;return this._client.get(N`/evals/${s}/runs/${a}/output_items/${t}`,r)}list(t,n,r){let{eval_id:s,...a}=n;return this._client.getAPIList(N`/evals/${s}/runs/${t}/output_items`,rt,{query:a,...r})}},xc=class extends te{constructor(){super(...arguments),this.outputItems=new vd(this._client)}create(t,n,r){return this._client.post(N`/evals/${t}/runs`,{body:n,...r})}retrieve(t,n,r){let{eval_id:s}=n;return this._client.get(N`/evals/${s}/runs/${t}`,r)}list(t,n={},r){return this._client.getAPIList(N`/evals/${t}/runs`,rt,{query:n,...r})}delete(t,n,r){let{eval_id:s}=n;return this._client.delete(N`/evals/${s}/runs/${t}`,r)}cancel(t,n,r){let{eval_id:s}=n;return this._client.post(N`/evals/${s}/runs/${t}`,r)}};xc.OutputItems=vd;var kc=class extends te{constructor(){super(...arguments),this.runs=new xc(this._client)}create(t,n){return this._client.post("/evals",{body:t,...n})}retrieve(t,n){return this._client.get(N`/evals/${t}`,n)}update(t,n,r){return this._client.post(N`/evals/${t}`,{body:n,...r})}list(t={},n){return this._client.getAPIList("/evals",rt,{query:t,...n})}delete(t,n){return this._client.delete(N`/evals/${t}`,n)}};kc.Runs=xc;var bO=class extends te{create(e,t){return this._client.post("/files",br({body:e,...t},this._client))}retrieve(e,t){return this._client.get(N`/files/${e}`,t)}list(e={},t){return this._client.getAPIList("/files",rt,{query:e,...t})}delete(e,t){return this._client.delete(N`/files/${e}`,t)}content(e,t){return this._client.get(N`/files/${e}/content`,{...t,headers:G([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:n=1800*1e3}={}){let r=new Set(["processed","error","deleted"]),s=Date.now(),a=await this.retrieve(e);for(;!a.status||!r.has(a.status);)if(await Zc(t),a=await this.retrieve(e),Date.now()-s>n)throw new gc({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return a}},bd=class extends te{},wO=class extends te{run(e,t){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...t})}validate(e,t){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...t})}},Ec=class extends te{constructor(){super(...arguments),this.graders=new wO(this._client)}};Ec.Graders=wO;var wd=class extends te{create(t,n,r){return this._client.getAPIList(N`/fine_tuning/checkpoints/${t}/permissions`,ji,{body:n,method:"post",...r})}retrieve(t,n={},r){return this._client.get(N`/fine_tuning/checkpoints/${t}/permissions`,{query:n,...r})}list(t,n={},r){return this._client.getAPIList(N`/fine_tuning/checkpoints/${t}/permissions`,wa,{query:n,...r})}delete(t,n,r){let{fine_tuned_model_checkpoint:s}=n;return this._client.delete(N`/fine_tuning/checkpoints/${s}/permissions/${t}`,r)}},Qy=class extends te{constructor(){super(...arguments),this.permissions=new wd(this._client)}};Qy.Permissions=wd;var xd=class extends te{list(t,n={},r){return this._client.getAPIList(N`/fine_tuning/jobs/${t}/checkpoints`,rt,{query:n,...r})}},Sc=class extends te{constructor(){super(...arguments),this.checkpoints=new xd(this._client)}create(t,n){return this._client.post("/fine_tuning/jobs",{body:t,...n})}retrieve(t,n){return this._client.get(N`/fine_tuning/jobs/${t}`,n)}list(t={},n){return this._client.getAPIList("/fine_tuning/jobs",rt,{query:t,...n})}cancel(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/cancel`,n)}listEvents(t,n={},r){return this._client.getAPIList(N`/fine_tuning/jobs/${t}/events`,rt,{query:n,...r})}pause(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/pause`,n)}resume(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/resume`,n)}};Sc.Checkpoints=xd;var Ts=class extends te{constructor(){super(...arguments),this.methods=new bd(this._client),this.jobs=new Sc(this._client),this.checkpoints=new Qy(this._client),this.alpha=new Ec(this._client)}};Ts.Methods=bd;Ts.Jobs=Sc;Ts.Checkpoints=Qy;Ts.Alpha=Ec;var kd=class extends te{},Oc=class extends te{constructor(){super(...arguments),this.graderModels=new kd(this._client)}};Oc.GraderModels=kd;var Ed=class extends te{createVariation(t,n){return this._client.post("/images/variations",br({body:t,...n},this._client))}edit(t,n){return this._client.post("/images/edits",br({body:t,...n,stream:t.stream??!1},this._client))}generate(t,n){return this._client.post("/images/generations",{body:t,...n,stream:t.stream??!1})}},Sd=class extends te{retrieve(t,n){return this._client.get(N`/models/${t}`,n)}list(t){return this._client.getAPIList("/models",ji,t)}delete(t,n){return this._client.delete(N`/models/${t}`,n)}},Od=class extends te{create(t,n){return this._client.post("/moderations",{body:t,...n})}},Id=class extends te{accept(t,n,r){return this._client.post(N`/realtime/calls/${t}/accept`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}hangup(t,n){return this._client.post(N`/realtime/calls/${t}/hangup`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}refer(t,n,r){return this._client.post(N`/realtime/calls/${t}/refer`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}reject(t,n={},r){return this._client.post(N`/realtime/calls/${t}/reject`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}},Td=class extends te{create(t,n){return this._client.post("/realtime/client_secrets",{body:t,...n})}},Mi=class extends te{constructor(){super(...arguments),this.clientSecrets=new Td(this._client),this.calls=new Id(this._client)}};Mi.ClientSecrets=Td;Mi.Calls=Id;function QF(e,t){return!t||!tU(t)?{...e,output_parsed:null,output:e.output.map(n=>n.type==="function_call"?{...n,parsed_arguments:null}:n.type==="message"?{...n,content:n.content.map(r=>({...r,parsed:null}))}:n)}:xO(e,t)}function xO(e,t){let n=e.output.map(s=>{if(s.type==="function_call")return{...s,parsed_arguments:sU(t,s)};if(s.type==="message"){let a=s.content.map(i=>i.type==="output_text"?{...i,parsed:eU(t,i.text)}:i);return{...s,content:a}}return s}),r=Object.assign({},e,{output:n});return Object.getOwnPropertyDescriptor(e,"output_text")||gg(r),Object.defineProperty(r,"output_parsed",{enumerable:!0,get(){for(let s of r.output)if(s.type==="message"){for(let a of s.content)if(a.type==="output_text"&&a.parsed!==null)return a.parsed}return null}}),r}function eU(e,t){return e.text?.format?.type!=="json_schema"?null:"$parseRaw"in e.text?.format?(e.text?.format).$parseRaw(t):JSON.parse(t)}function tU(e){return!!Jy(e.text?.format)}function nU(e){return e?.$brand==="auto-parseable-tool"}function rU(e,t){return e.find(n=>n.type==="function"&&n.name===t)}function sU(e,t){let n=rU(e.tools??[],t.name);return{...t,...t,parsed_arguments:nU(n)?n.$parseRaw(t.arguments):n?.strict?JSON.parse(t.arguments):null}}function gg(e){let t=[];for(let n of e.output)if(n.type==="message")for(let r of n.content)r.type==="output_text"&&t.push(r.text);e.output_text=t.join("")}var Ma,Sl,Yr,Ol,xw,kw,Ew,Sw,yg=class e extends _c{constructor(t){super(),Ma.add(this),Sl.set(this,void 0),Yr.set(this,void 0),Ol.set(this,void 0),ge(this,Sl,t)}static createResponse(t,n,r){let s=new e(n);return s._run(()=>s._createOrRetrieveResponse(t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createOrRetrieveResponse(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),S(this,Ma,"m",xw).call(this);let a,i=null;"response_id"in n?(a=await t.responses.retrieve(n.response_id,{stream:!0},{...r,signal:this.controller.signal,stream:!0}),i=n.starting_after??null):a=await t.responses.create({...n,stream:!0},{...r,signal:this.controller.signal}),this._connected();for await(let o of a)S(this,Ma,"m",kw).call(this,o,i);if(a.controller.signal?.aborted)throw new dn;return S(this,Ma,"m",Ew).call(this)}[(Sl=new WeakMap,Yr=new WeakMap,Ol=new WeakMap,Ma=new WeakSet,xw=function(){this.ended||ge(this,Yr,void 0)},kw=function(t,n){if(this.ended)return;let r=(a,i)=>{(n==null||i.sequence_number>n)&&this._emit(a,i)},s=S(this,Ma,"m",Sw).call(this,t);switch(r("event",t),t.type){case"response.output_text.delta":{let a=s.output[t.output_index];if(!a)throw new ue(`missing output at index ${t.output_index}`);if(a.type==="message"){let i=a.content[t.content_index];if(!i)throw new ue(`missing content at index ${t.content_index}`);if(i.type!=="output_text")throw new ue(`expected content to be 'output_text', got ${i.type}`);r("response.output_text.delta",{...t,snapshot:i.text})}break}case"response.function_call_arguments.delta":{let a=s.output[t.output_index];if(!a)throw new ue(`missing output at index ${t.output_index}`);a.type==="function_call"&&r("response.function_call_arguments.delta",{...t,snapshot:a.arguments});break}default:r(t.type,t);break}},Ew=function(){if(this.ended)throw new ue("stream has ended, this shouldn't happen");let t=S(this,Yr,"f");if(!t)throw new ue("request ended without sending any events");ge(this,Yr,void 0);let n=aU(t,S(this,Sl,"f"));return ge(this,Ol,n),n},Sw=function(t){let n=S(this,Yr,"f");if(!n){if(t.type!=="response.created")throw new ue(`When snapshot hasn't been set yet, expected 'response.created' event, got ${t.type}`);return n=ge(this,Yr,t.response),n}switch(t.type){case"response.output_item.added":{n.output.push(t.item);break}case"response.content_part.added":{let r=n.output[t.output_index];if(!r)throw new ue(`missing output at index ${t.output_index}`);let s=r.type,a=t.part;s==="message"&&a.type!=="reasoning_text"?r.content.push(a):s==="reasoning"&&a.type==="reasoning_text"&&(r.content||(r.content=[]),r.content.push(a));break}case"response.output_text.delta":{let r=n.output[t.output_index];if(!r)throw new ue(`missing output at index ${t.output_index}`);if(r.type==="message"){let s=r.content[t.content_index];if(!s)throw new ue(`missing content at index ${t.content_index}`);if(s.type!=="output_text")throw new ue(`expected content to be 'output_text', got ${s.type}`);s.text+=t.delta}break}case"response.function_call_arguments.delta":{let r=n.output[t.output_index];if(!r)throw new ue(`missing output at index ${t.output_index}`);r.type==="function_call"&&(r.arguments+=t.delta);break}case"response.reasoning_text.delta":{let r=n.output[t.output_index];if(!r)throw new ue(`missing output at index ${t.output_index}`);if(r.type==="reasoning"){let s=r.content?.[t.content_index];if(!s)throw new ue(`missing content at index ${t.content_index}`);if(s.type!=="reasoning_text")throw new ue(`expected content to be 'reasoning_text', got ${s.type}`);s.text+=t.delta}break}case"response.completed":{ge(this,Yr,t.response);break}}return n},Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("event",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let t=S(this,Ol,"f");if(!t)throw new ue("stream ended without producing a ChatCompletion");return t}};function aU(e,t){return QF(e,t)}var Ad=class extends te{list(t,n={},r){return this._client.getAPIList(N`/responses/${t}/input_items`,rt,{query:n,...r})}},$d=class extends te{count(t={},n){return this._client.post("/responses/input_tokens",{body:t,...n})}},zi=class extends te{constructor(){super(...arguments),this.inputItems=new Ad(this._client),this.inputTokens=new $d(this._client)}create(t,n){return this._client.post("/responses",{body:t,...n,stream:t.stream??!1})._thenUnwrap(r=>("object"in r&&r.object==="response"&&gg(r),r))}retrieve(t,n={},r){return this._client.get(N`/responses/${t}`,{query:n,...r,stream:n?.stream??!1})._thenUnwrap(s=>("object"in s&&s.object==="response"&&gg(s),s))}delete(t,n){return this._client.delete(N`/responses/${t}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}parse(t,n){return this._client.responses.create(t,n)._thenUnwrap(r=>xO(r,t))}stream(t,n){return yg.createResponse(this._client,t,n)}cancel(t,n){return this._client.post(N`/responses/${t}/cancel`,n)}compact(t,n){return this._client.post("/responses/compact",{body:t,...n})}};zi.InputItems=Ad;zi.InputTokens=$d;var kO=class extends te{retrieve(e,t){return this._client.get(N`/skills/${e}/content`,{...t,headers:G([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}},Cd=class extends te{retrieve(t,n,r){let{skill_id:s}=n;return this._client.get(N`/skills/${s}/versions/${t}/content`,{...r,headers:G([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}},Ic=class extends te{constructor(){super(...arguments),this.content=new Cd(this._client)}create(t,n={},r){return this._client.post(N`/skills/${t}/versions`,vh({body:n,...r},this._client))}retrieve(t,n,r){let{skill_id:s}=n;return this._client.get(N`/skills/${s}/versions/${t}`,r)}list(t,n={},r){return this._client.getAPIList(N`/skills/${t}/versions`,rt,{query:n,...r})}delete(t,n,r){let{skill_id:s}=n;return this._client.delete(N`/skills/${s}/versions/${t}`,r)}};Ic.Content=Cd;var Di=class extends te{constructor(){super(...arguments),this.content=new kO(this._client),this.versions=new Ic(this._client)}create(t={},n){return this._client.post("/skills",vh({body:t,...n},this._client))}retrieve(t,n){return this._client.get(N`/skills/${t}`,n)}update(t,n,r){return this._client.post(N`/skills/${t}`,{body:n,...r})}list(t={},n){return this._client.getAPIList("/skills",rt,{query:t,...n})}delete(t,n){return this._client.delete(N`/skills/${t}`,n)}};Di.Content=kO;Di.Versions=Ic;var Nd=class extends te{create(t,n,r){return this._client.post(N`/uploads/${t}/parts`,br({body:n,...r},this._client))}},Tc=class extends te{constructor(){super(...arguments),this.parts=new Nd(this._client)}create(t,n){return this._client.post("/uploads",{body:t,...n})}cancel(t,n){return this._client.post(N`/uploads/${t}/cancel`,n)}complete(t,n,r){return this._client.post(N`/uploads/${t}/complete`,{body:n,...r})}};Tc.Parts=Nd;var iU=async e=>{let t=await Promise.allSettled(e),n=t.filter(s=>s.status==="rejected");if(n.length){for(let s of n)console.error(s.reason);throw new Error(`${n.length} promise(s) failed - see the above errors`)}let r=[];for(let s of t)s.status==="fulfilled"&&r.push(s.value);return r},Pd=class extends te{create(t,n,r){return this._client.post(N`/vector_stores/${t}/file_batches`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{vector_store_id:s}=n;return this._client.get(N`/vector_stores/${s}/file_batches/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}cancel(t,n,r){let{vector_store_id:s}=n;return this._client.post(N`/vector_stores/${s}/file_batches/${t}/cancel`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(t,n,r){let s=await this.create(t,n);return await this.poll(t,s.id,r)}listFiles(t,n,r){let{vector_store_id:s,...a}=n;return this._client.getAPIList(N`/vector_stores/${s}/file_batches/${t}/files`,rt,{query:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async poll(t,n,r){let s=G([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:a,response:i}=await this.retrieve(n,{vector_store_id:t},{...r,headers:s}).withResponse();switch(a.status){case"in_progress":let o=5e3;if(r?.pollIntervalMs)o=r.pollIntervalMs;else{let c=i.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(o=l)}}await Zc(o);break;case"failed":case"cancelled":case"completed":return a}}}async uploadAndPoll(t,{files:n,fileIds:r=[]},s){if(n==null||n.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let a=s?.maxConcurrency??5,i=Math.min(a,n.length),o=this._client,c=n.values(),l=[...r];async function u(h){for(let p of h){let f=await o.files.create({file:p,purpose:"assistants"},s);l.push(f.id)}}let d=Array(i).fill(c).map(u);return await iU(d),await this.createAndPoll(t,{file_ids:l})}},jd=class extends te{create(t,n,r){return this._client.post(N`/vector_stores/${t}/files`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{vector_store_id:s}=n;return this._client.get(N`/vector_stores/${s}/files/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(t,n,r){let{vector_store_id:s,...a}=n;return this._client.post(N`/vector_stores/${s}/files/${t}`,{body:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n={},r){return this._client.getAPIList(N`/vector_stores/${t}/files`,rt,{query:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n,r){let{vector_store_id:s}=n;return this._client.delete(N`/vector_stores/${s}/files/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(t,n,r){let s=await this.create(t,n,r);return await this.poll(t,s.id,r)}async poll(t,n,r){let s=G([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let a=await this.retrieve(n,{vector_store_id:t},{...r,headers:s}).withResponse(),i=a.data;switch(i.status){case"in_progress":let o=5e3;if(r?.pollIntervalMs)o=r.pollIntervalMs;else{let c=a.response.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(o=l)}}await Zc(o);break;case"failed":case"completed":return i}}}async upload(t,n,r){let s=await this._client.files.create({file:n,purpose:"assistants"},r);return this.create(t,{file_id:s.id},r)}async uploadAndPoll(t,n,r){let s=await this.upload(t,n,r);return await this.poll(t,s.id,r)}content(t,n,r){let{vector_store_id:s}=n;return this._client.getAPIList(N`/vector_stores/${s}/files/${t}/content`,ji,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},Fi=class extends te{constructor(){super(...arguments),this.files=new jd(this._client),this.fileBatches=new Pd(this._client)}create(t,n){return this._client.post("/vector_stores",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/vector_stores/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/vector_stores/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t={},n){return this._client.getAPIList("/vector_stores",rt,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(t,n){return this._client.delete(N`/vector_stores/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}search(t,n,r){return this._client.getAPIList(N`/vector_stores/${t}/search`,ji,{body:n,method:"post",...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};Fi.Files=jd;Fi.FileBatches=Pd;var Rd=class extends te{create(t,n){return this._client.post("/videos",br({body:t,...n},this._client))}retrieve(t,n){return this._client.get(N`/videos/${t}`,n)}list(t={},n){return this._client.getAPIList("/videos",wa,{query:t,...n})}delete(t,n){return this._client.delete(N`/videos/${t}`,n)}createCharacter(t,n){return this._client.post("/videos/characters",br({body:t,...n},this._client))}downloadContent(t,n={},r){return this._client.get(N`/videos/${t}/content`,{query:n,...r,headers:G([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}edit(t,n){return this._client.post("/videos/edits",br({body:t,...n},this._client))}extend(t,n){return this._client.post("/videos/extensions",br({body:t,...n},this._client))}getCharacter(t,n){return this._client.get(N`/videos/characters/${t}`,n)}remix(t,n,r){return this._client.post(N`/videos/${t}/remix`,vh({body:n,...r},this._client))}},qa,EO,su,Ld=class extends te{constructor(){super(...arguments),qa.add(this)}async unwrap(t,n,r=this._client.webhookSecret,s=300){return await this.verifySignature(t,n,r,s),JSON.parse(t)}async verifySignature(t,n,r=this._client.webhookSecret,s=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!="function"||typeof crypto.subtle.verify!="function")throw new Error("Webhook signature verification is only supported when the `crypto` global is defined");S(this,qa,"m",EO).call(this,r);let a=G([n]).values,i=S(this,qa,"m",su).call(this,a,"webhook-signature"),o=S(this,qa,"m",su).call(this,a,"webhook-timestamp"),c=S(this,qa,"m",su).call(this,a,"webhook-id"),l=parseInt(o,10);if(isNaN(l))throw new Js("Invalid webhook timestamp format");let u=Math.floor(Date.now()/1e3);if(u-l>s)throw new Js("Webhook timestamp is too old");if(l>u+s)throw new Js("Webhook timestamp is too new");let d=i.split(" ").map(m=>m.startsWith("v1,")?m.substring(3):m),h=r.startsWith("whsec_")?Buffer.from(r.replace("whsec_",""),"base64"):Buffer.from(r,"utf-8"),p=c?`${c}.${o}.${t}`:`${o}.${t}`,f=await crypto.subtle.importKey("raw",h,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let m of d)try{let v=Buffer.from(m,"base64");if(await crypto.subtle.verify("HMAC",f,v,new TextEncoder().encode(p)))return}catch{continue}throw new Js("The given webhook signature does not match the expected signature")}};qa=new WeakSet,EO=function(e){if(typeof e!="string"||e.length===0)throw new Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},su=function(e,t){if(!e)throw new Error("Headers are required");let n=e.get(t);if(n==null)throw new Error(`Missing required header: ${t}`);return n};var _g,e_,au,SO,xe=class{constructor({baseURL:t=La("OPENAI_BASE_URL"),apiKey:n=La("OPENAI_API_KEY"),organization:r=La("OPENAI_ORG_ID")??null,project:s=La("OPENAI_PROJECT_ID")??null,webhookSecret:a=La("OPENAI_WEBHOOK_SECRET")??null,...i}={}){if(_g.add(this),au.set(this,void 0),this.completions=new gd(this),this.chat=new vc(this),this.embeddings=new _d(this),this.files=new bO(this),this.images=new Ed(this),this.audio=new xa(this),this.moderations=new Od(this),this.models=new Sd(this),this.fineTuning=new Ts(this),this.graders=new Oc(this),this.vectorStores=new Fi(this),this.webhooks=new Ld(this),this.beta=new Is(this),this.batches=new ld(this),this.uploads=new Tc(this),this.responses=new zi(this),this.realtime=new Mi(this),this.conversations=new wc(this),this.evals=new kc(this),this.containers=new bc(this),this.skills=new Di(this),this.videos=new Rd(this),n===void 0)throw new ue("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let o={apiKey:n,organization:r,project:s,webhookSecret:a,...i,baseURL:t||"https://api.openai.com/v1"};if(!o.dangerouslyAllowBrowser&&dF())throw new ue(`It looks like you're running in a browser-like environment.
287
+
288
+ This is disabled by default, as it risks exposing your secret API credentials to attackers.
289
+ If you understand the risks and have appropriate mitigations in place,
290
+ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
291
+
292
+ new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
293
+
294
+ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
295
+ `);this.baseURL=o.baseURL,this.timeout=o.timeout??e_.DEFAULT_TIMEOUT,this.logger=o.logger??console;let c="warn";this.logLevel=c,this.logLevel=lw(o.logLevel,"ClientOptions.logLevel",this)??lw(La("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??c,this.fetchOptions=o.fetchOptions,this.maxRetries=o.maxRetries??2,this.fetch=o.fetch??gF(),ge(this,au,_F),this._options=o,this.apiKey=typeof n=="string"?n:"Missing Key",this.organization=r,this.project=s,this.webhookSecret=a}withOptions(t){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...t})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:t,nulls:n}){}async authHeaders(t){return G([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(t){return SF(t)}getUserAgent(){return`${this.constructor.name}/JS ${Za}`}defaultIdempotencyKey(){return`stainless-node-retry-${PS()}`}makeStatusError(t,n,r,s){return Ut.generate(t,n,r,s)}async _callApiKey(){let t=this._options.apiKey;if(typeof t!="function")return!1;let n;try{n=await t()}catch(r){throw r instanceof ue?r:new ue(`Failed to get token from 'apiKey' function: ${r.message}`,{cause:r})}if(typeof n!="string"||!n)throw new ue(`Expected 'apiKey' function argument to return a string but it returned ${n}`);return this.apiKey=n,!0}buildURL(t,n,r){let s=!S(this,_g,"m",SO).call(this)&&r||this.baseURL,a=oF(t)?new URL(t):new URL(s+(s.endsWith("/")&&t.startsWith("/")?t.slice(1):t)),i=this.defaultQuery(),o=Object.fromEntries(a.searchParams);return(!Qb(i)||!Qb(o))&&(n={...o,...i,...n}),typeof n=="object"&&n&&!Array.isArray(n)&&(a.search=this.stringifyQuery(n)),a.toString()}async prepareOptions(t){await this._callApiKey()}async prepareRequest(t,{url:n,options:r}){}get(t,n){return this.methodRequest("get",t,n)}post(t,n){return this.methodRequest("post",t,n)}patch(t,n){return this.methodRequest("patch",t,n)}put(t,n){return this.methodRequest("put",t,n)}delete(t,n){return this.methodRequest("delete",t,n)}methodRequest(t,n,r){return this.request(Promise.resolve(r).then(s=>({method:t,path:n,...s})))}request(t,n=null){return new Yu(this,this.makeRequest(t,n,void 0))}async makeRequest(t,n,r){let s=await t,a=s.maxRetries??this.maxRetries;n==null&&(n=a),await this.prepareOptions(s);let{req:i,url:o,timeout:c}=await this.buildRequest(s,{retryCount:a-n});await this.prepareRequest(i,{url:o,options:s});let l="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),u=r===void 0?"":`, retryOf: ${r}`,d=Date.now();if(At(this).debug(`[${l}] sending request`,Bs({retryOfRequestLogID:r,method:s.method,url:o,options:s,headers:i.headers})),s.signal?.aborted)throw new dn;let h=new AbortController,p=await this.fetchWithTimeout(o,i,c,h).catch(Qm),f=Date.now();if(p instanceof globalThis.Error){let w=`retrying, ${n} attempts remaining`;if(s.signal?.aborted)throw new dn;let y=Ym(p)||/timed? ?out/i.test(String(p)+("cause"in p?String(p.cause):""));if(n)return At(this).info(`[${l}] connection ${y?"timed out":"failed"} - ${w}`),At(this).debug(`[${l}] connection ${y?"timed out":"failed"} (${w})`,Bs({retryOfRequestLogID:r,url:o,durationMs:f-d,message:p.message})),this.retryRequest(s,n,r??l);throw At(this).info(`[${l}] connection ${y?"timed out":"failed"} - error; no more retries left`),At(this).debug(`[${l}] connection ${y?"timed out":"failed"} (error; no more retries left)`,Bs({retryOfRequestLogID:r,url:o,durationMs:f-d,message:p.message})),y?new gc:new Ni({cause:p})}let m=[...p.headers.entries()].filter(([w])=>w==="x-request-id").map(([w,y])=>", "+w+": "+JSON.stringify(y)).join(""),v=`[${l}${u}${m}] ${i.method} ${o} ${p.ok?"succeeded":"failed"} with status ${p.status} in ${f-d}ms`;if(!p.ok){let w=await this.shouldRetry(p);if(n&&w){let $=`retrying, ${n} attempts remaining`;return await yF(p.body),At(this).info(`${v} - ${$}`),At(this).debug(`[${l}] response error (${$})`,Bs({retryOfRequestLogID:r,url:p.url,status:p.status,headers:p.headers,durationMs:f-d})),this.retryRequest(s,n,r??l,p.headers)}let y=w?"error; no more retries left":"error; not retryable";At(this).info(`${v} - ${y}`);let x=await p.text().catch($=>Qm($).message),k=uF(x),O=k?void 0:x;throw At(this).debug(`[${l}] response error (${y})`,Bs({retryOfRequestLogID:r,url:p.url,status:p.status,headers:p.headers,message:O,durationMs:Date.now()-d})),this.makeStatusError(p.status,k,O,p.headers)}return At(this).info(v),At(this).debug(`[${l}] response start`,Bs({retryOfRequestLogID:r,url:p.url,status:p.status,headers:p.headers,durationMs:f-d})),{response:p,options:s,controller:h,requestLogID:l,retryOfRequestLogID:r,startTime:d}}getAPIList(t,n,r){return this.requestAPIList(n,r&&"then"in r?r.then(s=>({method:"get",path:t,...s})):{method:"get",path:t,...r})}requestAPIList(t,n){let r=this.makeRequest(n,null,void 0);return new ng(this,r,t)}async fetchWithTimeout(t,n,r,s){let{signal:a,method:i,...o}=n||{},c=this._makeAbort(s);a&&a.addEventListener("abort",c,{once:!0});let l=setTimeout(c,r),u=globalThis.ReadableStream&&o.body instanceof globalThis.ReadableStream||typeof o.body=="object"&&o.body!==null&&Symbol.asyncIterator in o.body,d={signal:s.signal,...u?{duplex:"half"}:{},method:"GET",...o};i&&(d.method=i.toUpperCase());try{return await this.fetch.call(void 0,t,d)}finally{clearTimeout(l)}}async shouldRetry(t){let n=t.headers.get("x-should-retry");return n==="true"?!0:n==="false"?!1:t.status===408||t.status===409||t.status===429||t.status>=500}async retryRequest(t,n,r,s){let a,i=s?.get("retry-after-ms");if(i){let c=parseFloat(i);Number.isNaN(c)||(a=c)}let o=s?.get("retry-after");if(o&&!a){let c=parseFloat(o);Number.isNaN(c)?a=Date.parse(o)-Date.now():a=c*1e3}if(a===void 0){let c=t.maxRetries??this.maxRetries;a=this.calculateDefaultRetryTimeoutMillis(n,c)}return await Zc(a),this.makeRequest(t,n-1,r)}calculateDefaultRetryTimeoutMillis(t,n){let r=n-t,s=Math.min(.5*Math.pow(2,r),8),a=1-Math.random()*.25;return s*a*1e3}async buildRequest(t,{retryCount:n=0}={}){let r={...t},{method:s,path:a,query:i,defaultBaseURL:o}=r,c=this.buildURL(a,i,o);"timeout"in r&&lF("timeout",r.timeout),r.timeout=r.timeout??this.timeout;let{bodyHeaders:l,body:u}=this.buildBody({options:r}),d=await this.buildHeaders({options:t,method:s,bodyHeaders:l,retryCount:n});return{req:{method:s,headers:d,...r.signal&&{signal:r.signal},...globalThis.ReadableStream&&u instanceof globalThis.ReadableStream&&{duplex:"half"},...u&&{body:u},...this.fetchOptions??{},...r.fetchOptions??{}},url:c,timeout:r.timeout}}async buildHeaders({options:t,method:n,bodyHeaders:r,retryCount:s}){let a={};this.idempotencyHeader&&n!=="get"&&(t.idempotencyKey||(t.idempotencyKey=this.defaultIdempotencyKey()),a[this.idempotencyHeader]=t.idempotencyKey);let i=G([a,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(s),...t.timeout?{"X-Stainless-Timeout":String(Math.trunc(t.timeout/1e3))}:{},...mF(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(t),this._options.defaultHeaders,r,t.headers]);return this.validateHeaders(i),i.values}_makeAbort(t){return()=>t.abort()}buildBody({options:{body:t,headers:n}}){if(!t)return{bodyHeaders:void 0,body:void 0};let r=G([n]);return ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof DataView||typeof t=="string"&&r.values.has("content-type")||globalThis.Blob&&t instanceof globalThis.Blob||t instanceof FormData||t instanceof URLSearchParams||globalThis.ReadableStream&&t instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:t}:typeof t=="object"&&(Symbol.asyncIterator in t||Symbol.iterator in t&&"next"in t&&typeof t.next=="function")?{bodyHeaders:void 0,body:LS(t)}:typeof t=="object"&&r.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(t)}:S(this,au,"f").call(this,{body:t,headers:r})}};e_=xe,au=new WeakMap,_g=new WeakSet,SO=function(){return this.baseURL!=="https://api.openai.com/v1"};xe.OpenAI=e_;xe.DEFAULT_TIMEOUT=6e5;xe.OpenAIError=ue;xe.APIError=Ut;xe.APIConnectionError=Ni;xe.APIConnectionTimeoutError=gc;xe.APIUserAbortError=dn;xe.NotFoundError=Vu;xe.ConflictError=qu;xe.RateLimitError=Wu;xe.BadRequestError=Uu;xe.AuthenticationError=Bu;xe.InternalServerError=Ju;xe.PermissionDeniedError=Zu;xe.UnprocessableEntityError=Hu;xe.InvalidWebhookSignatureError=Js;xe.toFile=MF;xe.Completions=gd;xe.Chat=vc;xe.Embeddings=_d;xe.Files=bO;xe.Images=Ed;xe.Audio=xa;xe.Moderations=Od;xe.Models=Sd;xe.FineTuning=Ts;xe.Graders=Oc;xe.VectorStores=Fi;xe.Webhooks=Ld;xe.Beta=Is;xe.Batches=ld;xe.Uploads=Tc;xe.Responses=zi;xe.Realtime=Mi;xe.Conversations=wc;xe.Evals=kc;xe.Containers=bc;xe.Skills=Di;xe.Videos=Rd;function A(e,t,n){function r(o,c){if(o._zod||Object.defineProperty(o,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),o._zod.traits.has(e))return;o._zod.traits.add(e),t(o,c);let l=i.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let h=u[d];h in o||(o[h]=l[h].bind(o))}}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let l=n?.Parent?new a:this;r(l,o),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var ms=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Md=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},OO={};function As(e){return OO}function IO(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function vg(e,t){return typeof t=="bigint"?t.toString():t}function t_(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function n_(e){return e==null}function r_(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function oU(e,t){let n=(e.toString().split(".")[1]||"").length,r=t.toString(),s=(r.split(".")[1]||"").length;if(s===0&&/\d?e-\d?/.test(r)){let c=r.match(/\d?e-(\d?)/);c?.[1]&&(s=Number.parseInt(c[1]))}let a=n>s?n:s,i=Number.parseInt(e.toFixed(a).replace(".","")),o=Number.parseInt(t.toFixed(a).replace(".",""));return i%o/10**a}var Ow=Symbol("evaluating");function He(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ow)return r===void 0&&(r=Ow,r=n()),r},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function Ia(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Rs(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Iw(e){return JSON.stringify(e)}function cU(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var TO="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function zd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var lU=t_(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Ui(e){if(zd(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(zd(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function AO(e){return Ui(e)?{...e}:Array.isArray(e)?[...e]:e}var uU=new Set(["string","number","symbol"]);function Bi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ls(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function de(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function dU(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var hU={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function pU(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let s=Rs(e._zod.def,{get shape(){let a={};for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(a[i]=n.shape[i])}return Ia(this,"shape",a),a},checks:[]});return Ls(e,s)}function fU(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let s=Rs(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete a[i]}return Ia(this,"shape",a),a},checks:[]});return Ls(e,s)}function mU(e,t){if(!Ui(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Rs(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return Ia(this,"shape",s),s}});return Ls(e,r)}function gU(e,t){if(!Ui(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Rs(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return Ia(this,"shape",r),r}});return Ls(e,n)}function yU(e,t){let n=Rs(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Ia(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return Ls(e,n)}function _U(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Rs(t._zod.def,{get shape(){let a=t._zod.def.shape,i={...a};if(n)for(let o in n){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);n[o]&&(i[o]=e?new e({type:"optional",innerType:a[o]}):a[o])}else for(let o in a)i[o]=e?new e({type:"optional",innerType:a[o]}):a[o];return Ia(this,"shape",i),i},checks:[]});return Ls(t,s)}function vU(e,t,n){let r=Rs(t._zod.def,{get shape(){let s=t._zod.def.shape,a={...s};if(n)for(let i in n){if(!(i in a))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(a[i]=new e({type:"nonoptional",innerType:s[i]}))}else for(let i in s)a[i]=new e({type:"nonoptional",innerType:s[i]});return Ia(this,"shape",a),a}});return Ls(t,r)}function ni(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function ri(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Il(e){return typeof e=="string"?e:e?.message}function $s(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=Il(e.inst?._zod.def?.error?.(e))??Il(t?.error?.(e))??Il(n.customError?.(e))??Il(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function s_(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ac(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var $O=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,vg,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},CO=A("$ZodError",$O),NO=A("$ZodError",$O,{Parent:Error});function bU(e,t=n=>n.message){let n={},r=[];for(let s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):r.push(t(s));return{formErrors:r,fieldErrors:n}}function wU(e,t=n=>n.message){let n={_errors:[]},r=s=>{for(let a of s.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(i=>r({issues:i}));else if(a.code==="invalid_key")r({issues:a.issues});else if(a.code==="invalid_element")r({issues:a.issues});else if(a.path.length===0)n._errors.push(t(a));else{let i=n,o=0;for(;o<a.path.length;){let c=a.path[o];o===a.path.length-1?(i[c]=i[c]||{_errors:[]},i[c]._errors.push(t(a))):i[c]=i[c]||{_errors:[]},i=i[c],o++}}};return r(e),n}var a_=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new ms;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>$s(c,a,As())));throw TO(o,s?.callee),o}return i.value},i_=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>$s(c,a,As())));throw TO(o,s?.callee),o}return i.value},wh=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new ms;return a.issues.length?{success:!1,error:new(e??CO)(a.issues.map(i=>$s(i,s,As())))}:{success:!0,data:a.value}},xU=wh(NO),xh=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>$s(i,s,As())))}:{success:!0,data:a.value}},kU=xh(NO),EU=e=>(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return a_(e)(t,n,s)},SU=e=>(t,n,r)=>a_(e)(t,n,r),OU=e=>async(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return i_(e)(t,n,s)},IU=e=>async(t,n,r)=>i_(e)(t,n,r),TU=e=>(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wh(e)(t,n,s)},AU=e=>(t,n,r)=>wh(e)(t,n,r),$U=e=>async(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xh(e)(t,n,s)},CU=e=>async(t,n,r)=>xh(e)(t,n,r),NU=/^[cC][^\s-]{8,}$/,PU=/^[0-9a-z]+$/,jU=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,RU=/^[0-9a-vA-V]{20}$/,LU=/^[A-Za-z0-9]{27}$/,MU=/^[a-zA-Z0-9_-]{21}$/,zU=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,DU=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Tw=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,FU=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,UU="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function BU(){return new RegExp(UU,"u")}var ZU=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,VU=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,qU=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,HU=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,WU=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,PO=/^[A-Za-z0-9_-]*$/,JU=/^\+[1-9]\d{6,14}$/,jO="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",GU=new RegExp(`^${jO}$`);function RO(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function KU(e){return new RegExp(`^${RO(e)}$`)}function XU(e){let t=RO({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${jO}T(?:${r})$`)}var YU=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},QU=/^-?\d+$/,LO=/^-?\d+(?:\.\d+)?$/,e3=/^[^A-Z]*$/,t3=/^[^a-z]*$/,_n=A("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),MO={number:"number",bigint:"bigint",object:"date"},zO=A("$ZodCheckLessThan",(e,t)=>{_n.init(e,t);let n=MO[typeof t.value];e._zod.onattach.push(r=>{let s=r._zod.bag,a=(t.inclusive?s.maximum:s.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<a&&(t.inclusive?s.maximum=t.value:s.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),DO=A("$ZodCheckGreaterThan",(e,t)=>{_n.init(e,t);let n=MO[typeof t.value];e._zod.onattach.push(r=>{let s=r._zod.bag,a=(t.inclusive?s.minimum:s.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(t.inclusive?s.minimum=t.value:s.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),n3=A("$ZodCheckMultipleOf",(e,t)=>{_n.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):oU(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),r3=A("$ZodCheckNumberFormat",(e,t)=>{_n.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[s,a]=hU[t.format];e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,o.minimum=s,o.maximum=a,n&&(o.pattern=QU)}),e._zod.check=i=>{let o=i.value;if(n){if(!Number.isInteger(o)){i.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:o,inst:e});return}if(!Number.isSafeInteger(o)){o>0?i.issues.push({input:o,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):i.issues.push({input:o,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}o<s&&i.issues.push({origin:"number",input:o,code:"too_small",minimum:s,inclusive:!0,inst:e,continue:!t.abort}),o>a&&i.issues.push({origin:"number",input:o,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),s3=A("$ZodCheckMaxLength",(e,t)=>{var n;_n.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!n_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let s=r.value;if(s.length<=t.maximum)return;let a=s_(s);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),a3=A("$ZodCheckMinLength",(e,t)=>{var n;_n.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!n_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let s=r.value;if(s.length>=t.minimum)return;let a=s_(s);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),i3=A("$ZodCheckLengthEquals",(e,t)=>{var n;_n.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!n_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=r=>{let s=r.value,a=s.length;if(a===t.length)return;let i=s_(s),o=a>t.length;r.issues.push({origin:i,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),kh=A("$ZodCheckStringFormat",(e,t)=>{var n,r;_n.init(e,t),e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=s=>{t.pattern.lastIndex=0,!t.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:t.format,input:s.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),o3=A("$ZodCheckRegex",(e,t)=>{kh.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),c3=A("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=e3),kh.init(e,t)}),l3=A("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=t3),kh.init(e,t)}),u3=A("$ZodCheckIncludes",(e,t)=>{_n.init(e,t);let n=Bi(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(s=>{let a=s._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=s=>{s.value.includes(t.includes,t.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:s.value,inst:e,continue:!t.abort})}}),d3=A("$ZodCheckStartsWith",(e,t)=>{_n.init(e,t);let n=new RegExp(`^${Bi(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),h3=A("$ZodCheckEndsWith",(e,t)=>{_n.init(e,t);let n=new RegExp(`.*${Bi(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),p3=A("$ZodCheckOverwrite",(e,t)=>{_n.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),bg=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
296
+ `).filter(a=>a),r=Math.min(...n.map(a=>a.length-a.trimStart().length)),s=n.map(a=>a.slice(r)).map(a=>" ".repeat(this.indent*2)+a);for(let a of s)this.content.push(a)}compile(){let t=Function,n=this?.args,r=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,r.join(`
297
+ `))}},f3={major:4,minor:3,patch:6},lt=A("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=f3;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(i,o,c)=>{let l=ni(i),u;for(let d of o){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(l)continue;let h=i.issues.length,p=d._zod.check(i);if(p instanceof Promise&&c?.async===!1)throw new ms;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,i.issues.length!==h&&(l||(l=ni(i,h)))});else{if(i.issues.length===h)continue;l||(l=ni(i,h))}}return u?u.then(()=>i):i},a=(i,o,c)=>{if(ni(i))return i.aborted=!0,i;let l=s(o,r,c);if(l instanceof Promise){if(c.async===!1)throw new ms;return l.then(u=>e._zod.parse(u,c))}return e._zod.parse(l,c)};e._zod.run=(i,o)=>{if(o.skipChecks)return e._zod.parse(i,o);if(o.direction==="backward"){let l=e._zod.parse({value:i.value,issues:[]},{...o,skipChecks:!0});return l instanceof Promise?l.then(u=>a(u,i,o)):a(l,i,o)}let c=e._zod.parse(i,o);if(c instanceof Promise){if(o.async===!1)throw new ms;return c.then(l=>s(l,r,o))}return s(c,r,o)}}He(e,"~standard",()=>({validate:s=>{try{let a=xU(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return kU(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),o_=A("$ZodString",(e,t)=>{lt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??YU(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),st=A("$ZodStringFormat",(e,t)=>{kh.init(e,t),o_.init(e,t)}),m3=A("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=DU),st.init(e,t)}),g3=A("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Tw(n))}else t.pattern??(t.pattern=Tw());st.init(e,t)}),y3=A("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=FU),st.init(e,t)}),_3=A("$ZodURL",(e,t)=>{st.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),s=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(s.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=s.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),v3=A("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=BU()),st.init(e,t)}),b3=A("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=MU),st.init(e,t)}),w3=A("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=NU),st.init(e,t)}),x3=A("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=PU),st.init(e,t)}),k3=A("$ZodULID",(e,t)=>{t.pattern??(t.pattern=jU),st.init(e,t)}),E3=A("$ZodXID",(e,t)=>{t.pattern??(t.pattern=RU),st.init(e,t)}),S3=A("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=LU),st.init(e,t)}),O3=A("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=XU(t)),st.init(e,t)}),I3=A("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=GU),st.init(e,t)}),T3=A("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=KU(t)),st.init(e,t)}),A3=A("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=zU),st.init(e,t)}),$3=A("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ZU),st.init(e,t),e._zod.bag.format="ipv4"}),C3=A("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=VU),st.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),N3=A("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=qU),st.init(e,t)}),P3=A("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=HU),st.init(e,t),e._zod.check=n=>{let r=n.value.split("/");try{if(r.length!==2)throw new Error;let[s,a]=r;if(!a)throw new Error;let i=Number(a);if(`${i}`!==a)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${s}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function FO(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var j3=A("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=WU),st.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{FO(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function R3(e){if(!PO.test(e))return!1;let t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return FO(n)}var L3=A("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=PO),st.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{R3(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),M3=A("$ZodE164",(e,t)=>{t.pattern??(t.pattern=JU),st.init(e,t)});function z3(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let s=JSON.parse(atob(r));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||t&&(!("alg"in s)||s.alg!==t))}catch{return!1}}var D3=A("$ZodJWT",(e,t)=>{st.init(e,t),e._zod.check=n=>{z3(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),UO=A("$ZodNumber",(e,t)=>{lt.init(e,t),e._zod.pattern=e._zod.bag.pattern??LO,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let s=n.value;if(typeof s=="number"&&!Number.isNaN(s)&&Number.isFinite(s))return n;let a=typeof s=="number"?Number.isNaN(s)?"NaN":Number.isFinite(s)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:s,inst:e,...a?{received:a}:{}}),n}}),F3=A("$ZodNumberFormat",(e,t)=>{r3.init(e,t),UO.init(e,t)}),U3=A("$ZodUnknown",(e,t)=>{lt.init(e,t),e._zod.parse=n=>n}),B3=A("$ZodNever",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Aw(e,t,n){e.issues.length&&t.issues.push(...ri(n,e.issues)),t.value[n]=e.value}var Z3=A("$ZodArray",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);let a=[];for(let i=0;i<s.length;i++){let o=s[i],c=t.element._zod.run({value:o,issues:[]},r);c instanceof Promise?a.push(c.then(l=>Aw(l,n,i))):Aw(c,n,i)}return a.length?Promise.all(a).then(()=>n):n}});function Dd(e,t,n,r,s){if(e.issues.length){if(s&&!(n in r))return;t.issues.push(...ri(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function BO(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);let n=dU(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function ZO(e,t,n,r,s,a){let i=[],o=s.keySet,c=s.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in t){if(o.has(d))continue;if(l==="never"){i.push(d);continue}let h=c.run({value:t[d],issues:[]},r);h instanceof Promise?e.push(h.then(p=>Dd(p,n,d,t,u))):Dd(h,n,d,t,u)}return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var V3=A("$ZodObject",(e,t)=>{if(lt.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let i=t.shape;Object.defineProperty(t,"shape",{get:()=>{let o={...i};return Object.defineProperty(t,"shape",{value:o}),o}})}let n=t_(()=>BO(t));He(e._zod,"propValues",()=>{let i=t.shape,o={};for(let c in i){let l=i[c]._zod;if(l.values){o[c]??(o[c]=new Set);for(let u of l.values)o[c].add(u)}}return o});let r=zd,s=t.catchall,a;e._zod.parse=(i,o)=>{a??(a=n.value);let c=i.value;if(!r(c))return i.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),i;i.value={};let l=[],u=a.shape;for(let d of a.keys){let h=u[d],p=h._zod.optout==="optional",f=h._zod.run({value:c[d],issues:[]},o);f instanceof Promise?l.push(f.then(m=>Dd(m,i,d,c,p))):Dd(f,i,d,c,p)}return s?ZO(l,c,i,o,n.value,e):l.length?Promise.all(l).then(()=>i):i}}),q3=A("$ZodObjectJIT",(e,t)=>{V3.init(e,t);let n=e._zod.parse,r=t_(()=>BO(t)),s=d=>{let h=new bg(["shape","payload","ctx"]),p=r.value,f=y=>{let x=Iw(y);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};h.write("const input = payload.value;");let m=Object.create(null),v=0;for(let y of p.keys)m[y]=`key_${v++}`;h.write("const newResult = {};");for(let y of p.keys){let x=m[y],k=Iw(y),O=d[y]?._zod?.optout==="optional";h.write(`const ${x} = ${f(y)};`),O?h.write(`
298
+ if (${x}.issues.length) {
299
+ if (${k} in input) {
300
+ payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
301
+ ...iss,
302
+ path: iss.path ? [${k}, ...iss.path] : [${k}]
303
+ })));
304
+ }
305
+ }
306
+
307
+ if (${x}.value === undefined) {
308
+ if (${k} in input) {
309
+ newResult[${k}] = undefined;
310
+ }
311
+ } else {
312
+ newResult[${k}] = ${x}.value;
313
+ }
314
+
315
+ `):h.write(`
316
+ if (${x}.issues.length) {
317
+ payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
318
+ ...iss,
319
+ path: iss.path ? [${k}, ...iss.path] : [${k}]
320
+ })));
321
+ }
322
+
323
+ if (${x}.value === undefined) {
324
+ if (${k} in input) {
325
+ newResult[${k}] = undefined;
326
+ }
327
+ } else {
328
+ newResult[${k}] = ${x}.value;
329
+ }
330
+
331
+ `)}h.write("payload.value = newResult;"),h.write("return payload;");let w=h.compile();return(y,x)=>w(d,y,x)},a,i=zd,o=!OO.jitless,c=o&&lU.value,l=t.catchall,u;e._zod.parse=(d,h)=>{u??(u=r.value);let p=d.value;return i(p)?o&&c&&h?.async===!1&&h.jitless!==!0?(a||(a=s(t.shape)),d=a(d,h),l?ZO([],p,d,h,u,e):d):n(d,h):(d.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),d)}});function $w(e,t,n,r){for(let a of e)if(a.issues.length===0)return t.value=a.value,t;let s=e.filter(a=>!ni(a));return s.length===1?(t.value=s[0].value,s[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(a=>a.issues.map(i=>$s(i,r,As())))}),t)}var H3=A("$ZodUnion",(e,t)=>{lt.init(e,t),He(e._zod,"optin",()=>t.options.some(s=>s._zod.optin==="optional")?"optional":void 0),He(e._zod,"optout",()=>t.options.some(s=>s._zod.optout==="optional")?"optional":void 0),He(e._zod,"values",()=>{if(t.options.every(s=>s._zod.values))return new Set(t.options.flatMap(s=>Array.from(s._zod.values)))}),He(e._zod,"pattern",()=>{if(t.options.every(s=>s._zod.pattern)){let s=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${s.map(a=>r_(a.source)).join("|")})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(s,a)=>{if(n)return r(s,a);let i=!1,o=[];for(let c of t.options){let l=c._zod.run({value:s.value,issues:[]},a);if(l instanceof Promise)o.push(l),i=!0;else{if(l.issues.length===0)return l;o.push(l)}}return i?Promise.all(o).then(c=>$w(c,s,e,a)):$w(o,s,e,a)}}),W3=A("$ZodIntersection",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{let s=n.value,a=t.left._zod.run({value:s,issues:[]},r),i=t.right._zod.run({value:s,issues:[]},r);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([o,c])=>Cw(n,o,c)):Cw(n,a,i)}});function wg(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ui(e)&&Ui(t)){let n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),s={...e,...t};for(let a of r){let i=wg(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};s[a]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let s=e[r],a=t[r],i=wg(s,a);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Cw(e,t,n){let r=new Map,s;for(let o of t.issues)if(o.code==="unrecognized_keys"){s??(s=o);for(let c of o.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else e.issues.push(o);for(let o of n.issues)if(o.code==="unrecognized_keys")for(let c of o.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else e.issues.push(o);let a=[...r].filter(([,o])=>o.l&&o.r).map(([o])=>o);if(a.length&&s&&e.issues.push({...s,keys:a}),ni(e))return e;let i=wg(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}var J3=A("$ZodRecord",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Ui(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;let a=[],i=t.keyType._zod.values;if(i){n.value={};let o=new Set;for(let l of i)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){o.add(typeof l=="number"?l.toString():l);let u=t.valueType._zod.run({value:s[l],issues:[]},r);u instanceof Promise?a.push(u.then(d=>{d.issues.length&&n.issues.push(...ri(l,d.issues)),n.value[l]=d.value})):(u.issues.length&&n.issues.push(...ri(l,u.issues)),n.value[l]=u.value)}let c;for(let l in s)o.has(l)||(c=c??[],c.push(l));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(s)){if(o==="__proto__")continue;let c=t.keyType._zod.run({value:o,issues:[]},r);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof o=="string"&&LO.test(o)&&c.issues.length){let u=t.keyType._zod.run({value:Number(o),issues:[]},r);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");u.issues.length===0&&(c=u)}if(c.issues.length){t.mode==="loose"?n.value[o]=s[o]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(u=>$s(u,r,As())),input:o,path:[o],inst:e});continue}let l=t.valueType._zod.run({value:s[o],issues:[]},r);l instanceof Promise?a.push(l.then(u=>{u.issues.length&&n.issues.push(...ri(o,u.issues)),n.value[c.value]=u.value})):(l.issues.length&&n.issues.push(...ri(o,l.issues)),n.value[c.value]=l.value)}}return a.length?Promise.all(a).then(()=>n):n}}),G3=A("$ZodEnum",(e,t)=>{lt.init(e,t);let n=IO(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(s=>uU.has(typeof s)).map(s=>typeof s=="string"?Bi(s):s.toString()).join("|")})$`),e._zod.parse=(s,a)=>{let i=s.value;return r.has(i)||s.issues.push({code:"invalid_value",values:n,input:i,inst:e}),s}}),K3=A("$ZodLiteral",(e,t)=>{if(lt.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Bi(r):r?Bi(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,s)=>{let a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),X3=A("$ZodTransform",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Md(e.constructor.name);let s=t.transform(n.value,n);if(r.async)return(s instanceof Promise?s:Promise.resolve(s)).then(a=>(n.value=a,n));if(s instanceof Promise)throw new ms;return n.value=s,n}});function Nw(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var VO=A("$ZodOptional",(e,t)=>{lt.init(e,t),e._zod.optin="optional",e._zod.optout="optional",He(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),He(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${r_(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Nw(a,n.value)):Nw(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),Y3=A("$ZodExactOptional",(e,t)=>{VO.init(e,t),He(e._zod,"values",()=>t.innerType._zod.values),He(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Q3=A("$ZodNullable",(e,t)=>{lt.init(e,t),He(e._zod,"optin",()=>t.innerType._zod.optin),He(e._zod,"optout",()=>t.innerType._zod.optout),He(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${r_(n.source)}|null)$`):void 0}),He(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),e6=A("$ZodDefault",(e,t)=>{lt.init(e,t),e._zod.optin="optional",He(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Pw(a,t)):Pw(s,t)}});function Pw(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var t6=A("$ZodPrefault",(e,t)=>{lt.init(e,t),e._zod.optin="optional",He(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),n6=A("$ZodNonOptional",(e,t)=>{lt.init(e,t),He(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>jw(a,e)):jw(s,e)}});function jw(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var r6=A("$ZodCatch",(e,t)=>{lt.init(e,t),He(e._zod,"optin",()=>t.innerType._zod.optin),He(e._zod,"optout",()=>t.innerType._zod.optout),He(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(i=>$s(i,r,As()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(a=>$s(a,r,As()))},input:n.value}),n.issues=[]),n)}}),s6=A("$ZodPipe",(e,t)=>{lt.init(e,t),He(e._zod,"values",()=>t.in._zod.values),He(e._zod,"optin",()=>t.in._zod.optin),He(e._zod,"optout",()=>t.out._zod.optout),He(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let a=t.out._zod.run(n,r);return a instanceof Promise?a.then(i=>Tl(i,t.in,r)):Tl(a,t.in,r)}let s=t.in._zod.run(n,r);return s instanceof Promise?s.then(a=>Tl(a,t.out,r)):Tl(s,t.out,r)}});function Tl(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var a6=A("$ZodReadonly",(e,t)=>{lt.init(e,t),He(e._zod,"propValues",()=>t.innerType._zod.propValues),He(e._zod,"values",()=>t.innerType._zod.values),He(e._zod,"optin",()=>t.innerType?._zod?.optin),He(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(Rw):Rw(s)}});function Rw(e){return e.value=Object.freeze(e.value),e}var i6=A("$ZodCustom",(e,t)=>{_n.init(e,t),lt.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,s=t.fn(r);if(s instanceof Promise)return s.then(a=>Lw(a,n,r,e));Lw(s,n,r,e)}});function Lw(e,t,n,r){if(!e){let s={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(s.params=r._zod.def.params),t.issues.push(Ac(s))}}var Mw,xg=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){let r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){let n=t._zod.parent;if(n){let r={...this.get(n)??{}};delete r.id;let s={...r,...this._map.get(t)};return Object.keys(s).length?s:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function o6(){return new xg}(Mw=globalThis).__zod_globalRegistry??(Mw.__zod_globalRegistry=o6());var Oo=globalThis.__zod_globalRegistry;function c6(e,t){return new e({type:"string",...de(t)})}function l6(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...de(t)})}function zw(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...de(t)})}function u6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...de(t)})}function d6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...de(t)})}function h6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...de(t)})}function p6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...de(t)})}function f6(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...de(t)})}function m6(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...de(t)})}function g6(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...de(t)})}function y6(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...de(t)})}function _6(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...de(t)})}function v6(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...de(t)})}function b6(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...de(t)})}function w6(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...de(t)})}function x6(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...de(t)})}function k6(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...de(t)})}function E6(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...de(t)})}function S6(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...de(t)})}function O6(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...de(t)})}function I6(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...de(t)})}function T6(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...de(t)})}function A6(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...de(t)})}function $6(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...de(t)})}function C6(e,t){return new e({type:"string",format:"date",check:"string_format",...de(t)})}function N6(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...de(t)})}function P6(e,t){return new e({type:"string",format:"duration",check:"string_format",...de(t)})}function j6(e,t){return new e({type:"number",checks:[],...de(t)})}function R6(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...de(t)})}function L6(e){return new e({type:"unknown"})}function M6(e,t){return new e({type:"never",...de(t)})}function Dw(e,t){return new zO({check:"less_than",...de(t),value:e,inclusive:!1})}function _f(e,t){return new zO({check:"less_than",...de(t),value:e,inclusive:!0})}function Fw(e,t){return new DO({check:"greater_than",...de(t),value:e,inclusive:!1})}function vf(e,t){return new DO({check:"greater_than",...de(t),value:e,inclusive:!0})}function Uw(e,t){return new n3({check:"multiple_of",...de(t),value:e})}function qO(e,t){return new s3({check:"max_length",...de(t),maximum:e})}function Fd(e,t){return new a3({check:"min_length",...de(t),minimum:e})}function HO(e,t){return new i3({check:"length_equals",...de(t),length:e})}function z6(e,t){return new o3({check:"string_format",format:"regex",...de(t),pattern:e})}function D6(e){return new c3({check:"string_format",format:"lowercase",...de(e)})}function F6(e){return new l3({check:"string_format",format:"uppercase",...de(e)})}function U6(e,t){return new u3({check:"string_format",format:"includes",...de(t),includes:e})}function B6(e,t){return new d3({check:"string_format",format:"starts_with",...de(t),prefix:e})}function Z6(e,t){return new h3({check:"string_format",format:"ends_with",...de(t),suffix:e})}function Xi(e){return new p3({check:"overwrite",tx:e})}function V6(e){return Xi(t=>t.normalize(e))}function q6(){return Xi(e=>e.trim())}function H6(){return Xi(e=>e.toLowerCase())}function W6(){return Xi(e=>e.toUpperCase())}function J6(){return Xi(e=>cU(e))}function G6(e,t,n){return new e({type:"array",element:t,...de(n)})}function K6(e,t,n){return new e({type:"custom",check:"custom",fn:t,...de(n)})}function X6(e){let t=Y6(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(Ac(r,n.value,t._zod.def));else{let s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(Ac(s))}},e(n.value,n)));return t}function Y6(e,t){let n=new _n({check:"custom",...de(t)});return n._zod.check=e,n}function WO(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Oo,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function gt(e,t,n={path:[],schemaPath:[]}){var r;let s=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);let o=e._zod.toJSONSchema?.();if(o)i.schema=o;else{let l={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,l);else{let d=i.schema,h=t.processors[s.type];if(!h)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);h(e,t,d,l)}let u=e._zod.parent;u&&(i.ref||(i.ref=u),gt(u,t,l),t.seen.get(u).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&Ht(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function JO(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let i of e.seen.entries()){let o=e.metadataRegistry.get(i[0])?.id;if(o){let c=r.get(o);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${o}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(o,i[0])}}let s=i=>{let o=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let u=e.external.registry.get(i[0])?.id,d=e.external.uri??(p=>p);if(u)return{ref:d(u)};let h=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=h,{defId:h,ref:`${d("__shared")}#/${o}/${h}`}}if(i[1]===n)return{ref:"#"};let c=`#/${o}/`,l=i[1].schema.id??`__schema${e.counter++}`;return{defId:l,ref:c+l}},a=i=>{if(i[1].schema.$ref)return;let o=i[1],{ref:c,defId:l}=s(i);o.def={...o.schema},l&&(o.defId=l);let u=o.schema;for(let d in u)delete u[d];u.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let o=i[1];if(o.cycle)throw new Error(`Cycle detected: #/${o.cycle?.join("/")}/<root>
332
+
333
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let o=i[1];if(t===i[0]){a(i);continue}if(e.external){let c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(o.cycle){a(i);continue}if(o.count>1&&e.reused==="ref"){a(i);continue}}}function GO(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=i=>{let o=e.seen.get(i);if(o.ref===null)return;let c=o.def??o.schema,l={...c},u=o.ref;if(o.ref=null,u){r(u);let h=e.seen.get(u),p=h.schema;if(p.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(p)):Object.assign(c,p),Object.assign(c,l),i._zod.parent===u)for(let f in c)f==="$ref"||f==="allOf"||f in l||delete c[f];if(p.$ref&&h.def)for(let f in c)f==="$ref"||f==="allOf"||f in h.def&&JSON.stringify(c[f])===JSON.stringify(h.def[f])&&delete c[f]}let d=i._zod.parent;if(d&&d!==u){r(d);let h=e.seen.get(d);if(h?.schema.$ref&&(c.$ref=h.schema.$ref,h.def))for(let p in c)p==="$ref"||p==="allOf"||p in h.def&&JSON.stringify(c[p])===JSON.stringify(h.def[p])&&delete c[p]}e.override({zodSchema:i,jsonSchema:c,path:o.path??[]})};for(let i of[...e.seen.entries()].reverse())r(i[0]);let s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(i)}Object.assign(s,n.def??n.schema);let a=e.external?.defs??{};for(let i of e.seen.entries()){let o=i[1];o.def&&o.defId&&(a[o.defId]=o.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{let i=JSON.parse(JSON.stringify(s));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Ud(t,"input",e.processors),output:Ud(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function Ht(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Ht(r.element,n);if(r.type==="set")return Ht(r.valueType,n);if(r.type==="lazy")return Ht(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Ht(r.innerType,n);if(r.type==="intersection")return Ht(r.left,n)||Ht(r.right,n);if(r.type==="record"||r.type==="map")return Ht(r.keyType,n)||Ht(r.valueType,n);if(r.type==="pipe")return Ht(r.in,n)||Ht(r.out,n);if(r.type==="object"){for(let s in r.shape)if(Ht(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(let s of r.options)if(Ht(s,n))return!0;return!1}if(r.type==="tuple"){for(let s of r.items)if(Ht(s,n))return!0;return!!(r.rest&&Ht(r.rest,n))}return!1}var Q6=(e,t={})=>n=>{let r=WO({...n,processors:t});return gt(e,r),JO(r,e),GO(r,e)},Ud=(e,t,n={})=>r=>{let{libraryOptions:s,target:a}=r??{},i=WO({...s??{},target:a,io:t,processors:n});return gt(e,i),JO(i,e),GO(i,e)},eB={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},tB=(e,t,n,r)=>{let s=n;s.type="string";let{minimum:a,maximum:i,format:o,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof i=="number"&&(s.maxLength=i),o&&(s.format=eB[o]??o,s.format===""&&delete s.format,o==="time"&&delete s.format),l&&(s.contentEncoding=l),c&&c.size>0){let u=[...c];u.length===1?s.pattern=u[0].source:u.length>1&&(s.allOf=[...u.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},nB=(e,t,n,r)=>{let s=n,{minimum:a,maximum:i,format:o,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof o=="string"&&o.includes("int")?s.type="integer":s.type="number",typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=u,s.exclusiveMinimum=!0):s.exclusiveMinimum=u),typeof a=="number"&&(s.minimum=a,typeof u=="number"&&t.target!=="draft-04"&&(u>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=l,s.exclusiveMaximum=!0):s.exclusiveMaximum=l),typeof i=="number"&&(s.maximum=i,typeof l=="number"&&t.target!=="draft-04"&&(l<=i?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},rB=(e,t,n,r)=>{n.not={}},sB=(e,t,n,r)=>{},aB=(e,t,n,r)=>{let s=e._zod.def,a=IO(s.entries);a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),n.enum=a},iB=(e,t,n,r)=>{let s=e._zod.def,a=[];for(let i of s.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){let i=a[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),a.every(i=>typeof i=="boolean")&&(n.type="boolean"),a.every(i=>i===null)&&(n.type="null"),n.enum=a},oB=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},cB=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},lB=(e,t,n,r)=>{let s=n,a=e._zod.def,{minimum:i,maximum:o}=e._zod.bag;typeof i=="number"&&(s.minItems=i),typeof o=="number"&&(s.maxItems=o),s.type="array",s.items=gt(a.element,t,{...r,path:[...r.path,"items"]})},uB=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object",s.properties={};let i=a.shape;for(let l in i)s.properties[l]=gt(i[l],t,{...r,path:[...r.path,"properties",l]});let o=new Set(Object.keys(i)),c=new Set([...o].filter(l=>{let u=a.shape[l]._zod;return t.io==="input"?u.optin===void 0:u.optout===void 0}));c.size>0&&(s.required=Array.from(c)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=gt(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},dB=(e,t,n,r)=>{let s=e._zod.def,a=s.inclusive===!1,i=s.options.map((o,c)=>gt(o,t,{...r,path:[...r.path,a?"oneOf":"anyOf",c]}));a?n.oneOf=i:n.anyOf=i},hB=(e,t,n,r)=>{let s=e._zod.def,a=gt(s.left,t,{...r,path:[...r.path,"allOf",0]}),i=gt(s.right,t,{...r,path:[...r.path,"allOf",1]}),o=l=>"allOf"in l&&Object.keys(l).length===1,c=[...o(a)?a.allOf:[a],...o(i)?i.allOf:[i]];n.allOf=c},pB=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object";let i=a.keyType,o=i._zod.bag?.patterns;if(a.mode==="loose"&&o&&o.size>0){let l=gt(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});s.patternProperties={};for(let u of o)s.patternProperties[u.source]=l}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=gt(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),s.additionalProperties=gt(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let c=i._zod.values;if(c){let l=[...c].filter(u=>typeof u=="string"||typeof u=="number");l.length>0&&(s.required=l)}},fB=(e,t,n,r)=>{let s=e._zod.def,a=gt(s.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},mB=(e,t,n,r)=>{let s=e._zod.def;gt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},gB=(e,t,n,r)=>{let s=e._zod.def;gt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},yB=(e,t,n,r)=>{let s=e._zod.def;gt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},_B=(e,t,n,r)=>{let s=e._zod.def;gt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType;let i;try{i=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},vB=(e,t,n,r)=>{let s=e._zod.def,a=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;gt(a,t,r);let i=t.seen.get(e);i.ref=a},bB=(e,t,n,r)=>{let s=e._zod.def;gt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.readOnly=!0},KO=(e,t,n,r)=>{let s=e._zod.def;gt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},wB=A("ZodISODateTime",(e,t)=>{O3.init(e,t),at.init(e,t)});function xB(e){return $6(wB,e)}var kB=A("ZodISODate",(e,t)=>{I3.init(e,t),at.init(e,t)});function EB(e){return C6(kB,e)}var SB=A("ZodISOTime",(e,t)=>{T3.init(e,t),at.init(e,t)});function OB(e){return N6(SB,e)}var IB=A("ZodISODuration",(e,t)=>{A3.init(e,t),at.init(e,t)});function TB(e){return P6(IB,e)}var AB=(e,t)=>{CO.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>wU(e,n)},flatten:{value:n=>bU(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,vg,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,vg,2)}},isEmpty:{get(){return e.issues.length===0}}})},Bn=A("ZodError",AB,{Parent:Error}),$B=a_(Bn),CB=i_(Bn),NB=wh(Bn),PB=xh(Bn),jB=EU(Bn),RB=SU(Bn),LB=OU(Bn),MB=IU(Bn),zB=TU(Bn),DB=AU(Bn),FB=$U(Bn),UB=CU(Bn),ut=A("ZodType",(e,t)=>(lt.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Ud(e,"input"),output:Ud(e,"output")}}),e.toJSONSchema=Q6(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(Rs(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>Ls(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>$B(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>NB(e,n,r),e.parseAsync=async(n,r)=>CB(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>PB(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>jB(e,n,r),e.decode=(n,r)=>RB(e,n,r),e.encodeAsync=async(n,r)=>LB(e,n,r),e.decodeAsync=async(n,r)=>MB(e,n,r),e.safeEncode=(n,r)=>zB(e,n,r),e.safeDecode=(n,r)=>DB(e,n,r),e.safeEncodeAsync=async(n,r)=>FB(e,n,r),e.safeDecodeAsync=async(n,r)=>UB(e,n,r),e.refine=(n,r)=>e.check(j8(n,r)),e.superRefine=n=>e.check(R8(n)),e.overwrite=n=>e.check(Xi(n)),e.optional=()=>qw(e),e.exactOptional=()=>w8(e),e.nullable=()=>Hw(e),e.nullish=()=>qw(Hw(e)),e.nonoptional=n=>I8(e,n),e.array=()=>qc(e),e.or=n=>Eh([e,n]),e.and=n=>f8(e,n),e.transform=n=>Ww(e,v8(n)),e.default=n=>E8(e,n),e.prefault=n=>O8(e,n),e.catch=n=>A8(e,n),e.pipe=n=>Ww(e,n),e.readonly=()=>N8(e),e.describe=n=>{let r=e.clone();return Oo.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Oo.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Oo.get(e);let r=e.clone();return Oo.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),XO=A("_ZodString",(e,t)=>{o_.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(r,s,a)=>tB(e,r,s);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(z6(...r)),e.includes=(...r)=>e.check(U6(...r)),e.startsWith=(...r)=>e.check(B6(...r)),e.endsWith=(...r)=>e.check(Z6(...r)),e.min=(...r)=>e.check(Fd(...r)),e.max=(...r)=>e.check(qO(...r)),e.length=(...r)=>e.check(HO(...r)),e.nonempty=(...r)=>e.check(Fd(1,...r)),e.lowercase=r=>e.check(D6(r)),e.uppercase=r=>e.check(F6(r)),e.trim=()=>e.check(q6()),e.normalize=(...r)=>e.check(V6(...r)),e.toLowerCase=()=>e.check(H6()),e.toUpperCase=()=>e.check(W6()),e.slugify=()=>e.check(J6())}),BB=A("ZodString",(e,t)=>{o_.init(e,t),XO.init(e,t),e.email=n=>e.check(l6(ZB,n)),e.url=n=>e.check(f6(VB,n)),e.jwt=n=>e.check(A6(a8,n)),e.emoji=n=>e.check(m6(qB,n)),e.guid=n=>e.check(zw(Bw,n)),e.uuid=n=>e.check(u6(Al,n)),e.uuidv4=n=>e.check(d6(Al,n)),e.uuidv6=n=>e.check(h6(Al,n)),e.uuidv7=n=>e.check(p6(Al,n)),e.nanoid=n=>e.check(g6(HB,n)),e.guid=n=>e.check(zw(Bw,n)),e.cuid=n=>e.check(y6(WB,n)),e.cuid2=n=>e.check(_6(JB,n)),e.ulid=n=>e.check(v6(GB,n)),e.base64=n=>e.check(O6(n8,n)),e.base64url=n=>e.check(I6(r8,n)),e.xid=n=>e.check(b6(KB,n)),e.ksuid=n=>e.check(w6(XB,n)),e.ipv4=n=>e.check(x6(YB,n)),e.ipv6=n=>e.check(k6(QB,n)),e.cidrv4=n=>e.check(E6(e8,n)),e.cidrv6=n=>e.check(S6(t8,n)),e.e164=n=>e.check(T6(s8,n)),e.datetime=n=>e.check(xB(n)),e.date=n=>e.check(EB(n)),e.time=n=>e.check(OB(n)),e.duration=n=>e.check(TB(n))});function On(e){return c6(BB,e)}var at=A("ZodStringFormat",(e,t)=>{st.init(e,t),XO.init(e,t)}),ZB=A("ZodEmail",(e,t)=>{y3.init(e,t),at.init(e,t)}),Bw=A("ZodGUID",(e,t)=>{m3.init(e,t),at.init(e,t)}),Al=A("ZodUUID",(e,t)=>{g3.init(e,t),at.init(e,t)}),VB=A("ZodURL",(e,t)=>{_3.init(e,t),at.init(e,t)}),qB=A("ZodEmoji",(e,t)=>{v3.init(e,t),at.init(e,t)}),HB=A("ZodNanoID",(e,t)=>{b3.init(e,t),at.init(e,t)}),WB=A("ZodCUID",(e,t)=>{w3.init(e,t),at.init(e,t)}),JB=A("ZodCUID2",(e,t)=>{x3.init(e,t),at.init(e,t)}),GB=A("ZodULID",(e,t)=>{k3.init(e,t),at.init(e,t)}),KB=A("ZodXID",(e,t)=>{E3.init(e,t),at.init(e,t)}),XB=A("ZodKSUID",(e,t)=>{S3.init(e,t),at.init(e,t)}),YB=A("ZodIPv4",(e,t)=>{$3.init(e,t),at.init(e,t)}),QB=A("ZodIPv6",(e,t)=>{C3.init(e,t),at.init(e,t)}),e8=A("ZodCIDRv4",(e,t)=>{N3.init(e,t),at.init(e,t)}),t8=A("ZodCIDRv6",(e,t)=>{P3.init(e,t),at.init(e,t)}),n8=A("ZodBase64",(e,t)=>{j3.init(e,t),at.init(e,t)}),r8=A("ZodBase64URL",(e,t)=>{L3.init(e,t),at.init(e,t)}),s8=A("ZodE164",(e,t)=>{M3.init(e,t),at.init(e,t)}),a8=A("ZodJWT",(e,t)=>{D3.init(e,t),at.init(e,t)}),YO=A("ZodNumber",(e,t)=>{UO.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(r,s,a)=>nB(e,r,s),e.gt=(r,s)=>e.check(Fw(r,s)),e.gte=(r,s)=>e.check(vf(r,s)),e.min=(r,s)=>e.check(vf(r,s)),e.lt=(r,s)=>e.check(Dw(r,s)),e.lte=(r,s)=>e.check(_f(r,s)),e.max=(r,s)=>e.check(_f(r,s)),e.int=r=>e.check(Zw(r)),e.safe=r=>e.check(Zw(r)),e.positive=r=>e.check(Fw(0,r)),e.nonnegative=r=>e.check(vf(0,r)),e.negative=r=>e.check(Dw(0,r)),e.nonpositive=r=>e.check(_f(0,r)),e.multipleOf=(r,s)=>e.check(Uw(r,s)),e.step=(r,s)=>e.check(Uw(r,s)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function zt(e){return j6(YO,e)}var i8=A("ZodNumberFormat",(e,t)=>{F3.init(e,t),YO.init(e,t)});function Zw(e){return R6(i8,e)}var o8=A("ZodUnknown",(e,t)=>{U3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>sB()});function Vw(){return L6(o8)}var c8=A("ZodNever",(e,t)=>{B3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>rB(e,n,r)});function l8(e){return M6(c8,e)}var u8=A("ZodArray",(e,t)=>{Z3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>lB(e,n,r,s),e.element=t.element,e.min=(n,r)=>e.check(Fd(n,r)),e.nonempty=n=>e.check(Fd(1,n)),e.max=(n,r)=>e.check(qO(n,r)),e.length=(n,r)=>e.check(HO(n,r)),e.unwrap=()=>e.element});function qc(e,t){return G6(u8,e,t)}var d8=A("ZodObject",(e,t)=>{q3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>uB(e,n,r,s),He(e,"shape",()=>t.shape),e.keyof=()=>c_(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Vw()}),e.loose=()=>e.clone({...e._zod.def,catchall:Vw()}),e.strict=()=>e.clone({...e._zod.def,catchall:l8()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>mU(e,n),e.safeExtend=n=>gU(e,n),e.merge=n=>yU(e,n),e.pick=n=>pU(e,n),e.omit=n=>fU(e,n),e.partial=(...n)=>_U(QO,e,n[0]),e.required=(...n)=>vU(eI,e,n[0])});function Bt(e,t){let n={type:"object",shape:e??{},...de(t)};return new d8(n)}var h8=A("ZodUnion",(e,t)=>{H3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>dB(e,n,r,s),e.options=t.options});function Eh(e,t){return new h8({type:"union",options:e,...de(t)})}var p8=A("ZodIntersection",(e,t)=>{W3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>hB(e,n,r,s)});function f8(e,t){return new p8({type:"intersection",left:e,right:t})}var m8=A("ZodRecord",(e,t)=>{J3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>pB(e,n,r,s),e.keyType=t.keyType,e.valueType=t.valueType});function g8(e,t,n){return new m8({type:"record",keyType:e,valueType:t,...de(n)})}var kg=A("ZodEnum",(e,t)=>{G3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(r,s,a)=>aB(e,r,s),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,s)=>{let a={};for(let i of r)if(n.has(i))a[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new kg({...t,checks:[],...de(s),entries:a})},e.exclude=(r,s)=>{let a={...t.entries};for(let i of r)if(n.has(i))delete a[i];else throw new Error(`Key ${i} not found in enum`);return new kg({...t,checks:[],...de(s),entries:a})}});function c_(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new kg({type:"enum",entries:n,...de(t)})}var y8=A("ZodLiteral",(e,t)=>{K3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>iB(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function $n(e,t){return new y8({type:"literal",values:Array.isArray(e)?e:[e],...de(t)})}var _8=A("ZodTransform",(e,t)=>{X3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>cB(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Md(e.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(Ac(a,n.value,t));else{let i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(Ac(i))}};let s=t.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function v8(e){return new _8({type:"transform",transform:e})}var QO=A("ZodOptional",(e,t)=>{VO.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>KO(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function qw(e){return new QO({type:"optional",innerType:e})}var b8=A("ZodExactOptional",(e,t)=>{Y3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>KO(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function w8(e){return new b8({type:"optional",innerType:e})}var x8=A("ZodNullable",(e,t)=>{Q3.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>fB(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function Hw(e){return new x8({type:"nullable",innerType:e})}var k8=A("ZodDefault",(e,t)=>{e6.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>gB(e,n,r,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function E8(e,t){return new k8({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():AO(t)}})}var S8=A("ZodPrefault",(e,t)=>{t6.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>yB(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function O8(e,t){return new S8({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():AO(t)}})}var eI=A("ZodNonOptional",(e,t)=>{n6.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>mB(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function I8(e,t){return new eI({type:"nonoptional",innerType:e,...de(t)})}var T8=A("ZodCatch",(e,t)=>{r6.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>_B(e,n,r,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function A8(e,t){return new T8({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var $8=A("ZodPipe",(e,t)=>{s6.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>vB(e,n,r,s),e.in=t.in,e.out=t.out});function Ww(e,t){return new $8({type:"pipe",in:e,out:t})}var C8=A("ZodReadonly",(e,t)=>{a6.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>bB(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function N8(e){return new C8({type:"readonly",innerType:e})}var P8=A("ZodCustom",(e,t)=>{i6.init(e,t),ut.init(e,t),e._zod.processJSONSchema=(n,r,s)=>oB(e,n)});function j8(e,t={}){return K6(P8,e,t)}function R8(e){return X6(e)}var L8=Bt({type:$n("screenshot")}),M8=Bt({type:$n("click"),x:zt(),y:zt(),button:c_(["left","right","wheel","back","forward"]).default("left")}),z8=Bt({type:$n("double_click"),x:zt(),y:zt(),button:c_(["left","right","wheel","back","forward"]).default("left")}),D8=Bt({type:$n("drag"),path:qc(Bt({x:zt(),y:zt()}))}),F8=Bt({type:$n("keypress"),keys:qc(On())}),U8=Bt({type:$n("move"),x:zt(),y:zt()}),B8=Bt({type:$n("scroll"),x:zt(),y:zt(),scroll_x:zt(),scroll_y:zt()}),Z8=Bt({type:$n("type"),text:On()}),V8=Bt({type:$n("wait"),duration:zt().optional()}),q8=Eh([L8,M8,z8,D8,F8,U8,B8,Z8,V8]);Bt({action:q8});var H8=Bt({type:$n("exec"),command:qc(On()),env:g8(On(),On()).optional(),working_directory:On().optional(),timeout_ms:zt().optional(),user:On().optional()});Eh([H8]);Bt({commands:qc(On()).describe("Array of shell commands to execute"),timeout_ms:zt().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:zt().optional().describe("Optional maximum number of characters to return from each command")});var W8=Bt({type:$n("create_file"),path:On(),diff:On()}),J8=Bt({type:$n("update_file"),path:On(),diff:On()}),G8=Bt({type:$n("delete_file"),path:On()});Eh([W8,J8,G8]);var K8={default:"text-embedding-ada-002"},Jw=(e,t)=>t;Ln.Root({userInput:Ln(),messages:Ln({reducer:Uc,default:()=>[]}),pendingIntents:Ln({default:()=>[],reducer:Jw}),currentIntent:Ln({default:()=>"none",reducer:Jw})});var Gw=async(e,t)=>{await aF("trace_message",e,t)},X8=ss({id:sn().min(1),name:sn().min(1),description:sn().min(1)});ei(X8);var Y8="0.1",io=1536,Q8="openai",eZ=K8.default,tZ=`Name: {name}
334
+ Title: {title}
335
+ Description: {description}`,nZ=`Name: {name}
336
+ Alias: {alias}
337
+ Description: {description}`;ss({schemaVersion:yo(Y8),modified:jo().int().nonnegative(),embeddings:ss({modelProvider:yo(Q8),model:yo(eZ),dimensions:yo(io),templates:ss({layer:sn().default(tZ),field:sn().default(nZ)})}),layers:ei(ss({id:sn().min(1),name:sn().min(1),title:sn().catch(""),description:sn().catch(""),vector:ei(jo()).length(io,{message:`Layer vector must be exactly ${io} dimensions`}),fields:ei(ss({name:sn().min(1),alias:sn().catch(""),description:sn().catch(""),vector:ei(jo()).length(io,{message:`Field vector must be exactly ${io} dimensions`})}))})).default([])});var rZ=er.object({name:er.string(),description:er.string(),valueType:er.string(),alias:er.string()});er.object({fields:er.array(rZ)});er.object({title:er.string(),description:er.string(),name:er.string().nullable()});var sZ=e=>new Promise(t=>setTimeout(t,e)),tI=Ln.Root({messages:Ln({reducer:Uc,default:()=>[]}),outputMessage:Ln({reducer:(e="",t)=>typeof t=="string"&&t.trim()?e?`${e}
338
+
339
+ ${t}`:t:e,default:()=>""}),solutionResponse:Ln({reducer:(e,t)=>t??null,default:()=>null})}),aZ=async(e,t)=>{t&&(t.recursionLimit=100),e.solutionResponse?.conversationId||await Gw({text:"Calling the documentation assistant"},t),console.log(t);let n={message:e.messages[e.messages.length-1].content,conversationId:t?.configurable?.context?.convoId,context:{kind:"DocAIAssistantRequest",filters:{persona:{persona:"solutions"}}}};e.solutionResponse?.conversationId&&e.solutionResponse.hasMore&&(n={conversationId:e.solutionResponse.conversationId,ackSequenceNumber:e.solutionResponse.ackSequenceNumber,inquiryId:e.solutionResponse.inquiryId}),e.solutionResponse?.conversationId&&e.solutionResponse.hasMore&&await sZ(1500);let r=t?.configurable?.context?.docAIurl,s=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",token:t?.configurable?.context?.token},body:JSON.stringify(n)});if(!s.ok)throw new Error(`HTTP ${s.status} calling ${r}`);let a=await s.json();t&&t.configurable&&(t.configurable.context.convoId=a.conversationId);let i={message:a.message,conversationId:a.conversationId,hasMore:a.hasMore,ackSequenceNumber:a.sequenceNumber,inquiryId:a.inquiryId},o=a.context&&a.context.results?a.context.results[0].reply??"":"";return o!==""&&a.context&&a.context.results&&a.context.results[0].followupQuestions&&t&&t.configurable&&(t.configurable.context.assistantRef.value.suggestedPrompts=a.context.results[0].followupQuestions),a.context&&a.context.results&&a.context.results[0].status.currentStatusMessage&&await Gw({text:a.context.results[0].status.currentStatusMessage},t),{outputMessage:o,solutionResponse:i}},iZ=()=>new J5(tI).addNode("askSolutionsQuestions",aZ).addEdge(Je,"askSolutionsQuestions").addConditionalEdges("askSolutionsQuestions",e=>e.solutionResponse?.hasMore===!1?"done":"continue",{done:Re,continue:"askSolutionsQuestions"}),oZ=String.raw`An agent to help answer and recommend ArcGIS Solutions question`,cZ={id:"solutionsDocumentationAgent",name:"Solutions Documentation Agent",description:oZ,createGraph:iZ,workspace:tI},lZ="https://links.esri.com/solutions/agol-organizational-account",uZ="https://links.esri.com/solutions/configure-assistants",Eg=class extends __{constructor(){super(),this.serverRoot="https://aiservices-beta.arcgis.com",this.open=!1,this.userFirstName="",this._conversationId=void 0,this._orgSettings={aiAssistantsEnabled:!1,blockBetaApps:!0,colocateCompute:!1},this._translations=w_({name:"arcgis-solutions-assistant",blocking:!0}),this._isTyping=!1,this._assistantRef=g_(),this._configContextConsumer=x_({context:k_,subscribe:!0,callback:t=>{t?.userSession&&!this.userFirstName&&this._loadUserFirstName(),t?.authentication?.PortalSubset?.orgSettings&&(this._orgSettings=t?.authentication?.PortalSubset?.orgSettings,this._getAIServiceUrl())}}),this.closeAssistant=h_(),this._handleSignIn=()=>{this._configContextConsumer.value?.authentication?.signIn("aiOpen")},this._checkURLOpenParameter=()=>{this.open=this._configContextConsumer.value?.authentication?.SignInParam==="aiOpen"||this.open}}static{this.properties={serverRoot:1,open:5,userFirstName:1,_conversationId:16,_orgSettings:16,_translations:16,_isTyping:16}}static{this.styles=sI}get _telemetry(){return this._configContextConsumer.value?.telemetrySession}get solutionAIurl(){return`${this.serverRoot}/skills/solution_deployment/chat`}get docAIurl(){return`${this.serverRoot}/skills/doc_ai_assistant/chat`}loaded(){this._checkURLOpenParameter()}load(){this._configContextConsumer.value?.portalURL&&(rI.portalUrl=this._configContextConsumer.value.portalURL)}firstUpdated(t){this._loadUserFirstName()}willUpdate(t){this._configContextConsumer.value?.userSession?.token&&this._configContextConsumer.value?.authentication?.CanUseAI}_renderNoSign(){return Yi`<calcite-notice open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage??v_} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`}_renderNoPermission(){return Yi`<calcite-notice open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${O_(this._translations.noPermissionMessage.replace("{{orgUrl}}",lZ).replace("{{configAI}}",uZ))}</div></calcite-notice>`}render(){return Yi`<calcite-dialog class="chat-panel" .open=${this.open} .heading=${this._translations.solutionAssistantTitle} placement=bottom-start @calciteDialogClose=${()=>{this.closeAssistant.emit(!0),this.open=!1}}>${this._configContextConsumer.value?.userSession?.token?this._configContextConsumer.value?.authentication?.CanUseAI?Yi`<calcite-button appearance=transparent class="icon-color-background" id=newChatButton icon-end=speech-bubble-plus kind=neutral label="New conversation" @click=${()=>{this._conversationId=void 0,this._assistantRef.value&&(this._assistantRef.value.suggestedPrompts=[]),this._assistantRef.value?.clearChatHistory()}} scale=l slot=header-actions-end></calcite-button><calcite-tooltip placement=bottom reference-element=newChatButton><span>${this._translations.tooltips.newConversation}</span></calcite-tooltip><arcgis-assistant reference-element copy-enabled feedback-enabled heading description .suggestedPrompts=${["What solutions can help me engage the public?","How do I deploy an ArcGIS Solution?","What solutions are available for emergency management?"]} @arcgisSubmit=${t=>{console.log("arcgis submit: ",t.detail);let n=Date.now(),r=S_(n),s=t.detail||"Unknown";this._telemetry?.logEvent({category:E_.ASSISTANT,action:"Chat",dimensions:[s],metrics:[r]})}} @arcgisFeedback=${t=>{t.detail}} ${y_(this._assistantRef)}><arcgis-assistant-agent .agent=${cZ} .context=${{token:this._configContextConsumer.value?.userSession?.token,convoId:this._conversationId,docAIurl:this.docAIurl,assistantRef:this._assistantRef}}></arcgis-assistant-agent></arcgis-assistant><div slot=footer class="width-100"><div class="disclaimer-div padding-top-10" slot=footer><calcite-icon icon=information scale=s></calcite-icon>${this._translations.disclaimerMessage}<a href=https://links.esri.com/solutions/security-concern target=_blank>${this._translations.reportConcern}</a></div></div>`:this._renderNoPermission():this._renderNoSign()}</calcite-dialog>`}async _loadUserFirstName(){try{let t=await this._configContextConsumer.value?.userSession?.getUser();if(t?.fullName){let n=t.fullName.split(" ")[0];this.userFirstName=n}}catch{}}_getAIServiceUrl(){if(this._configContextConsumer.value){let t=this._configContextConsumer.value;t.authentication&&t.authentication?.Portal&&t.authentication?.Portal.helperServices.aiAssistantServices&&(this.serverRoot=t.authentication?.Portal.helperServices.aiAssistantServices.url)}}};b_("arcgis-solutions-assistant",Eg);return Eg},"config","identity/IdentityManager","portal/Portal","core/reactiveUtils","layers/FeatureLayer","request",a)