langgraph-ui-components 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/dist/index.es100.js +3157 -5
- package/dist/index.es100.js.map +1 -1
- package/dist/index.es101.js +35 -71
- package/dist/index.es101.js.map +1 -1
- package/dist/index.es102.js +5 -37
- package/dist/index.es102.js.map +1 -1
- package/dist/index.es103.js +73 -5
- package/dist/index.es103.js.map +1 -1
- package/dist/index.es104.js +39 -2
- package/dist/index.es104.js.map +1 -1
- package/dist/index.es105.js +5 -11
- package/dist/index.es105.js.map +1 -1
- package/dist/index.es106.js +2 -503
- package/dist/index.es106.js.map +1 -1
- package/dist/index.es107.js +11 -5
- package/dist/index.es107.js.map +1 -1
- package/dist/index.es108.js +503 -2
- package/dist/index.es108.js.map +1 -1
- package/dist/index.es109.js +5 -146
- package/dist/index.es109.js.map +1 -1
- package/dist/index.es110.js +2 -908
- package/dist/index.es110.js.map +1 -1
- package/dist/index.es111.js +128 -262
- package/dist/index.es111.js.map +1 -1
- package/dist/index.es112.js +907 -3
- package/dist/index.es112.js.map +1 -1
- package/dist/index.es113.js +262 -426
- package/dist/index.es113.js.map +1 -1
- package/dist/index.es114.js +3 -47
- package/dist/index.es114.js.map +1 -1
- package/dist/index.es115.js +443 -21
- package/dist/index.es115.js.map +1 -1
- package/dist/index.es116.js +42 -75
- package/dist/index.es116.js.map +1 -1
- package/dist/index.es117.js +22 -129
- package/dist/index.es117.js.map +1 -1
- package/dist/index.es118.js +74 -44
- package/dist/index.es118.js.map +1 -1
- package/dist/index.es119.js +129 -10
- package/dist/index.es119.js.map +1 -1
- package/dist/index.es12.js +7 -7
- package/dist/index.es12.js.map +1 -1
- package/dist/index.es120.js +47 -43
- package/dist/index.es120.js.map +1 -1
- package/dist/index.es121.js +9 -98
- package/dist/index.es121.js.map +1 -1
- package/dist/index.es122.js +43 -51
- package/dist/index.es122.js.map +1 -1
- package/dist/index.es123.js +96 -13
- package/dist/index.es123.js.map +1 -1
- package/dist/index.es124.js +52 -14
- package/dist/index.es124.js.map +1 -1
- package/dist/index.es125.js +13 -86
- package/dist/index.es125.js.map +1 -1
- package/dist/index.es126.js +15 -2
- package/dist/index.es126.js.map +1 -1
- package/dist/index.es127.js +87 -54
- package/dist/index.es127.js.map +1 -1
- package/dist/index.es128.js +2 -100
- package/dist/index.es128.js.map +1 -1
- package/dist/index.es129.js +51 -186
- package/dist/index.es129.js.map +1 -1
- package/dist/index.es13.js +5 -6
- package/dist/index.es13.js.map +1 -1
- package/dist/index.es130.js +87 -97
- package/dist/index.es130.js.map +1 -1
- package/dist/index.es131.js +187 -31
- package/dist/index.es131.js.map +1 -1
- package/dist/index.es132.js +110 -10
- package/dist/index.es132.js.map +1 -1
- package/dist/index.es133.js +35 -11
- package/dist/index.es133.js.map +1 -1
- package/dist/index.es134.js +10 -12
- package/dist/index.es134.js.map +1 -1
- package/dist/index.es135.js +10 -90
- package/dist/index.es135.js.map +1 -1
- package/dist/index.es136.js +11 -274
- package/dist/index.es136.js.map +1 -1
- package/dist/index.es137.js +91 -2
- package/dist/index.es137.js.map +1 -1
- package/dist/index.es138.js +261 -150
- package/dist/index.es138.js.map +1 -1
- package/dist/index.es139.js +2 -51
- package/dist/index.es139.js.map +1 -1
- package/dist/index.es140.js +158 -34
- package/dist/index.es140.js.map +1 -1
- package/dist/index.es141.js +50 -34
- package/dist/index.es141.js.map +1 -1
- package/dist/index.es142.js +32 -32
- package/dist/index.es142.js.map +1 -1
- package/dist/index.es143.js +34 -23
- package/dist/index.es143.js.map +1 -1
- package/dist/index.es144.js +32 -583
- package/dist/index.es144.js.map +1 -1
- package/dist/index.es145.js +20 -121
- package/dist/index.es145.js.map +1 -1
- package/dist/index.es146.js +585 -158
- package/dist/index.es146.js.map +1 -1
- package/dist/index.es147.js +125 -2
- package/dist/index.es147.js.map +1 -1
- package/dist/index.es148.js +164 -2
- package/dist/index.es148.js.map +1 -1
- package/dist/index.es149.js +2 -2
- package/dist/index.es15.js +15 -15
- package/dist/index.es150.js +2 -22
- package/dist/index.es150.js.map +1 -1
- package/dist/index.es151.js +2 -2
- package/dist/index.es152.js +21 -24
- package/dist/index.es152.js.map +1 -1
- package/dist/index.es153.js +2 -4
- package/dist/index.es153.js.map +1 -1
- package/dist/index.es154.js +25 -5
- package/dist/index.es154.js.map +1 -1
- package/dist/index.es155.js +7 -12
- package/dist/index.es155.js.map +1 -1
- package/dist/index.es156.js +5 -6
- package/dist/index.es156.js.map +1 -1
- package/dist/index.es157.js +12 -7
- package/dist/index.es157.js.map +1 -1
- package/dist/index.es158.js +6 -64
- package/dist/index.es158.js.map +1 -1
- package/dist/index.es159.js +63 -21
- package/dist/index.es159.js.map +1 -1
- package/dist/index.es16.js +2 -2
- package/dist/index.es160.js +21 -5
- package/dist/index.es160.js.map +1 -1
- package/dist/index.es161.js +5 -348
- package/dist/index.es161.js.map +1 -1
- package/dist/index.es162.js +346 -22
- package/dist/index.es162.js.map +1 -1
- package/dist/index.es163.js +25 -12
- package/dist/index.es163.js.map +1 -1
- package/dist/index.es164.js +11 -53
- package/dist/index.es164.js.map +1 -1
- package/dist/index.es165.js +53 -6
- package/dist/index.es165.js.map +1 -1
- package/dist/index.es166.js +7 -103
- package/dist/index.es166.js.map +1 -1
- package/dist/index.es167.js +101 -117
- package/dist/index.es167.js.map +1 -1
- package/dist/index.es168.js +110 -127
- package/dist/index.es168.js.map +1 -1
- package/dist/index.es169.js +128 -107
- package/dist/index.es169.js.map +1 -1
- package/dist/index.es17.js +2 -2
- package/dist/index.es170.js +115 -6
- package/dist/index.es170.js.map +1 -1
- package/dist/index.es171.js +6 -2
- package/dist/index.es171.js.map +1 -1
- package/dist/index.es172.js +3 -141
- package/dist/index.es172.js.map +1 -1
- package/dist/index.es173.js +2 -2
- package/dist/index.es174.js +2 -2
- package/dist/index.es175.js +1 -1
- package/dist/index.es177.js +2 -2
- package/dist/index.es179.js +1 -1
- package/dist/index.es182.js +1 -1
- package/dist/index.es19.js +15 -119
- package/dist/index.es19.js.map +1 -1
- package/dist/index.es190.js +142 -32
- package/dist/index.es190.js.map +1 -1
- package/dist/index.es191.js +2 -6
- package/dist/index.es191.js.map +1 -1
- package/dist/index.es192.js +31 -105
- package/dist/index.es192.js.map +1 -1
- package/dist/index.es193.js +6 -13
- package/dist/index.es193.js.map +1 -1
- package/dist/index.es194.js +105 -17
- package/dist/index.es194.js.map +1 -1
- package/dist/index.es195.js +11 -29
- package/dist/index.es195.js.map +1 -1
- package/dist/index.es196.js +17 -3
- package/dist/index.es196.js.map +1 -1
- package/dist/index.es197.js +30 -4
- package/dist/index.es197.js.map +1 -1
- package/dist/index.es198.js +4 -5
- package/dist/index.es198.js.map +1 -1
- package/dist/index.es199.js +4 -36
- package/dist/index.es199.js.map +1 -1
- package/dist/index.es2.js +2 -2
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es20.js +68 -17
- package/dist/index.es20.js.map +1 -1
- package/dist/index.es200.js +5 -8
- package/dist/index.es200.js.map +1 -1
- package/dist/index.es201.js +36 -5
- package/dist/index.es201.js.map +1 -1
- package/dist/index.es202.js +5 -4
- package/dist/index.es202.js.map +1 -1
- package/dist/index.es203.js +5 -41
- package/dist/index.es203.js.map +1 -1
- package/dist/index.es204.js +4 -10
- package/dist/index.es204.js.map +1 -1
- package/dist/index.es205.js +39 -239
- package/dist/index.es205.js.map +1 -1
- package/dist/index.es206.js +10 -48
- package/dist/index.es206.js.map +1 -1
- package/dist/index.es207.js +239 -32
- package/dist/index.es207.js.map +1 -1
- package/dist/index.es208.js +49 -11
- package/dist/index.es208.js.map +1 -1
- package/dist/index.es209.js +33 -6
- package/dist/index.es209.js.map +1 -1
- package/dist/index.es21.js +36 -67
- package/dist/index.es21.js.map +1 -1
- package/dist/index.es210.js +12 -6
- package/dist/index.es210.js.map +1 -1
- package/dist/index.es211.js +7 -64
- package/dist/index.es211.js.map +1 -1
- package/dist/index.es212.js +6 -40
- package/dist/index.es212.js.map +1 -1
- package/dist/index.es213.js +63 -30
- package/dist/index.es213.js.map +1 -1
- package/dist/index.es214.js +35 -56
- package/dist/index.es214.js.map +1 -1
- package/dist/index.es215.js +32 -15
- package/dist/index.es215.js.map +1 -1
- package/dist/index.es216.js +60 -21
- package/dist/index.es216.js.map +1 -1
- package/dist/index.es217.js +15 -5
- package/dist/index.es217.js.map +1 -1
- package/dist/index.es218.js +21 -15
- package/dist/index.es218.js.map +1 -1
- package/dist/index.es219.js +4 -32
- package/dist/index.es219.js.map +1 -1
- package/dist/index.es22.js +25 -34
- package/dist/index.es22.js.map +1 -1
- package/dist/index.es220.js +16 -4
- package/dist/index.es220.js.map +1 -1
- package/dist/index.es221.js +32 -4
- package/dist/index.es221.js.map +1 -1
- package/dist/index.es222.js +5 -5
- package/dist/index.es222.js.map +1 -1
- package/dist/index.es223.js +4 -7
- package/dist/index.es223.js.map +1 -1
- package/dist/index.es224.js +4 -91
- package/dist/index.es224.js.map +1 -1
- package/dist/index.es225.js +7 -17
- package/dist/index.es225.js.map +1 -1
- package/dist/index.es226.js +90 -760
- package/dist/index.es226.js.map +1 -1
- package/dist/index.es227.js +18 -66
- package/dist/index.es227.js.map +1 -1
- package/dist/index.es228.js +749 -161
- package/dist/index.es228.js.map +1 -1
- package/dist/index.es229.js +66 -38
- package/dist/index.es229.js.map +1 -1
- package/dist/index.es23.js +144 -29
- package/dist/index.es23.js.map +1 -1
- package/dist/index.es230.js +172 -135
- package/dist/index.es230.js.map +1 -1
- package/dist/index.es231.js +37 -92
- package/dist/index.es231.js.map +1 -1
- package/dist/index.es232.js +135 -31
- package/dist/index.es232.js.map +1 -1
- package/dist/index.es233.js +92 -284
- package/dist/index.es233.js.map +1 -1
- package/dist/index.es234.js +31 -24
- package/dist/index.es234.js.map +1 -1
- package/dist/index.es235.js +284 -23
- package/dist/index.es235.js.map +1 -1
- package/dist/index.es236.js +24 -13
- package/dist/index.es236.js.map +1 -1
- package/dist/index.es237.js +22 -13
- package/dist/index.es237.js.map +1 -1
- package/dist/index.es238.js +13 -24
- package/dist/index.es238.js.map +1 -1
- package/dist/index.es239.js +12 -43
- package/dist/index.es239.js.map +1 -1
- package/dist/index.es24.js +291 -133
- package/dist/index.es24.js.map +1 -1
- package/dist/index.es240.js +24 -10
- package/dist/index.es240.js.map +1 -1
- package/dist/index.es241.js +45 -11
- package/dist/index.es241.js.map +1 -1
- package/dist/index.es242.js +10 -10
- package/dist/index.es242.js.map +1 -1
- package/dist/index.es243.js +11 -14
- package/dist/index.es243.js.map +1 -1
- package/dist/index.es244.js +10 -10
- package/dist/index.es244.js.map +1 -1
- package/dist/index.es245.js +14 -11
- package/dist/index.es245.js.map +1 -1
- package/dist/index.es246.js +11 -11
- package/dist/index.es246.js.map +1 -1
- package/dist/index.es247.js +11 -15
- package/dist/index.es247.js.map +1 -1
- package/dist/index.es248.js +11 -11
- package/dist/index.es248.js.map +1 -1
- package/dist/index.es249.js +15 -11
- package/dist/index.es249.js.map +1 -1
- package/dist/index.es25.js +116 -96
- package/dist/index.es25.js.map +1 -1
- package/dist/index.es250.js +11 -11
- package/dist/index.es250.js.map +1 -1
- package/dist/index.es251.js +11 -11
- package/dist/index.es251.js.map +1 -1
- package/dist/index.es252.js +10 -10
- package/dist/index.es252.js.map +1 -1
- package/dist/index.es253.js +10 -10
- package/dist/index.es253.js.map +1 -1
- package/dist/index.es254.js +10 -10
- package/dist/index.es254.js.map +1 -1
- package/dist/index.es255.js +10 -10
- package/dist/index.es255.js.map +1 -1
- package/dist/index.es256.js +11 -56
- package/dist/index.es256.js.map +1 -1
- package/dist/index.es257.js +11 -49
- package/dist/index.es257.js.map +1 -1
- package/dist/index.es258.js +51 -114
- package/dist/index.es258.js.map +1 -1
- package/dist/index.es259.js +43 -378
- package/dist/index.es259.js.map +1 -1
- package/dist/index.es26.js +5 -70
- package/dist/index.es26.js.map +1 -1
- package/dist/index.es260.js +117 -16
- package/dist/index.es260.js.map +1 -1
- package/dist/index.es261.js +384 -11
- package/dist/index.es261.js.map +1 -1
- package/dist/index.es262.js +13 -26
- package/dist/index.es262.js.map +1 -1
- package/dist/index.es263.js +10 -30
- package/dist/index.es263.js.map +1 -1
- package/dist/index.es264.js +25 -56
- package/dist/index.es264.js.map +1 -1
- package/dist/index.es265.js +25 -11
- package/dist/index.es265.js.map +1 -1
- package/dist/index.es266.js +49 -64
- package/dist/index.es266.js.map +1 -1
- package/dist/index.es267.js +17 -11
- package/dist/index.es267.js.map +1 -1
- package/dist/index.es268.js +77 -11
- package/dist/index.es268.js.map +1 -1
- package/dist/index.es269.js +11 -15
- package/dist/index.es269.js.map +1 -1
- package/dist/index.es27.js +91 -168
- package/dist/index.es27.js.map +1 -1
- package/dist/index.es270.js +11 -52
- package/dist/index.es270.js.map +1 -1
- package/dist/index.es271.js +13 -164
- package/dist/index.es271.js.map +1 -1
- package/dist/index.es272.js +53 -2
- package/dist/index.es272.js.map +1 -1
- package/dist/index.es273.js +166 -10
- package/dist/index.es273.js.map +1 -1
- package/dist/index.es274.js +2 -20
- package/dist/index.es274.js.map +1 -1
- package/dist/index.es275.js +10 -38
- package/dist/index.es275.js.map +1 -1
- package/dist/index.es276.js +23 -0
- package/dist/index.es276.js.map +1 -0
- package/dist/index.es277.js +42 -0
- package/dist/index.es277.js.map +1 -0
- package/dist/index.es28.js +68 -24
- package/dist/index.es28.js.map +1 -1
- package/dist/index.es29.js +178 -12
- package/dist/index.es29.js.map +1 -1
- package/dist/index.es30.js +23 -437
- package/dist/index.es30.js.map +1 -1
- package/dist/index.es31.js +13 -15
- package/dist/index.es31.js.map +1 -1
- package/dist/index.es32.js +429 -107
- package/dist/index.es32.js.map +1 -1
- package/dist/index.es33.js +13 -70
- package/dist/index.es33.js.map +1 -1
- package/dist/index.es34.js +119 -19
- package/dist/index.es34.js.map +1 -1
- package/dist/index.es35.js +66 -256
- package/dist/index.es35.js.map +1 -1
- package/dist/index.es36.js +17 -42
- package/dist/index.es36.js.map +1 -1
- package/dist/index.es37.js +239 -193
- package/dist/index.es37.js.map +1 -1
- package/dist/index.es38.js +17 -41
- package/dist/index.es38.js.map +1 -1
- package/dist/index.es39.js +193 -120
- package/dist/index.es39.js.map +1 -1
- package/dist/index.es40.js +60 -17
- package/dist/index.es40.js.map +1 -1
- package/dist/index.es41.js +123 -211
- package/dist/index.es41.js.map +1 -1
- package/dist/index.es42.js +22 -7
- package/dist/index.es42.js.map +1 -1
- package/dist/index.es43.js +214 -1176
- package/dist/index.es43.js.map +1 -1
- package/dist/index.es44.js +10 -8
- package/dist/index.es44.js.map +1 -1
- package/dist/index.es45.js +1182 -137
- package/dist/index.es45.js.map +1 -1
- package/dist/index.es46.js +8 -8
- package/dist/index.es46.js.map +1 -1
- package/dist/index.es47.js +138 -84
- package/dist/index.es47.js.map +1 -1
- package/dist/index.es48.js +8 -4
- package/dist/index.es48.js.map +1 -1
- package/dist/index.es49.js +91 -33
- package/dist/index.es49.js.map +1 -1
- package/dist/index.es50.js +3 -71
- package/dist/index.es50.js.map +1 -1
- package/dist/index.es51.js +34 -36
- package/dist/index.es51.js.map +1 -1
- package/dist/index.es52.js +61 -295
- package/dist/index.es52.js.map +1 -1
- package/dist/index.es53.js +38 -9
- package/dist/index.es53.js.map +1 -1
- package/dist/index.es54.js +296 -81
- package/dist/index.es54.js.map +1 -1
- package/dist/index.es55.js +9 -8
- package/dist/index.es55.js.map +1 -1
- package/dist/index.es56.js +89 -13
- package/dist/index.es56.js.map +1 -1
- package/dist/index.es57.js +6 -141
- package/dist/index.es57.js.map +1 -1
- package/dist/index.es58.js +12 -297
- package/dist/index.es58.js.map +1 -1
- package/dist/index.es59.js +137 -60
- package/dist/index.es59.js.map +1 -1
- package/dist/index.es6.js +21 -5
- package/dist/index.es6.js.map +1 -1
- package/dist/index.es60.js +247 -160
- package/dist/index.es60.js.map +1 -1
- package/dist/index.es61.js +63 -31
- package/dist/index.es61.js.map +1 -1
- package/dist/index.es62.js +212 -8
- package/dist/index.es62.js.map +1 -1
- package/dist/index.es63.js +32 -10
- package/dist/index.es63.js.map +1 -1
- package/dist/index.es64.js +8 -186
- package/dist/index.es64.js.map +1 -1
- package/dist/index.es65.js +11 -23
- package/dist/index.es65.js.map +1 -1
- package/dist/index.es66.js +183 -1396
- package/dist/index.es66.js.map +1 -1
- package/dist/index.es67.js +24 -9
- package/dist/index.es67.js.map +1 -1
- package/dist/index.es68.js +1400 -8
- package/dist/index.es68.js.map +1 -1
- package/dist/index.es69.js +9 -6
- package/dist/index.es69.js.map +1 -1
- package/dist/index.es70.js +8 -163
- package/dist/index.es70.js.map +1 -1
- package/dist/index.es71.js +6 -672
- package/dist/index.es71.js.map +1 -1
- package/dist/index.es72.js +161 -10
- package/dist/index.es72.js.map +1 -1
- package/dist/index.es73.js +671 -39
- package/dist/index.es73.js.map +1 -1
- package/dist/index.es74.js +10 -32
- package/dist/index.es74.js.map +1 -1
- package/dist/index.es75.js +31 -223
- package/dist/index.es75.js.map +1 -1
- package/dist/index.es76.js +33 -29
- package/dist/index.es76.js.map +1 -1
- package/dist/index.es77.js +193 -36
- package/dist/index.es77.js.map +1 -1
- package/dist/index.es78.js +26 -72
- package/dist/index.es78.js.map +1 -1
- package/dist/index.es79.js +70 -47
- package/dist/index.es79.js.map +1 -1
- package/dist/index.es80.js +72 -26
- package/dist/index.es80.js.map +1 -1
- package/dist/index.es81.js +37 -28
- package/dist/index.es81.js.map +1 -1
- package/dist/index.es82.js +28 -55
- package/dist/index.es82.js.map +1 -1
- package/dist/index.es83.js +43 -13
- package/dist/index.es83.js.map +1 -1
- package/dist/index.es84.js +52 -132
- package/dist/index.es84.js.map +1 -1
- package/dist/index.es85.js +13 -21
- package/dist/index.es85.js.map +1 -1
- package/dist/index.es86.js +124 -169
- package/dist/index.es86.js.map +1 -1
- package/dist/index.es87.js +19 -239
- package/dist/index.es87.js.map +1 -1
- package/dist/index.es88.js +165 -338
- package/dist/index.es88.js.map +1 -1
- package/dist/index.es89.js +231 -127
- package/dist/index.es89.js.map +1 -1
- package/dist/index.es90.js +348 -63
- package/dist/index.es90.js.map +1 -1
- package/dist/index.es91.js +133 -33
- package/dist/index.es91.js.map +1 -1
- package/dist/index.es92.js +67 -34
- package/dist/index.es92.js.map +1 -1
- package/dist/index.es93.js +33 -162
- package/dist/index.es93.js.map +1 -1
- package/dist/index.es94.js +34 -200
- package/dist/index.es94.js.map +1 -1
- package/dist/index.es95.js +165 -13
- package/dist/index.es95.js.map +1 -1
- package/dist/index.es96.js +198 -25
- package/dist/index.es96.js.map +1 -1
- package/dist/index.es97.js +13 -33
- package/dist/index.es97.js.map +1 -1
- package/dist/index.es98.js +24 -3151
- package/dist/index.es98.js.map +1 -1
- package/dist/index.es99.js +30 -33
- package/dist/index.es99.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -1
package/dist/index.es66.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es66.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/base.js"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\nimport { ToolInputParsingException, _isToolCall } from \"../tools/utils.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/async_local_storage/index.js\";\nimport \"../singletons/index.js\";\nimport { DEFAULT_RECURSION_LIMIT, ensureConfig, getCallbackManagerForConfig, mergeConfigs, patchConfig, pickRunnableConfigKeys } from \"./config.js\";\nimport { getAbortSignalError, raceWithSignal } from \"../utils/signal.js\";\nimport { AsyncGeneratorWithSetup, IterableReadableStream, atee, concat, pipeGeneratorWithSetup } from \"../utils/stream.js\";\nimport { LogStreamCallbackHandler, RunLog, RunLogPatch, isLogStreamHandler } from \"../tracers/log_stream.js\";\nimport { EventStreamCallbackHandler, isStreamEventsHandler } from \"../tracers/event_stream.js\";\nimport { pRetry } from \"../utils/p-retry/index.js\";\nimport { AsyncCaller } from \"../utils/async_caller.js\";\nimport { RootListenersTracer } from \"../tracers/root_listener.js\";\nimport { _RootEventFilter, isRunnableInterface } from \"./utils.js\";\nimport { getSchemaDescription, interopParseAsync, isSimpleStringZodSchema } from \"../utils/types/zod.js\";\nimport { Graph } from \"./graph.js\";\nimport { convertToHttpEventStream } from \"./wrappers.js\";\nimport { consumeAsyncIterableInContext, consumeIteratorInContext, isAsyncIterable, isIterableIterator, isIterator } from \"./iter.js\";\nimport { z } from \"zod/v3\";\nimport { v4 } from \"uuid\";\nimport { isTraceableFunction } from \"langsmith/singletons/traceable\";\n\n//#region src/runnables/base.ts\nfunction _coerceToDict(value, defaultKey) {\n\treturn value && !Array.isArray(value) && !(value instanceof Date) && typeof value === \"object\" ? value : { [defaultKey]: value };\n}\n/**\n* A Runnable is a generic unit of work that can be invoked, batched, streamed, and/or\n* transformed.\n*/\nvar Runnable = class extends Serializable {\n\tlc_runnable = true;\n\tname;\n\tgetName(suffix) {\n\t\tconst name = this.name ?? this.constructor.lc_name() ?? this.constructor.name;\n\t\treturn suffix ? `${name}${suffix}` : name;\n\t}\n\t/**\n\t* Add retry logic to an existing runnable.\n\t* @param fields.stopAfterAttempt The number of attempts to retry.\n\t* @param fields.onFailedAttempt A function that is called when a retry fails.\n\t* @returns A new RunnableRetry that, when invoked, will retry according to the parameters.\n\t*/\n\twithRetry(fields) {\n\t\treturn new RunnableRetry({\n\t\t\tbound: this,\n\t\t\tkwargs: {},\n\t\t\tconfig: {},\n\t\t\tmaxAttemptNumber: fields?.stopAfterAttempt,\n\t\t\t...fields\n\t\t});\n\t}\n\t/**\n\t* Bind config to a Runnable, returning a new Runnable.\n\t* @param config New configuration parameters to attach to the new runnable.\n\t* @returns A new RunnableBinding with a config matching what's passed.\n\t*/\n\twithConfig(config) {\n\t\treturn new RunnableBinding({\n\t\t\tbound: this,\n\t\t\tconfig,\n\t\t\tkwargs: {}\n\t\t});\n\t}\n\t/**\n\t* Create a new runnable from the current one that will try invoking\n\t* other passed fallback runnables if the initial invocation fails.\n\t* @param fields.fallbacks Other runnables to call if the runnable errors.\n\t* @returns A new RunnableWithFallbacks.\n\t*/\n\twithFallbacks(fields) {\n\t\tconst fallbacks = Array.isArray(fields) ? fields : fields.fallbacks;\n\t\treturn new RunnableWithFallbacks({\n\t\t\trunnable: this,\n\t\t\tfallbacks\n\t\t});\n\t}\n\t_getOptionsList(options, length = 0) {\n\t\tif (Array.isArray(options) && options.length !== length) throw new Error(`Passed \"options\" must be an array with the same length as the inputs, but got ${options.length} options for ${length} inputs`);\n\t\tif (Array.isArray(options)) return options.map(ensureConfig);\n\t\tif (length > 1 && !Array.isArray(options) && options.runId) {\n\t\t\tconsole.warn(\"Provided runId will be used only for the first element of the batch.\");\n\t\t\tconst subsequent = Object.fromEntries(Object.entries(options).filter(([key]) => key !== \"runId\"));\n\t\t\treturn Array.from({ length }, (_, i) => ensureConfig(i === 0 ? options : subsequent));\n\t\t}\n\t\treturn Array.from({ length }, () => ensureConfig(options));\n\t}\n\tasync batch(inputs, options, batchOptions) {\n\t\tconst configList = this._getOptionsList(options ?? {}, inputs.length);\n\t\tconst maxConcurrency = configList[0]?.maxConcurrency ?? batchOptions?.maxConcurrency;\n\t\tconst caller = new AsyncCaller({\n\t\t\tmaxConcurrency,\n\t\t\tonFailedAttempt: (e) => {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t});\n\t\tconst batchCalls = inputs.map((input, i) => caller.call(async () => {\n\t\t\ttry {\n\t\t\t\tconst result = await this.invoke(input, configList[i]);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tif (batchOptions?.returnExceptions) return e;\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}));\n\t\treturn Promise.all(batchCalls);\n\t}\n\t/**\n\t* Default streaming implementation.\n\t* Subclasses should override this method if they support streaming output.\n\t* @param input\n\t* @param options\n\t*/\n\tasync *_streamIterator(input, options) {\n\t\tyield this.invoke(input, options);\n\t}\n\t/**\n\t* Stream output in chunks.\n\t* @param input\n\t* @param options\n\t* @returns A readable stream that is also an iterable.\n\t*/\n\tasync stream(input, options) {\n\t\tconst config = ensureConfig(options);\n\t\tconst wrappedGenerator = new AsyncGeneratorWithSetup({\n\t\t\tgenerator: this._streamIterator(input, config),\n\t\t\tconfig\n\t\t});\n\t\tawait wrappedGenerator.setup;\n\t\treturn IterableReadableStream.fromAsyncGenerator(wrappedGenerator);\n\t}\n\t_separateRunnableConfigFromCallOptions(options) {\n\t\tlet runnableConfig;\n\t\tif (options === void 0) runnableConfig = ensureConfig(options);\n\t\telse runnableConfig = ensureConfig({\n\t\t\tcallbacks: options.callbacks,\n\t\t\ttags: options.tags,\n\t\t\tmetadata: options.metadata,\n\t\t\trunName: options.runName,\n\t\t\tconfigurable: options.configurable,\n\t\t\trecursionLimit: options.recursionLimit,\n\t\t\tmaxConcurrency: options.maxConcurrency,\n\t\t\trunId: options.runId,\n\t\t\ttimeout: options.timeout,\n\t\t\tsignal: options.signal\n\t\t});\n\t\tconst callOptions = { ...options };\n\t\tdelete callOptions.callbacks;\n\t\tdelete callOptions.tags;\n\t\tdelete callOptions.metadata;\n\t\tdelete callOptions.runName;\n\t\tdelete callOptions.configurable;\n\t\tdelete callOptions.recursionLimit;\n\t\tdelete callOptions.maxConcurrency;\n\t\tdelete callOptions.runId;\n\t\tdelete callOptions.timeout;\n\t\tdelete callOptions.signal;\n\t\treturn [runnableConfig, callOptions];\n\t}\n\tasync _callWithConfig(func, input, options) {\n\t\tconst config = ensureConfig(options);\n\t\tconst callbackManager_ = await getCallbackManagerForConfig(config);\n\t\tconst runManager = await callbackManager_?.handleChainStart(this.toJSON(), _coerceToDict(input, \"input\"), config.runId, config?.runType, void 0, void 0, config?.runName ?? this.getName());\n\t\tdelete config.runId;\n\t\tlet output;\n\t\ttry {\n\t\t\tconst promise = func.call(this, input, config, runManager);\n\t\t\toutput = await raceWithSignal(promise, options?.signal);\n\t\t} catch (e) {\n\t\t\tawait runManager?.handleChainError(e);\n\t\t\tthrow e;\n\t\t}\n\t\tawait runManager?.handleChainEnd(_coerceToDict(output, \"output\"));\n\t\treturn output;\n\t}\n\t/**\n\t* Internal method that handles batching and configuration for a runnable\n\t* It takes a function, input values, and optional configuration, and\n\t* returns a promise that resolves to the output values.\n\t* @param func The function to be executed for each input value.\n\t* @param input The input values to be processed.\n\t* @param config Optional configuration for the function execution.\n\t* @returns A promise that resolves to the output values.\n\t*/\n\tasync _batchWithConfig(func, inputs, options, batchOptions) {\n\t\tconst optionsList = this._getOptionsList(options ?? {}, inputs.length);\n\t\tconst callbackManagers = await Promise.all(optionsList.map(getCallbackManagerForConfig));\n\t\tconst runManagers = await Promise.all(callbackManagers.map(async (callbackManager, i) => {\n\t\t\tconst handleStartRes = await callbackManager?.handleChainStart(this.toJSON(), _coerceToDict(inputs[i], \"input\"), optionsList[i].runId, optionsList[i].runType, void 0, void 0, optionsList[i].runName ?? this.getName());\n\t\t\tdelete optionsList[i].runId;\n\t\t\treturn handleStartRes;\n\t\t}));\n\t\tlet outputs;\n\t\ttry {\n\t\t\tconst promise = func.call(this, inputs, optionsList, runManagers, batchOptions);\n\t\t\toutputs = await raceWithSignal(promise, optionsList?.[0]?.signal);\n\t\t} catch (e) {\n\t\t\tawait Promise.all(runManagers.map((runManager) => runManager?.handleChainError(e)));\n\t\t\tthrow e;\n\t\t}\n\t\tawait Promise.all(runManagers.map((runManager) => runManager?.handleChainEnd(_coerceToDict(outputs, \"output\"))));\n\t\treturn outputs;\n\t}\n\t/** @internal */\n\t_concatOutputChunks(first, second) {\n\t\treturn concat(first, second);\n\t}\n\t/**\n\t* Helper method to transform an Iterator of Input values into an Iterator of\n\t* Output values, with callbacks.\n\t* Use this to implement `stream()` or `transform()` in Runnable subclasses.\n\t*/\n\tasync *_transformStreamWithConfig(inputGenerator, transformer, options) {\n\t\tlet finalInput;\n\t\tlet finalInputSupported = true;\n\t\tlet finalOutput;\n\t\tlet finalOutputSupported = true;\n\t\tconst config = ensureConfig(options);\n\t\tconst callbackManager_ = await getCallbackManagerForConfig(config);\n\t\tconst outerThis = this;\n\t\tasync function* wrapInputForTracing() {\n\t\t\tfor await (const chunk of inputGenerator) {\n\t\t\t\tif (finalInputSupported) if (finalInput === void 0) finalInput = chunk;\n\t\t\t\telse try {\n\t\t\t\t\tfinalInput = outerThis._concatOutputChunks(finalInput, chunk);\n\t\t\t\t} catch {\n\t\t\t\t\tfinalInput = void 0;\n\t\t\t\t\tfinalInputSupported = false;\n\t\t\t\t}\n\t\t\t\tyield chunk;\n\t\t\t}\n\t\t}\n\t\tlet runManager;\n\t\ttry {\n\t\t\tconst pipe = await pipeGeneratorWithSetup(transformer.bind(this), wrapInputForTracing(), async () => callbackManager_?.handleChainStart(this.toJSON(), { input: \"\" }, config.runId, config.runType, void 0, void 0, config.runName ?? this.getName(), void 0, { lc_defers_inputs: true }), options?.signal, config);\n\t\t\tdelete config.runId;\n\t\t\trunManager = pipe.setup;\n\t\t\tconst streamEventsHandler = runManager?.handlers.find(isStreamEventsHandler);\n\t\t\tlet iterator = pipe.output;\n\t\t\tif (streamEventsHandler !== void 0 && runManager !== void 0) iterator = streamEventsHandler.tapOutputIterable(runManager.runId, iterator);\n\t\t\tconst streamLogHandler = runManager?.handlers.find(isLogStreamHandler);\n\t\t\tif (streamLogHandler !== void 0 && runManager !== void 0) iterator = streamLogHandler.tapOutputIterable(runManager.runId, iterator);\n\t\t\tfor await (const chunk of iterator) {\n\t\t\t\tyield chunk;\n\t\t\t\tif (finalOutputSupported) if (finalOutput === void 0) finalOutput = chunk;\n\t\t\t\telse try {\n\t\t\t\t\tfinalOutput = this._concatOutputChunks(finalOutput, chunk);\n\t\t\t\t} catch {\n\t\t\t\t\tfinalOutput = void 0;\n\t\t\t\t\tfinalOutputSupported = false;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tawait runManager?.handleChainError(e, void 0, void 0, void 0, { inputs: _coerceToDict(finalInput, \"input\") });\n\t\t\tthrow e;\n\t\t}\n\t\tawait runManager?.handleChainEnd(finalOutput ?? {}, void 0, void 0, void 0, { inputs: _coerceToDict(finalInput, \"input\") });\n\t}\n\tgetGraph(_) {\n\t\tconst graph = new Graph();\n\t\tconst inputNode = graph.addNode({\n\t\t\tname: `${this.getName()}Input`,\n\t\t\tschema: z.any()\n\t\t});\n\t\tconst runnableNode = graph.addNode(this);\n\t\tconst outputNode = graph.addNode({\n\t\t\tname: `${this.getName()}Output`,\n\t\t\tschema: z.any()\n\t\t});\n\t\tgraph.addEdge(inputNode, runnableNode);\n\t\tgraph.addEdge(runnableNode, outputNode);\n\t\treturn graph;\n\t}\n\t/**\n\t* Create a new runnable sequence that runs each individual runnable in series,\n\t* piping the output of one runnable into another runnable or runnable-like.\n\t* @param coerceable A runnable, function, or object whose values are functions or runnables.\n\t* @returns A new runnable sequence.\n\t*/\n\tpipe(coerceable) {\n\t\treturn new RunnableSequence({\n\t\t\tfirst: this,\n\t\t\tlast: _coerceToRunnable(coerceable)\n\t\t});\n\t}\n\t/**\n\t* Pick keys from the dict output of this runnable. Returns a new runnable.\n\t*/\n\tpick(keys) {\n\t\treturn this.pipe(new RunnablePick(keys));\n\t}\n\t/**\n\t* Assigns new fields to the dict output of this runnable. Returns a new runnable.\n\t*/\n\tassign(mapping) {\n\t\treturn this.pipe(new RunnableAssign(new RunnableMap({ steps: mapping })));\n\t}\n\t/**\n\t* Default implementation of transform, which buffers input and then calls stream.\n\t* Subclasses should override this method if they can start producing output while\n\t* input is still being generated.\n\t* @param generator\n\t* @param options\n\t*/\n\tasync *transform(generator, options) {\n\t\tlet finalChunk;\n\t\tfor await (const chunk of generator) if (finalChunk === void 0) finalChunk = chunk;\n\t\telse finalChunk = this._concatOutputChunks(finalChunk, chunk);\n\t\tyield* this._streamIterator(finalChunk, ensureConfig(options));\n\t}\n\t/**\n\t* Stream all output from a runnable, as reported to the callback system.\n\t* This includes all inner runs of LLMs, Retrievers, Tools, etc.\n\t* Output is streamed as Log objects, which include a list of\n\t* jsonpatch ops that describe how the state of the run has changed in each\n\t* step, and the final state of the run.\n\t* The jsonpatch ops can be applied in order to construct state.\n\t* @param input\n\t* @param options\n\t* @param streamOptions\n\t*/\n\tasync *streamLog(input, options, streamOptions) {\n\t\tconst logStreamCallbackHandler = new LogStreamCallbackHandler({\n\t\t\t...streamOptions,\n\t\t\tautoClose: false,\n\t\t\t_schemaFormat: \"original\"\n\t\t});\n\t\tconst config = ensureConfig(options);\n\t\tyield* this._streamLog(input, logStreamCallbackHandler, config);\n\t}\n\tasync *_streamLog(input, logStreamCallbackHandler, config) {\n\t\tconst { callbacks } = config;\n\t\tif (callbacks === void 0) config.callbacks = [logStreamCallbackHandler];\n\t\telse if (Array.isArray(callbacks)) config.callbacks = callbacks.concat([logStreamCallbackHandler]);\n\t\telse {\n\t\t\tconst copiedCallbacks = callbacks.copy();\n\t\t\tcopiedCallbacks.addHandler(logStreamCallbackHandler, true);\n\t\t\tconfig.callbacks = copiedCallbacks;\n\t\t}\n\t\tconst runnableStreamPromise = this.stream(input, config);\n\t\tasync function consumeRunnableStream() {\n\t\t\ttry {\n\t\t\t\tconst runnableStream = await runnableStreamPromise;\n\t\t\t\tfor await (const chunk of runnableStream) {\n\t\t\t\t\tconst patch = new RunLogPatch({ ops: [{\n\t\t\t\t\t\top: \"add\",\n\t\t\t\t\t\tpath: \"/streamed_output/-\",\n\t\t\t\t\t\tvalue: chunk\n\t\t\t\t\t}] });\n\t\t\t\t\tawait logStreamCallbackHandler.writer.write(patch);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tawait logStreamCallbackHandler.writer.close();\n\t\t\t}\n\t\t}\n\t\tconst runnableStreamConsumePromise = consumeRunnableStream();\n\t\ttry {\n\t\t\tfor await (const log of logStreamCallbackHandler) yield log;\n\t\t} finally {\n\t\t\tawait runnableStreamConsumePromise;\n\t\t}\n\t}\n\tstreamEvents(input, options, streamOptions) {\n\t\tlet stream;\n\t\tif (options.version === \"v1\") stream = this._streamEventsV1(input, options, streamOptions);\n\t\telse if (options.version === \"v2\") stream = this._streamEventsV2(input, options, streamOptions);\n\t\telse throw new Error(`Only versions \"v1\" and \"v2\" of the schema are currently supported.`);\n\t\tif (options.encoding === \"text/event-stream\") return convertToHttpEventStream(stream);\n\t\telse return IterableReadableStream.fromAsyncGenerator(stream);\n\t}\n\tasync *_streamEventsV2(input, options, streamOptions) {\n\t\tconst eventStreamer = new EventStreamCallbackHandler({\n\t\t\t...streamOptions,\n\t\t\tautoClose: false\n\t\t});\n\t\tconst config = ensureConfig(options);\n\t\tconst runId = config.runId ?? v4();\n\t\tconfig.runId = runId;\n\t\tconst callbacks = config.callbacks;\n\t\tif (callbacks === void 0) config.callbacks = [eventStreamer];\n\t\telse if (Array.isArray(callbacks)) config.callbacks = callbacks.concat(eventStreamer);\n\t\telse {\n\t\t\tconst copiedCallbacks = callbacks.copy();\n\t\t\tcopiedCallbacks.addHandler(eventStreamer, true);\n\t\t\tconfig.callbacks = copiedCallbacks;\n\t\t}\n\t\tconst abortController = new AbortController();\n\t\tconst outerThis = this;\n\t\tasync function consumeRunnableStream() {\n\t\t\tlet signal;\n\t\t\tlet listener = null;\n\t\t\ttry {\n\t\t\t\tif (options?.signal) if (\"any\" in AbortSignal) signal = AbortSignal.any([abortController.signal, options.signal]);\n\t\t\t\telse {\n\t\t\t\t\tsignal = options.signal;\n\t\t\t\t\tlistener = () => {\n\t\t\t\t\t\tabortController.abort();\n\t\t\t\t\t};\n\t\t\t\t\toptions.signal.addEventListener(\"abort\", listener, { once: true });\n\t\t\t\t}\n\t\t\t\telse signal = abortController.signal;\n\t\t\t\tconst runnableStream = await outerThis.stream(input, {\n\t\t\t\t\t...config,\n\t\t\t\t\tsignal\n\t\t\t\t});\n\t\t\t\tconst tappedStream = eventStreamer.tapOutputIterable(runId, runnableStream);\n\t\t\t\tfor await (const _ of tappedStream) if (abortController.signal.aborted) break;\n\t\t\t} finally {\n\t\t\t\tawait eventStreamer.finish();\n\t\t\t\tif (signal && listener) signal.removeEventListener(\"abort\", listener);\n\t\t\t}\n\t\t}\n\t\tconst runnableStreamConsumePromise = consumeRunnableStream();\n\t\tlet firstEventSent = false;\n\t\tlet firstEventRunId;\n\t\ttry {\n\t\t\tfor await (const event of eventStreamer) {\n\t\t\t\tif (!firstEventSent) {\n\t\t\t\t\tevent.data.input = input;\n\t\t\t\t\tfirstEventSent = true;\n\t\t\t\t\tfirstEventRunId = event.run_id;\n\t\t\t\t\tyield event;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (event.run_id === firstEventRunId && event.event.endsWith(\"_end\")) {\n\t\t\t\t\tif (event.data?.input) delete event.data.input;\n\t\t\t\t}\n\t\t\t\tyield event;\n\t\t\t}\n\t\t} finally {\n\t\t\tabortController.abort();\n\t\t\tawait runnableStreamConsumePromise;\n\t\t}\n\t}\n\tasync *_streamEventsV1(input, options, streamOptions) {\n\t\tlet runLog;\n\t\tlet hasEncounteredStartEvent = false;\n\t\tconst config = ensureConfig(options);\n\t\tconst rootTags = config.tags ?? [];\n\t\tconst rootMetadata = config.metadata ?? {};\n\t\tconst rootName = config.runName ?? this.getName();\n\t\tconst logStreamCallbackHandler = new LogStreamCallbackHandler({\n\t\t\t...streamOptions,\n\t\t\tautoClose: false,\n\t\t\t_schemaFormat: \"streaming_events\"\n\t\t});\n\t\tconst rootEventFilter = new _RootEventFilter({ ...streamOptions });\n\t\tconst logStream = this._streamLog(input, logStreamCallbackHandler, config);\n\t\tfor await (const log of logStream) {\n\t\t\tif (!runLog) runLog = RunLog.fromRunLogPatch(log);\n\t\t\telse runLog = runLog.concat(log);\n\t\t\tif (runLog.state === void 0) throw new Error(`Internal error: \"streamEvents\" state is missing. Please open a bug report.`);\n\t\t\tif (!hasEncounteredStartEvent) {\n\t\t\t\thasEncounteredStartEvent = true;\n\t\t\t\tconst state$2 = { ...runLog.state };\n\t\t\t\tconst event = {\n\t\t\t\t\trun_id: state$2.id,\n\t\t\t\t\tevent: `on_${state$2.type}_start`,\n\t\t\t\t\tname: rootName,\n\t\t\t\t\ttags: rootTags,\n\t\t\t\t\tmetadata: rootMetadata,\n\t\t\t\t\tdata: { input }\n\t\t\t\t};\n\t\t\t\tif (rootEventFilter.includeEvent(event, state$2.type)) yield event;\n\t\t\t}\n\t\t\tconst paths = log.ops.filter((op) => op.path.startsWith(\"/logs/\")).map((op) => op.path.split(\"/\")[2]);\n\t\t\tconst dedupedPaths = [...new Set(paths)];\n\t\t\tfor (const path of dedupedPaths) {\n\t\t\t\tlet eventType;\n\t\t\t\tlet data = {};\n\t\t\t\tconst logEntry = runLog.state.logs[path];\n\t\t\t\tif (logEntry.end_time === void 0) if (logEntry.streamed_output.length > 0) eventType = \"stream\";\n\t\t\t\telse eventType = \"start\";\n\t\t\t\telse eventType = \"end\";\n\t\t\t\tif (eventType === \"start\") {\n\t\t\t\t\tif (logEntry.inputs !== void 0) data.input = logEntry.inputs;\n\t\t\t\t} else if (eventType === \"end\") {\n\t\t\t\t\tif (logEntry.inputs !== void 0) data.input = logEntry.inputs;\n\t\t\t\t\tdata.output = logEntry.final_output;\n\t\t\t\t} else if (eventType === \"stream\") {\n\t\t\t\t\tconst chunkCount = logEntry.streamed_output.length;\n\t\t\t\t\tif (chunkCount !== 1) throw new Error(`Expected exactly one chunk of streamed output, got ${chunkCount} instead. Encountered in: \"${logEntry.name}\"`);\n\t\t\t\t\tdata = { chunk: logEntry.streamed_output[0] };\n\t\t\t\t\tlogEntry.streamed_output = [];\n\t\t\t\t}\n\t\t\t\tyield {\n\t\t\t\t\tevent: `on_${logEntry.type}_${eventType}`,\n\t\t\t\t\tname: logEntry.name,\n\t\t\t\t\trun_id: logEntry.id,\n\t\t\t\t\ttags: logEntry.tags,\n\t\t\t\t\tmetadata: logEntry.metadata,\n\t\t\t\t\tdata\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst { state: state$1 } = runLog;\n\t\t\tif (state$1.streamed_output.length > 0) {\n\t\t\t\tconst chunkCount = state$1.streamed_output.length;\n\t\t\t\tif (chunkCount !== 1) throw new Error(`Expected exactly one chunk of streamed output, got ${chunkCount} instead. Encountered in: \"${state$1.name}\"`);\n\t\t\t\tconst data = { chunk: state$1.streamed_output[0] };\n\t\t\t\tstate$1.streamed_output = [];\n\t\t\t\tconst event = {\n\t\t\t\t\tevent: `on_${state$1.type}_stream`,\n\t\t\t\t\trun_id: state$1.id,\n\t\t\t\t\ttags: rootTags,\n\t\t\t\t\tmetadata: rootMetadata,\n\t\t\t\t\tname: rootName,\n\t\t\t\t\tdata\n\t\t\t\t};\n\t\t\t\tif (rootEventFilter.includeEvent(event, state$1.type)) yield event;\n\t\t\t}\n\t\t}\n\t\tconst state = runLog?.state;\n\t\tif (state !== void 0) {\n\t\t\tconst event = {\n\t\t\t\tevent: `on_${state.type}_end`,\n\t\t\t\tname: rootName,\n\t\t\t\trun_id: state.id,\n\t\t\t\ttags: rootTags,\n\t\t\t\tmetadata: rootMetadata,\n\t\t\t\tdata: { output: state.final_output }\n\t\t\t};\n\t\t\tif (rootEventFilter.includeEvent(event, state.type)) yield event;\n\t\t}\n\t}\n\tstatic isRunnable(thing) {\n\t\treturn isRunnableInterface(thing);\n\t}\n\t/**\n\t* Bind lifecycle listeners to a Runnable, returning a new Runnable.\n\t* The Run object contains information about the run, including its id,\n\t* type, input, output, error, startTime, endTime, and any tags or metadata\n\t* added to the run.\n\t*\n\t* @param {Object} params - The object containing the callback functions.\n\t* @param {(run: Run) => void} params.onStart - Called before the runnable starts running, with the Run object.\n\t* @param {(run: Run) => void} params.onEnd - Called after the runnable finishes running, with the Run object.\n\t* @param {(run: Run) => void} params.onError - Called if the runnable throws an error, with the Run object.\n\t*/\n\twithListeners({ onStart, onEnd, onError }) {\n\t\treturn new RunnableBinding({\n\t\t\tbound: this,\n\t\t\tconfig: {},\n\t\t\tconfigFactories: [(config) => ({ callbacks: [new RootListenersTracer({\n\t\t\t\tconfig,\n\t\t\t\tonStart,\n\t\t\t\tonEnd,\n\t\t\t\tonError\n\t\t\t})] })]\n\t\t});\n\t}\n\t/**\n\t* Convert a runnable to a tool. Return a new instance of `RunnableToolLike`\n\t* which contains the runnable, name, description and schema.\n\t*\n\t* @template {T extends RunInput = RunInput} RunInput - The input type of the runnable. Should be the same as the `RunInput` type of the runnable.\n\t*\n\t* @param fields\n\t* @param {string | undefined} [fields.name] The name of the tool. If not provided, it will default to the name of the runnable.\n\t* @param {string | undefined} [fields.description] The description of the tool. Falls back to the description on the Zod schema if not provided, or undefined if neither are provided.\n\t* @param {z.ZodType<T>} [fields.schema] The Zod schema for the input of the tool. Infers the Zod type from the input type of the runnable.\n\t* @returns {RunnableToolLike<z.ZodType<T>, RunOutput>} An instance of `RunnableToolLike` which is a runnable that can be used as a tool.\n\t*/\n\tasTool(fields) {\n\t\treturn convertRunnableToTool(this, fields);\n\t}\n};\n/**\n* Wraps a runnable and applies partial config upon invocation.\n*\n* @example\n* ```typescript\n* import {\n* type RunnableConfig,\n* RunnableLambda,\n* } from \"@langchain/core/runnables\";\n*\n* const enhanceProfile = (\n* profile: Record<string, any>,\n* config?: RunnableConfig\n* ) => {\n* if (config?.configurable?.role) {\n* return { ...profile, role: config.configurable.role };\n* }\n* return profile;\n* };\n*\n* const runnable = RunnableLambda.from(enhanceProfile);\n*\n* // Bind configuration to the runnable to set the user's role dynamically\n* const adminRunnable = runnable.withConfig({ configurable: { role: \"Admin\" } });\n* const userRunnable = runnable.withConfig({ configurable: { role: \"User\" } });\n*\n* const result1 = await adminRunnable.invoke({\n* name: \"Alice\",\n* email: \"alice@example.com\"\n* });\n*\n* // { name: \"Alice\", email: \"alice@example.com\", role: \"Admin\" }\n*\n* const result2 = await userRunnable.invoke({\n* name: \"Bob\",\n* email: \"bob@example.com\"\n* });\n*\n* // { name: \"Bob\", email: \"bob@example.com\", role: \"User\" }\n* ```\n*/\nvar RunnableBinding = class RunnableBinding extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnableBinding\";\n\t}\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tlc_serializable = true;\n\tbound;\n\tconfig;\n\tkwargs;\n\tconfigFactories;\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.bound = fields.bound;\n\t\tthis.kwargs = fields.kwargs;\n\t\tthis.config = fields.config;\n\t\tthis.configFactories = fields.configFactories;\n\t}\n\tgetName(suffix) {\n\t\treturn this.bound.getName(suffix);\n\t}\n\tasync _mergeConfig(...options) {\n\t\tconst config = mergeConfigs(this.config, ...options);\n\t\treturn mergeConfigs(config, ...this.configFactories ? await Promise.all(this.configFactories.map(async (configFactory) => await configFactory(config))) : []);\n\t}\n\twithConfig(config) {\n\t\treturn new this.constructor({\n\t\t\tbound: this.bound,\n\t\t\tkwargs: this.kwargs,\n\t\t\tconfig: {\n\t\t\t\t...this.config,\n\t\t\t\t...config\n\t\t\t}\n\t\t});\n\t}\n\twithRetry(fields) {\n\t\treturn new RunnableRetry({\n\t\t\tbound: this.bound,\n\t\t\tkwargs: this.kwargs,\n\t\t\tconfig: this.config,\n\t\t\tmaxAttemptNumber: fields?.stopAfterAttempt,\n\t\t\t...fields\n\t\t});\n\t}\n\tasync invoke(input, options) {\n\t\treturn this.bound.invoke(input, await this._mergeConfig(options, this.kwargs));\n\t}\n\tasync batch(inputs, options, batchOptions) {\n\t\tconst mergedOptions = Array.isArray(options) ? await Promise.all(options.map(async (individualOption) => this._mergeConfig(ensureConfig(individualOption), this.kwargs))) : await this._mergeConfig(ensureConfig(options), this.kwargs);\n\t\treturn this.bound.batch(inputs, mergedOptions, batchOptions);\n\t}\n\t/** @internal */\n\t_concatOutputChunks(first, second) {\n\t\treturn this.bound._concatOutputChunks(first, second);\n\t}\n\tasync *_streamIterator(input, options) {\n\t\tyield* this.bound._streamIterator(input, await this._mergeConfig(ensureConfig(options), this.kwargs));\n\t}\n\tasync stream(input, options) {\n\t\treturn this.bound.stream(input, await this._mergeConfig(ensureConfig(options), this.kwargs));\n\t}\n\tasync *transform(generator, options) {\n\t\tyield* this.bound.transform(generator, await this._mergeConfig(ensureConfig(options), this.kwargs));\n\t}\n\tstreamEvents(input, options, streamOptions) {\n\t\tconst outerThis = this;\n\t\tconst generator = async function* () {\n\t\t\tyield* outerThis.bound.streamEvents(input, {\n\t\t\t\t...await outerThis._mergeConfig(ensureConfig(options), outerThis.kwargs),\n\t\t\t\tversion: options.version\n\t\t\t}, streamOptions);\n\t\t};\n\t\treturn IterableReadableStream.fromAsyncGenerator(generator());\n\t}\n\tstatic isRunnableBinding(thing) {\n\t\treturn thing.bound && Runnable.isRunnable(thing.bound);\n\t}\n\t/**\n\t* Bind lifecycle listeners to a Runnable, returning a new Runnable.\n\t* The Run object contains information about the run, including its id,\n\t* type, input, output, error, startTime, endTime, and any tags or metadata\n\t* added to the run.\n\t*\n\t* @param {Object} params - The object containing the callback functions.\n\t* @param {(run: Run) => void} params.onStart - Called before the runnable starts running, with the Run object.\n\t* @param {(run: Run) => void} params.onEnd - Called after the runnable finishes running, with the Run object.\n\t* @param {(run: Run) => void} params.onError - Called if the runnable throws an error, with the Run object.\n\t*/\n\twithListeners({ onStart, onEnd, onError }) {\n\t\treturn new RunnableBinding({\n\t\t\tbound: this.bound,\n\t\t\tkwargs: this.kwargs,\n\t\t\tconfig: this.config,\n\t\t\tconfigFactories: [(config) => ({ callbacks: [new RootListenersTracer({\n\t\t\t\tconfig,\n\t\t\t\tonStart,\n\t\t\t\tonEnd,\n\t\t\t\tonError\n\t\t\t})] })]\n\t\t});\n\t}\n};\n/**\n* A runnable that delegates calls to another runnable\n* with each element of the input sequence.\n* @example\n* ```typescript\n* import { RunnableEach, RunnableLambda } from \"@langchain/core/runnables\";\n*\n* const toUpperCase = (input: string): string => input.toUpperCase();\n* const addGreeting = (input: string): string => `Hello, ${input}!`;\n*\n* const upperCaseLambda = RunnableLambda.from(toUpperCase);\n* const greetingLambda = RunnableLambda.from(addGreeting);\n*\n* const chain = new RunnableEach({\n* bound: upperCaseLambda.pipe(greetingLambda),\n* });\n*\n* const result = await chain.invoke([\"alice\", \"bob\", \"carol\"])\n*\n* // [\"Hello, ALICE!\", \"Hello, BOB!\", \"Hello, CAROL!\"]\n* ```\n*/\nvar RunnableEach = class RunnableEach extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnableEach\";\n\t}\n\tlc_serializable = true;\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tbound;\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.bound = fields.bound;\n\t}\n\t/**\n\t* Invokes the runnable with the specified input and configuration.\n\t* @param input The input to invoke the runnable with.\n\t* @param config The configuration to invoke the runnable with.\n\t* @returns A promise that resolves to the output of the runnable.\n\t*/\n\tasync invoke(inputs, config) {\n\t\treturn this._callWithConfig(this._invoke.bind(this), inputs, config);\n\t}\n\t/**\n\t* A helper method that is used to invoke the runnable with the specified input and configuration.\n\t* @param input The input to invoke the runnable with.\n\t* @param config The configuration to invoke the runnable with.\n\t* @returns A promise that resolves to the output of the runnable.\n\t*/\n\tasync _invoke(inputs, config, runManager) {\n\t\treturn this.bound.batch(inputs, patchConfig(config, { callbacks: runManager?.getChild() }));\n\t}\n\t/**\n\t* Bind lifecycle listeners to a Runnable, returning a new Runnable.\n\t* The Run object contains information about the run, including its id,\n\t* type, input, output, error, startTime, endTime, and any tags or metadata\n\t* added to the run.\n\t*\n\t* @param {Object} params - The object containing the callback functions.\n\t* @param {(run: Run) => void} params.onStart - Called before the runnable starts running, with the Run object.\n\t* @param {(run: Run) => void} params.onEnd - Called after the runnable finishes running, with the Run object.\n\t* @param {(run: Run) => void} params.onError - Called if the runnable throws an error, with the Run object.\n\t*/\n\twithListeners({ onStart, onEnd, onError }) {\n\t\treturn new RunnableEach({ bound: this.bound.withListeners({\n\t\t\tonStart,\n\t\t\tonEnd,\n\t\t\tonError\n\t\t}) });\n\t}\n};\n/**\n* Base class for runnables that can be retried a\n* specified number of times.\n* @example\n* ```typescript\n* import {\n* RunnableLambda,\n* RunnableRetry,\n* } from \"@langchain/core/runnables\";\n*\n* // Simulate an API call that fails\n* const simulateApiCall = (input: string): string => {\n* console.log(`Attempting API call with input: ${input}`);\n* throw new Error(\"API call failed due to network issue\");\n* };\n*\n* const apiCallLambda = RunnableLambda.from(simulateApiCall);\n*\n* // Apply retry logic using the .withRetry() method\n* const apiCallWithRetry = apiCallLambda.withRetry({ stopAfterAttempt: 3 });\n*\n* // Alternatively, create a RunnableRetry instance manually\n* const manualRetry = new RunnableRetry({\n* bound: apiCallLambda,\n* maxAttemptNumber: 3,\n* config: {},\n* });\n*\n* // Example invocation using the .withRetry() method\n* const res = await apiCallWithRetry\n* .invoke(\"Request 1\")\n* .catch((error) => {\n* console.error(\"Failed after multiple retries:\", error.message);\n* });\n*\n* // Example invocation using the manual retry instance\n* const res2 = await manualRetry\n* .invoke(\"Request 2\")\n* .catch((error) => {\n* console.error(\"Failed after multiple retries:\", error.message);\n* });\n* ```\n*/\nvar RunnableRetry = class extends RunnableBinding {\n\tstatic lc_name() {\n\t\treturn \"RunnableRetry\";\n\t}\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tmaxAttemptNumber = 3;\n\tonFailedAttempt = () => {};\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.maxAttemptNumber = fields.maxAttemptNumber ?? this.maxAttemptNumber;\n\t\tthis.onFailedAttempt = fields.onFailedAttempt ?? this.onFailedAttempt;\n\t}\n\t_patchConfigForRetry(attempt, config, runManager) {\n\t\tconst tag = attempt > 1 ? `retry:attempt:${attempt}` : void 0;\n\t\treturn patchConfig(config, { callbacks: runManager?.getChild(tag) });\n\t}\n\tasync _invoke(input, config, runManager) {\n\t\treturn pRetry((attemptNumber) => super.invoke(input, this._patchConfigForRetry(attemptNumber, config, runManager)), {\n\t\t\tonFailedAttempt: ({ error }) => this.onFailedAttempt(error, input),\n\t\t\tretries: Math.max(this.maxAttemptNumber - 1, 0),\n\t\t\trandomize: true\n\t\t});\n\t}\n\t/**\n\t* Method that invokes the runnable with the specified input, run manager,\n\t* and config. It handles the retry logic by catching any errors and\n\t* recursively invoking itself with the updated config for the next retry\n\t* attempt.\n\t* @param input The input for the runnable.\n\t* @param runManager The run manager for the runnable.\n\t* @param config The config for the runnable.\n\t* @returns A promise that resolves to the output of the runnable.\n\t*/\n\tasync invoke(input, config) {\n\t\treturn this._callWithConfig(this._invoke.bind(this), input, config);\n\t}\n\tasync _batch(inputs, configs, runManagers, batchOptions) {\n\t\tconst resultsMap = {};\n\t\ttry {\n\t\t\tawait pRetry(async (attemptNumber) => {\n\t\t\t\tconst remainingIndexes = inputs.map((_, i) => i).filter((i) => resultsMap[i.toString()] === void 0 || resultsMap[i.toString()] instanceof Error);\n\t\t\t\tconst remainingInputs = remainingIndexes.map((i) => inputs[i]);\n\t\t\t\tconst patchedConfigs = remainingIndexes.map((i) => this._patchConfigForRetry(attemptNumber, configs?.[i], runManagers?.[i]));\n\t\t\t\tconst results = await super.batch(remainingInputs, patchedConfigs, {\n\t\t\t\t\t...batchOptions,\n\t\t\t\t\treturnExceptions: true\n\t\t\t\t});\n\t\t\t\tlet firstException;\n\t\t\t\tfor (let i = 0; i < results.length; i += 1) {\n\t\t\t\t\tconst result = results[i];\n\t\t\t\t\tconst resultMapIndex = remainingIndexes[i];\n\t\t\t\t\tif (result instanceof Error) {\n\t\t\t\t\t\tif (firstException === void 0) {\n\t\t\t\t\t\t\tfirstException = result;\n\t\t\t\t\t\t\tfirstException.input = remainingInputs[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tresultsMap[resultMapIndex.toString()] = result;\n\t\t\t\t}\n\t\t\t\tif (firstException) throw firstException;\n\t\t\t\treturn results;\n\t\t\t}, {\n\t\t\t\tonFailedAttempt: ({ error }) => this.onFailedAttempt(error, error.input),\n\t\t\t\tretries: Math.max(this.maxAttemptNumber - 1, 0),\n\t\t\t\trandomize: true\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (batchOptions?.returnExceptions !== true) throw e;\n\t\t}\n\t\treturn Object.keys(resultsMap).sort((a, b) => parseInt(a, 10) - parseInt(b, 10)).map((key) => resultsMap[parseInt(key, 10)]);\n\t}\n\tasync batch(inputs, options, batchOptions) {\n\t\treturn this._batchWithConfig(this._batch.bind(this), inputs, options, batchOptions);\n\t}\n};\n/**\n* A sequence of runnables, where the output of each is the input of the next.\n* @example\n* ```typescript\n* const promptTemplate = PromptTemplate.fromTemplate(\n* \"Tell me a joke about {topic}\",\n* );\n* const chain = RunnableSequence.from([promptTemplate, new ChatOpenAI({ model: \"gpt-4o-mini\" })]);\n* const result = await chain.invoke({ topic: \"bears\" });\n* ```\n*/\nvar RunnableSequence = class RunnableSequence extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnableSequence\";\n\t}\n\tfirst;\n\tmiddle = [];\n\tlast;\n\tomitSequenceTags = false;\n\tlc_serializable = true;\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.first = fields.first;\n\t\tthis.middle = fields.middle ?? this.middle;\n\t\tthis.last = fields.last;\n\t\tthis.name = fields.name;\n\t\tthis.omitSequenceTags = fields.omitSequenceTags ?? this.omitSequenceTags;\n\t}\n\tget steps() {\n\t\treturn [\n\t\t\tthis.first,\n\t\t\t...this.middle,\n\t\t\tthis.last\n\t\t];\n\t}\n\tasync invoke(input, options) {\n\t\tconst config = ensureConfig(options);\n\t\tconst callbackManager_ = await getCallbackManagerForConfig(config);\n\t\tconst runManager = await callbackManager_?.handleChainStart(this.toJSON(), _coerceToDict(input, \"input\"), config.runId, void 0, void 0, void 0, config?.runName);\n\t\tdelete config.runId;\n\t\tlet nextStepInput = input;\n\t\tlet finalOutput;\n\t\ttry {\n\t\t\tconst initialSteps = [this.first, ...this.middle];\n\t\t\tfor (let i = 0; i < initialSteps.length; i += 1) {\n\t\t\t\tconst step = initialSteps[i];\n\t\t\t\tconst promise = step.invoke(nextStepInput, patchConfig(config, { callbacks: runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${i + 1}`) }));\n\t\t\t\tnextStepInput = await raceWithSignal(promise, options?.signal);\n\t\t\t}\n\t\t\tif (options?.signal?.aborted) throw getAbortSignalError(options.signal);\n\t\t\tfinalOutput = await this.last.invoke(nextStepInput, patchConfig(config, { callbacks: runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${this.steps.length}`) }));\n\t\t} catch (e) {\n\t\t\tawait runManager?.handleChainError(e);\n\t\t\tthrow e;\n\t\t}\n\t\tawait runManager?.handleChainEnd(_coerceToDict(finalOutput, \"output\"));\n\t\treturn finalOutput;\n\t}\n\tasync batch(inputs, options, batchOptions) {\n\t\tconst configList = this._getOptionsList(options ?? {}, inputs.length);\n\t\tconst callbackManagers = await Promise.all(configList.map(getCallbackManagerForConfig));\n\t\tconst runManagers = await Promise.all(callbackManagers.map(async (callbackManager, i) => {\n\t\t\tconst handleStartRes = await callbackManager?.handleChainStart(this.toJSON(), _coerceToDict(inputs[i], \"input\"), configList[i].runId, void 0, void 0, void 0, configList[i].runName);\n\t\t\tdelete configList[i].runId;\n\t\t\treturn handleStartRes;\n\t\t}));\n\t\tlet nextStepInputs = inputs;\n\t\ttry {\n\t\t\tfor (let i = 0; i < this.steps.length; i += 1) {\n\t\t\t\tconst step = this.steps[i];\n\t\t\t\tconst promise = step.batch(nextStepInputs, runManagers.map((runManager, j) => {\n\t\t\t\t\tconst childRunManager = runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${i + 1}`);\n\t\t\t\t\treturn patchConfig(configList[j], { callbacks: childRunManager });\n\t\t\t\t}), batchOptions);\n\t\t\t\tnextStepInputs = await raceWithSignal(promise, configList[0]?.signal);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tawait Promise.all(runManagers.map((runManager) => runManager?.handleChainError(e)));\n\t\t\tthrow e;\n\t\t}\n\t\tawait Promise.all(runManagers.map((runManager) => runManager?.handleChainEnd(_coerceToDict(nextStepInputs, \"output\"))));\n\t\treturn nextStepInputs;\n\t}\n\t/** @internal */\n\t_concatOutputChunks(first, second) {\n\t\treturn this.last._concatOutputChunks(first, second);\n\t}\n\tasync *_streamIterator(input, options) {\n\t\tconst callbackManager_ = await getCallbackManagerForConfig(options);\n\t\tconst { runId,...otherOptions } = options ?? {};\n\t\tconst runManager = await callbackManager_?.handleChainStart(this.toJSON(), _coerceToDict(input, \"input\"), runId, void 0, void 0, void 0, otherOptions?.runName);\n\t\tconst steps = [\n\t\t\tthis.first,\n\t\t\t...this.middle,\n\t\t\tthis.last\n\t\t];\n\t\tlet concatSupported = true;\n\t\tlet finalOutput;\n\t\tasync function* inputGenerator() {\n\t\t\tyield input;\n\t\t}\n\t\ttry {\n\t\t\tlet finalGenerator = steps[0].transform(inputGenerator(), patchConfig(otherOptions, { callbacks: runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:1`) }));\n\t\t\tfor (let i = 1; i < steps.length; i += 1) {\n\t\t\t\tconst step = steps[i];\n\t\t\t\tfinalGenerator = await step.transform(finalGenerator, patchConfig(otherOptions, { callbacks: runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${i + 1}`) }));\n\t\t\t}\n\t\t\tfor await (const chunk of finalGenerator) {\n\t\t\t\toptions?.signal?.throwIfAborted();\n\t\t\t\tyield chunk;\n\t\t\t\tif (concatSupported) if (finalOutput === void 0) finalOutput = chunk;\n\t\t\t\telse try {\n\t\t\t\t\tfinalOutput = this._concatOutputChunks(finalOutput, chunk);\n\t\t\t\t} catch {\n\t\t\t\t\tfinalOutput = void 0;\n\t\t\t\t\tconcatSupported = false;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tawait runManager?.handleChainError(e);\n\t\t\tthrow e;\n\t\t}\n\t\tawait runManager?.handleChainEnd(_coerceToDict(finalOutput, \"output\"));\n\t}\n\tgetGraph(config) {\n\t\tconst graph = new Graph();\n\t\tlet currentLastNode = null;\n\t\tthis.steps.forEach((step, index) => {\n\t\t\tconst stepGraph = step.getGraph(config);\n\t\t\tif (index !== 0) stepGraph.trimFirstNode();\n\t\t\tif (index !== this.steps.length - 1) stepGraph.trimLastNode();\n\t\t\tgraph.extend(stepGraph);\n\t\t\tconst stepFirstNode = stepGraph.firstNode();\n\t\t\tif (!stepFirstNode) throw new Error(`Runnable ${step} has no first node`);\n\t\t\tif (currentLastNode) graph.addEdge(currentLastNode, stepFirstNode);\n\t\t\tcurrentLastNode = stepGraph.lastNode();\n\t\t});\n\t\treturn graph;\n\t}\n\tpipe(coerceable) {\n\t\tif (RunnableSequence.isRunnableSequence(coerceable)) return new RunnableSequence({\n\t\t\tfirst: this.first,\n\t\t\tmiddle: this.middle.concat([\n\t\t\t\tthis.last,\n\t\t\t\tcoerceable.first,\n\t\t\t\t...coerceable.middle\n\t\t\t]),\n\t\t\tlast: coerceable.last,\n\t\t\tname: this.name ?? coerceable.name\n\t\t});\n\t\telse return new RunnableSequence({\n\t\t\tfirst: this.first,\n\t\t\tmiddle: [...this.middle, this.last],\n\t\t\tlast: _coerceToRunnable(coerceable),\n\t\t\tname: this.name\n\t\t});\n\t}\n\tstatic isRunnableSequence(thing) {\n\t\treturn Array.isArray(thing.middle) && Runnable.isRunnable(thing);\n\t}\n\tstatic from([first, ...runnables], nameOrFields) {\n\t\tlet extra = {};\n\t\tif (typeof nameOrFields === \"string\") extra.name = nameOrFields;\n\t\telse if (nameOrFields !== void 0) extra = nameOrFields;\n\t\treturn new RunnableSequence({\n\t\t\t...extra,\n\t\t\tfirst: _coerceToRunnable(first),\n\t\t\tmiddle: runnables.slice(0, -1).map(_coerceToRunnable),\n\t\t\tlast: _coerceToRunnable(runnables[runnables.length - 1])\n\t\t});\n\t}\n};\n/**\n* A runnable that runs a mapping of runnables in parallel,\n* and returns a mapping of their outputs.\n* @example\n* ```typescript\n* const mapChain = RunnableMap.from({\n* joke: PromptTemplate.fromTemplate(\"Tell me a joke about {topic}\").pipe(\n* new ChatAnthropic({}),\n* ),\n* poem: PromptTemplate.fromTemplate(\"write a 2-line poem about {topic}\").pipe(\n* new ChatAnthropic({}),\n* ),\n* });\n* const result = await mapChain.invoke({ topic: \"bear\" });\n* ```\n*/\nvar RunnableMap = class RunnableMap extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnableMap\";\n\t}\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tlc_serializable = true;\n\tsteps;\n\tgetStepsKeys() {\n\t\treturn Object.keys(this.steps);\n\t}\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.steps = {};\n\t\tfor (const [key, value] of Object.entries(fields.steps)) this.steps[key] = _coerceToRunnable(value);\n\t}\n\tstatic from(steps) {\n\t\treturn new RunnableMap({ steps });\n\t}\n\tasync invoke(input, options) {\n\t\tconst config = ensureConfig(options);\n\t\tconst callbackManager_ = await getCallbackManagerForConfig(config);\n\t\tconst runManager = await callbackManager_?.handleChainStart(this.toJSON(), { input }, config.runId, void 0, void 0, void 0, config?.runName);\n\t\tdelete config.runId;\n\t\tconst output = {};\n\t\ttry {\n\t\t\tconst promises = Object.entries(this.steps).map(async ([key, runnable]) => {\n\t\t\t\toutput[key] = await runnable.invoke(input, patchConfig(config, { callbacks: runManager?.getChild(`map:key:${key}`) }));\n\t\t\t});\n\t\t\tawait raceWithSignal(Promise.all(promises), options?.signal);\n\t\t} catch (e) {\n\t\t\tawait runManager?.handleChainError(e);\n\t\t\tthrow e;\n\t\t}\n\t\tawait runManager?.handleChainEnd(output);\n\t\treturn output;\n\t}\n\tasync *_transform(generator, runManager, options) {\n\t\tconst steps = { ...this.steps };\n\t\tconst inputCopies = atee(generator, Object.keys(steps).length);\n\t\tconst tasks = new Map(Object.entries(steps).map(([key, runnable], i) => {\n\t\t\tconst gen = runnable.transform(inputCopies[i], patchConfig(options, { callbacks: runManager?.getChild(`map:key:${key}`) }));\n\t\t\treturn [key, gen.next().then((result) => ({\n\t\t\t\tkey,\n\t\t\t\tgen,\n\t\t\t\tresult\n\t\t\t}))];\n\t\t}));\n\t\twhile (tasks.size) {\n\t\t\tconst promise = Promise.race(tasks.values());\n\t\t\tconst { key, result, gen } = await raceWithSignal(promise, options?.signal);\n\t\t\ttasks.delete(key);\n\t\t\tif (!result.done) {\n\t\t\t\tyield { [key]: result.value };\n\t\t\t\ttasks.set(key, gen.next().then((result$1) => ({\n\t\t\t\t\tkey,\n\t\t\t\t\tgen,\n\t\t\t\t\tresult: result$1\n\t\t\t\t})));\n\t\t\t}\n\t\t}\n\t}\n\ttransform(generator, options) {\n\t\treturn this._transformStreamWithConfig(generator, this._transform.bind(this), options);\n\t}\n\tasync stream(input, options) {\n\t\tasync function* generator() {\n\t\t\tyield input;\n\t\t}\n\t\tconst config = ensureConfig(options);\n\t\tconst wrappedGenerator = new AsyncGeneratorWithSetup({\n\t\t\tgenerator: this.transform(generator(), config),\n\t\t\tconfig\n\t\t});\n\t\tawait wrappedGenerator.setup;\n\t\treturn IterableReadableStream.fromAsyncGenerator(wrappedGenerator);\n\t}\n};\n/**\n* A runnable that wraps a traced LangSmith function.\n*/\nvar RunnableTraceable = class RunnableTraceable extends Runnable {\n\tlc_serializable = false;\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tfunc;\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tif (!isTraceableFunction(fields.func)) throw new Error(\"RunnableTraceable requires a function that is wrapped in traceable higher-order function\");\n\t\tthis.func = fields.func;\n\t}\n\tasync invoke(input, options) {\n\t\tconst [config] = this._getOptionsList(options ?? {}, 1);\n\t\tconst callbacks = await getCallbackManagerForConfig(config);\n\t\tconst promise = this.func(patchConfig(config, { callbacks }), input);\n\t\treturn raceWithSignal(promise, config?.signal);\n\t}\n\tasync *_streamIterator(input, options) {\n\t\tconst [config] = this._getOptionsList(options ?? {}, 1);\n\t\tconst result = await this.invoke(input, options);\n\t\tif (isAsyncIterable(result)) {\n\t\t\tfor await (const item of result) {\n\t\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\t\tyield item;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (isIterator(result)) {\n\t\t\twhile (true) {\n\t\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\t\tconst state = result.next();\n\t\t\t\tif (state.done) break;\n\t\t\t\tyield state.value;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tyield result;\n\t}\n\tstatic from(func) {\n\t\treturn new RunnableTraceable({ func });\n\t}\n};\nfunction assertNonTraceableFunction(func) {\n\tif (isTraceableFunction(func)) throw new Error(\"RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.\");\n}\n/**\n* A runnable that wraps an arbitrary function that takes a single argument.\n* @example\n* ```typescript\n* import { RunnableLambda } from \"@langchain/core/runnables\";\n*\n* const add = (input: { x: number; y: number }) => input.x + input.y;\n*\n* const multiply = (input: { value: number; multiplier: number }) =>\n* input.value * input.multiplier;\n*\n* // Create runnables for the functions\n* const addLambda = RunnableLambda.from(add);\n* const multiplyLambda = RunnableLambda.from(multiply);\n*\n* // Chain the lambdas for a mathematical operation\n* const chainedLambda = addLambda.pipe((result) =>\n* multiplyLambda.invoke({ value: result, multiplier: 2 })\n* );\n*\n* // Example invocation of the chainedLambda\n* const result = await chainedLambda.invoke({ x: 2, y: 3 });\n*\n* // Will log \"10\" (since (2 + 3) * 2 = 10)\n* ```\n*/\nvar RunnableLambda = class RunnableLambda extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnableLambda\";\n\t}\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tfunc;\n\tconstructor(fields) {\n\t\tif (isTraceableFunction(fields.func)) return RunnableTraceable.from(fields.func);\n\t\tsuper(fields);\n\t\tassertNonTraceableFunction(fields.func);\n\t\tthis.func = fields.func;\n\t}\n\tstatic from(func) {\n\t\treturn new RunnableLambda({ func });\n\t}\n\tasync _invoke(input, config, runManager) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst childConfig = patchConfig(config, {\n\t\t\t\tcallbacks: runManager?.getChild(),\n\t\t\t\trecursionLimit: (config?.recursionLimit ?? DEFAULT_RECURSION_LIMIT) - 1\n\t\t\t});\n\t\t\tAsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(childConfig), async () => {\n\t\t\t\ttry {\n\t\t\t\t\tlet output = await this.func(input, { ...childConfig });\n\t\t\t\t\tif (output && Runnable.isRunnable(output)) {\n\t\t\t\t\t\tif (config?.recursionLimit === 0) throw new Error(\"Recursion limit reached.\");\n\t\t\t\t\t\toutput = await output.invoke(input, {\n\t\t\t\t\t\t\t...childConfig,\n\t\t\t\t\t\t\trecursionLimit: (childConfig.recursionLimit ?? DEFAULT_RECURSION_LIMIT) - 1\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (isAsyncIterable(output)) {\n\t\t\t\t\t\tlet finalOutput;\n\t\t\t\t\t\tfor await (const chunk of consumeAsyncIterableInContext(childConfig, output)) {\n\t\t\t\t\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\t\t\t\t\tif (finalOutput === void 0) finalOutput = chunk;\n\t\t\t\t\t\t\telse try {\n\t\t\t\t\t\t\t\tfinalOutput = this._concatOutputChunks(finalOutput, chunk);\n\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\tfinalOutput = chunk;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\toutput = finalOutput;\n\t\t\t\t\t} else if (isIterableIterator(output)) {\n\t\t\t\t\t\tlet finalOutput;\n\t\t\t\t\t\tfor (const chunk of consumeIteratorInContext(childConfig, output)) {\n\t\t\t\t\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\t\t\t\t\tif (finalOutput === void 0) finalOutput = chunk;\n\t\t\t\t\t\t\telse try {\n\t\t\t\t\t\t\t\tfinalOutput = this._concatOutputChunks(finalOutput, chunk);\n\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\tfinalOutput = chunk;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\toutput = finalOutput;\n\t\t\t\t\t}\n\t\t\t\t\tresolve(output);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\tasync invoke(input, options) {\n\t\treturn this._callWithConfig(this._invoke.bind(this), input, options);\n\t}\n\tasync *_transform(generator, runManager, config) {\n\t\tlet finalChunk;\n\t\tfor await (const chunk of generator) if (finalChunk === void 0) finalChunk = chunk;\n\t\telse try {\n\t\t\tfinalChunk = this._concatOutputChunks(finalChunk, chunk);\n\t\t} catch {\n\t\t\tfinalChunk = chunk;\n\t\t}\n\t\tconst childConfig = patchConfig(config, {\n\t\t\tcallbacks: runManager?.getChild(),\n\t\t\trecursionLimit: (config?.recursionLimit ?? DEFAULT_RECURSION_LIMIT) - 1\n\t\t});\n\t\tconst output = await new Promise((resolve, reject) => {\n\t\t\tAsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(childConfig), async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst res = await this.func(finalChunk, {\n\t\t\t\t\t\t...childConfig,\n\t\t\t\t\t\tconfig: childConfig\n\t\t\t\t\t});\n\t\t\t\t\tresolve(res);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tif (output && Runnable.isRunnable(output)) {\n\t\t\tif (config?.recursionLimit === 0) throw new Error(\"Recursion limit reached.\");\n\t\t\tconst stream = await output.stream(finalChunk, childConfig);\n\t\t\tfor await (const chunk of stream) yield chunk;\n\t\t} else if (isAsyncIterable(output)) for await (const chunk of consumeAsyncIterableInContext(childConfig, output)) {\n\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\tyield chunk;\n\t\t}\n\t\telse if (isIterableIterator(output)) for (const chunk of consumeIteratorInContext(childConfig, output)) {\n\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\tyield chunk;\n\t\t}\n\t\telse yield output;\n\t}\n\ttransform(generator, options) {\n\t\treturn this._transformStreamWithConfig(generator, this._transform.bind(this), options);\n\t}\n\tasync stream(input, options) {\n\t\tasync function* generator() {\n\t\t\tyield input;\n\t\t}\n\t\tconst config = ensureConfig(options);\n\t\tconst wrappedGenerator = new AsyncGeneratorWithSetup({\n\t\t\tgenerator: this.transform(generator(), config),\n\t\t\tconfig\n\t\t});\n\t\tawait wrappedGenerator.setup;\n\t\treturn IterableReadableStream.fromAsyncGenerator(wrappedGenerator);\n\t}\n};\n/**\n* A runnable that runs a mapping of runnables in parallel,\n* and returns a mapping of their outputs.\n* @example\n* ```typescript\n* import {\n* RunnableLambda,\n* RunnableParallel,\n* } from \"@langchain/core/runnables\";\n*\n* const addYears = (age: number): number => age + 5;\n* const yearsToFifty = (age: number): number => 50 - age;\n* const yearsToHundred = (age: number): number => 100 - age;\n*\n* const addYearsLambda = RunnableLambda.from(addYears);\n* const milestoneFiftyLambda = RunnableLambda.from(yearsToFifty);\n* const milestoneHundredLambda = RunnableLambda.from(yearsToHundred);\n*\n* // Pipe will coerce objects into RunnableParallel by default, but we\n* // explicitly instantiate one here to demonstrate\n* const sequence = addYearsLambda.pipe(\n* RunnableParallel.from({\n* years_to_fifty: milestoneFiftyLambda,\n* years_to_hundred: milestoneHundredLambda,\n* })\n* );\n*\n* // Invoke the sequence with a single age input\n* const res = await sequence.invoke(25);\n*\n* // { years_to_fifty: 20, years_to_hundred: 70 }\n* ```\n*/\nvar RunnableParallel = class extends RunnableMap {};\n/**\n* A Runnable that can fallback to other Runnables if it fails.\n* External APIs (e.g., APIs for a language model) may at times experience\n* degraded performance or even downtime.\n*\n* In these cases, it can be useful to have a fallback Runnable that can be\n* used in place of the original Runnable (e.g., fallback to another LLM provider).\n*\n* Fallbacks can be defined at the level of a single Runnable, or at the level\n* of a chain of Runnables. Fallbacks are tried in order until one succeeds or\n* all fail.\n*\n* While you can instantiate a `RunnableWithFallbacks` directly, it is usually\n* more convenient to use the `withFallbacks` method on an existing Runnable.\n*\n* When streaming, fallbacks will only be called on failures during the initial\n* stream creation. Errors that occur after a stream starts will not fallback\n* to the next Runnable.\n*\n* @example\n* ```typescript\n* import {\n* RunnableLambda,\n* RunnableWithFallbacks,\n* } from \"@langchain/core/runnables\";\n*\n* const primaryOperation = (input: string): string => {\n* if (input !== \"safe\") {\n* throw new Error(\"Primary operation failed due to unsafe input\");\n* }\n* return `Processed: ${input}`;\n* };\n*\n* // Define a fallback operation that processes the input differently\n* const fallbackOperation = (input: string): string =>\n* `Fallback processed: ${input}`;\n*\n* const primaryRunnable = RunnableLambda.from(primaryOperation);\n* const fallbackRunnable = RunnableLambda.from(fallbackOperation);\n*\n* // Apply the fallback logic using the .withFallbacks() method\n* const runnableWithFallback = primaryRunnable.withFallbacks([fallbackRunnable]);\n*\n* // Alternatively, create a RunnableWithFallbacks instance manually\n* const manualFallbackChain = new RunnableWithFallbacks({\n* runnable: primaryRunnable,\n* fallbacks: [fallbackRunnable],\n* });\n*\n* // Example invocation using .withFallbacks()\n* const res = await runnableWithFallback\n* .invoke(\"unsafe input\")\n* .catch((error) => {\n* console.error(\"Failed after all attempts:\", error.message);\n* });\n*\n* // \"Fallback processed: unsafe input\"\n*\n* // Example invocation using manual instantiation\n* const res = await manualFallbackChain\n* .invoke(\"safe\")\n* .catch((error) => {\n* console.error(\"Failed after all attempts:\", error.message);\n* });\n*\n* // \"Processed: safe\"\n* ```\n*/\nvar RunnableWithFallbacks = class extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnableWithFallbacks\";\n\t}\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tlc_serializable = true;\n\trunnable;\n\tfallbacks;\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.runnable = fields.runnable;\n\t\tthis.fallbacks = fields.fallbacks;\n\t}\n\t*runnables() {\n\t\tyield this.runnable;\n\t\tfor (const fallback of this.fallbacks) yield fallback;\n\t}\n\tasync invoke(input, options) {\n\t\tconst config = ensureConfig(options);\n\t\tconst callbackManager_ = await getCallbackManagerForConfig(config);\n\t\tconst { runId,...otherConfigFields } = config;\n\t\tconst runManager = await callbackManager_?.handleChainStart(this.toJSON(), _coerceToDict(input, \"input\"), runId, void 0, void 0, void 0, otherConfigFields?.runName);\n\t\tconst childConfig = patchConfig(otherConfigFields, { callbacks: runManager?.getChild() });\n\t\tconst res = await AsyncLocalStorageProviderSingleton.runWithConfig(childConfig, async () => {\n\t\t\tlet firstError;\n\t\t\tfor (const runnable of this.runnables()) {\n\t\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\t\ttry {\n\t\t\t\t\tconst output = await runnable.invoke(input, childConfig);\n\t\t\t\t\tawait runManager?.handleChainEnd(_coerceToDict(output, \"output\"));\n\t\t\t\t\treturn output;\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (firstError === void 0) firstError = e;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (firstError === void 0) throw new Error(\"No error stored at end of fallback.\");\n\t\t\tawait runManager?.handleChainError(firstError);\n\t\t\tthrow firstError;\n\t\t});\n\t\treturn res;\n\t}\n\tasync *_streamIterator(input, options) {\n\t\tconst config = ensureConfig(options);\n\t\tconst callbackManager_ = await getCallbackManagerForConfig(config);\n\t\tconst { runId,...otherConfigFields } = config;\n\t\tconst runManager = await callbackManager_?.handleChainStart(this.toJSON(), _coerceToDict(input, \"input\"), runId, void 0, void 0, void 0, otherConfigFields?.runName);\n\t\tlet firstError;\n\t\tlet stream;\n\t\tfor (const runnable of this.runnables()) {\n\t\t\tconfig?.signal?.throwIfAborted();\n\t\t\tconst childConfig = patchConfig(otherConfigFields, { callbacks: runManager?.getChild() });\n\t\t\ttry {\n\t\t\t\tconst originalStream = await runnable.stream(input, childConfig);\n\t\t\t\tstream = consumeAsyncIterableInContext(childConfig, originalStream);\n\t\t\t\tbreak;\n\t\t\t} catch (e) {\n\t\t\t\tif (firstError === void 0) firstError = e;\n\t\t\t}\n\t\t}\n\t\tif (stream === void 0) {\n\t\t\tconst error = firstError ?? /* @__PURE__ */ new Error(\"No error stored at end of fallback.\");\n\t\t\tawait runManager?.handleChainError(error);\n\t\t\tthrow error;\n\t\t}\n\t\tlet output;\n\t\ttry {\n\t\t\tfor await (const chunk of stream) {\n\t\t\t\tyield chunk;\n\t\t\t\ttry {\n\t\t\t\t\toutput = output === void 0 ? output : this._concatOutputChunks(output, chunk);\n\t\t\t\t} catch {\n\t\t\t\t\toutput = void 0;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tawait runManager?.handleChainError(e);\n\t\t\tthrow e;\n\t\t}\n\t\tawait runManager?.handleChainEnd(_coerceToDict(output, \"output\"));\n\t}\n\tasync batch(inputs, options, batchOptions) {\n\t\tif (batchOptions?.returnExceptions) throw new Error(\"Not implemented.\");\n\t\tconst configList = this._getOptionsList(options ?? {}, inputs.length);\n\t\tconst callbackManagers = await Promise.all(configList.map((config) => getCallbackManagerForConfig(config)));\n\t\tconst runManagers = await Promise.all(callbackManagers.map(async (callbackManager, i) => {\n\t\t\tconst handleStartRes = await callbackManager?.handleChainStart(this.toJSON(), _coerceToDict(inputs[i], \"input\"), configList[i].runId, void 0, void 0, void 0, configList[i].runName);\n\t\t\tdelete configList[i].runId;\n\t\t\treturn handleStartRes;\n\t\t}));\n\t\tlet firstError;\n\t\tfor (const runnable of this.runnables()) {\n\t\t\tconfigList[0].signal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\tconst outputs = await runnable.batch(inputs, runManagers.map((runManager, j) => patchConfig(configList[j], { callbacks: runManager?.getChild() })), batchOptions);\n\t\t\t\tawait Promise.all(runManagers.map((runManager, i) => runManager?.handleChainEnd(_coerceToDict(outputs[i], \"output\"))));\n\t\t\t\treturn outputs;\n\t\t\t} catch (e) {\n\t\t\t\tif (firstError === void 0) firstError = e;\n\t\t\t}\n\t\t}\n\t\tif (!firstError) throw new Error(\"No error stored at end of fallbacks.\");\n\t\tawait Promise.all(runManagers.map((runManager) => runManager?.handleChainError(firstError)));\n\t\tthrow firstError;\n\t}\n};\nfunction _coerceToRunnable(coerceable) {\n\tif (typeof coerceable === \"function\") return new RunnableLambda({ func: coerceable });\n\telse if (Runnable.isRunnable(coerceable)) return coerceable;\n\telse if (!Array.isArray(coerceable) && typeof coerceable === \"object\") {\n\t\tconst runnables = {};\n\t\tfor (const [key, value] of Object.entries(coerceable)) runnables[key] = _coerceToRunnable(value);\n\t\treturn new RunnableMap({ steps: runnables });\n\t} else throw new Error(`Expected a Runnable, function or object.\\nInstead got an unsupported type.`);\n}\n/**\n* A runnable that assigns key-value pairs to inputs of type `Record<string, unknown>`.\n* @example\n* ```typescript\n* import {\n* RunnableAssign,\n* RunnableLambda,\n* RunnableParallel,\n* } from \"@langchain/core/runnables\";\n*\n* const calculateAge = (x: { birthYear: number }): { age: number } => {\n* const currentYear = new Date().getFullYear();\n* return { age: currentYear - x.birthYear };\n* };\n*\n* const createGreeting = (x: { name: string }): { greeting: string } => {\n* return { greeting: `Hello, ${x.name}!` };\n* };\n*\n* const mapper = RunnableParallel.from({\n* age_step: RunnableLambda.from(calculateAge),\n* greeting_step: RunnableLambda.from(createGreeting),\n* });\n*\n* const runnableAssign = new RunnableAssign({ mapper });\n*\n* const res = await runnableAssign.invoke({ name: \"Alice\", birthYear: 1990 });\n*\n* // { name: \"Alice\", birthYear: 1990, age_step: { age: 34 }, greeting_step: { greeting: \"Hello, Alice!\" } }\n* ```\n*/\nvar RunnableAssign = class extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnableAssign\";\n\t}\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tlc_serializable = true;\n\tmapper;\n\tconstructor(fields) {\n\t\tif (fields instanceof RunnableMap) fields = { mapper: fields };\n\t\tsuper(fields);\n\t\tthis.mapper = fields.mapper;\n\t}\n\tasync invoke(input, options) {\n\t\tconst mapperResult = await this.mapper.invoke(input, options);\n\t\treturn {\n\t\t\t...input,\n\t\t\t...mapperResult\n\t\t};\n\t}\n\tasync *_transform(generator, runManager, options) {\n\t\tconst mapperKeys = this.mapper.getStepsKeys();\n\t\tconst [forPassthrough, forMapper] = atee(generator);\n\t\tconst mapperOutput = this.mapper.transform(forMapper, patchConfig(options, { callbacks: runManager?.getChild() }));\n\t\tconst firstMapperChunkPromise = mapperOutput.next();\n\t\tfor await (const chunk of forPassthrough) {\n\t\t\tif (typeof chunk !== \"object\" || Array.isArray(chunk)) throw new Error(`RunnableAssign can only be used with objects as input, got ${typeof chunk}`);\n\t\t\tconst filtered = Object.fromEntries(Object.entries(chunk).filter(([key]) => !mapperKeys.includes(key)));\n\t\t\tif (Object.keys(filtered).length > 0) yield filtered;\n\t\t}\n\t\tyield (await firstMapperChunkPromise).value;\n\t\tfor await (const chunk of mapperOutput) yield chunk;\n\t}\n\ttransform(generator, options) {\n\t\treturn this._transformStreamWithConfig(generator, this._transform.bind(this), options);\n\t}\n\tasync stream(input, options) {\n\t\tasync function* generator() {\n\t\t\tyield input;\n\t\t}\n\t\tconst config = ensureConfig(options);\n\t\tconst wrappedGenerator = new AsyncGeneratorWithSetup({\n\t\t\tgenerator: this.transform(generator(), config),\n\t\t\tconfig\n\t\t});\n\t\tawait wrappedGenerator.setup;\n\t\treturn IterableReadableStream.fromAsyncGenerator(wrappedGenerator);\n\t}\n};\n/**\n* A runnable that assigns key-value pairs to inputs of type `Record<string, unknown>`.\n* Useful for streaming, can be automatically created and chained by calling `runnable.pick();`.\n* @example\n* ```typescript\n* import { RunnablePick } from \"@langchain/core/runnables\";\n*\n* const inputData = {\n* name: \"John\",\n* age: 30,\n* city: \"New York\",\n* country: \"USA\",\n* email: \"john.doe@example.com\",\n* phone: \"+1234567890\",\n* };\n*\n* const basicInfoRunnable = new RunnablePick([\"name\", \"city\"]);\n*\n* // Example invocation\n* const res = await basicInfoRunnable.invoke(inputData);\n*\n* // { name: 'John', city: 'New York' }\n* ```\n*/\nvar RunnablePick = class extends Runnable {\n\tstatic lc_name() {\n\t\treturn \"RunnablePick\";\n\t}\n\tlc_namespace = [\"langchain_core\", \"runnables\"];\n\tlc_serializable = true;\n\tkeys;\n\tconstructor(fields) {\n\t\tif (typeof fields === \"string\" || Array.isArray(fields)) fields = { keys: fields };\n\t\tsuper(fields);\n\t\tthis.keys = fields.keys;\n\t}\n\tasync _pick(input) {\n\t\tif (typeof this.keys === \"string\") return input[this.keys];\n\t\telse {\n\t\t\tconst picked = this.keys.map((key) => [key, input[key]]).filter((v) => v[1] !== void 0);\n\t\t\treturn picked.length === 0 ? void 0 : Object.fromEntries(picked);\n\t\t}\n\t}\n\tasync invoke(input, options) {\n\t\treturn this._callWithConfig(this._pick.bind(this), input, options);\n\t}\n\tasync *_transform(generator) {\n\t\tfor await (const chunk of generator) {\n\t\t\tconst picked = await this._pick(chunk);\n\t\t\tif (picked !== void 0) yield picked;\n\t\t}\n\t}\n\ttransform(generator, options) {\n\t\treturn this._transformStreamWithConfig(generator, this._transform.bind(this), options);\n\t}\n\tasync stream(input, options) {\n\t\tasync function* generator() {\n\t\t\tyield input;\n\t\t}\n\t\tconst config = ensureConfig(options);\n\t\tconst wrappedGenerator = new AsyncGeneratorWithSetup({\n\t\t\tgenerator: this.transform(generator(), config),\n\t\t\tconfig\n\t\t});\n\t\tawait wrappedGenerator.setup;\n\t\treturn IterableReadableStream.fromAsyncGenerator(wrappedGenerator);\n\t}\n};\nvar RunnableToolLike = class extends RunnableBinding {\n\tname;\n\tdescription;\n\tschema;\n\tconstructor(fields) {\n\t\tconst sequence = RunnableSequence.from([RunnableLambda.from(async (input) => {\n\t\t\tlet toolInput;\n\t\t\tif (_isToolCall(input)) try {\n\t\t\t\ttoolInput = await interopParseAsync(this.schema, input.args);\n\t\t\t} catch {\n\t\t\t\tthrow new ToolInputParsingException(`Received tool input did not match expected schema`, JSON.stringify(input.args));\n\t\t\t}\n\t\t\telse toolInput = input;\n\t\t\treturn toolInput;\n\t\t}).withConfig({ runName: `${fields.name}:parse_input` }), fields.bound]).withConfig({ runName: fields.name });\n\t\tsuper({\n\t\t\tbound: sequence,\n\t\t\tconfig: fields.config ?? {}\n\t\t});\n\t\tthis.name = fields.name;\n\t\tthis.description = fields.description;\n\t\tthis.schema = fields.schema;\n\t}\n\tstatic lc_name() {\n\t\treturn \"RunnableToolLike\";\n\t}\n};\n/**\n* Given a runnable and a Zod schema, convert the runnable to a tool.\n*\n* @template RunInput The input type for the runnable.\n* @template RunOutput The output type for the runnable.\n*\n* @param {Runnable<RunInput, RunOutput>} runnable The runnable to convert to a tool.\n* @param fields\n* @param {string | undefined} [fields.name] The name of the tool. If not provided, it will default to the name of the runnable.\n* @param {string | undefined} [fields.description] The description of the tool. Falls back to the description on the Zod schema if not provided, or undefined if neither are provided.\n* @param {InteropZodType<RunInput>} [fields.schema] The Zod schema for the input of the tool. Infers the Zod type from the input type of the runnable.\n* @returns {RunnableToolLike<InteropZodType<RunInput>, RunOutput>} An instance of `RunnableToolLike` which is a runnable that can be used as a tool.\n*/\nfunction convertRunnableToTool(runnable, fields) {\n\tconst name = fields.name ?? runnable.getName();\n\tconst description = fields.description ?? getSchemaDescription(fields.schema);\n\tif (isSimpleStringZodSchema(fields.schema)) return new RunnableToolLike({\n\t\tname,\n\t\tdescription,\n\t\tschema: z.object({ input: z.string() }).transform((input) => input.input),\n\t\tbound: runnable\n\t});\n\treturn new RunnableToolLike({\n\t\tname,\n\t\tdescription,\n\t\tschema: fields.schema,\n\t\tbound: runnable\n\t});\n}\n\n//#endregion\nexport { Runnable, RunnableAssign, RunnableBinding, RunnableEach, RunnableLambda, RunnableMap, RunnableParallel, RunnablePick, RunnableRetry, RunnableSequence, RunnableToolLike, RunnableWithFallbacks, _coerceToDict, _coerceToRunnable };\n//# sourceMappingURL=base.js.map"],"names":["z.any","RunnableBinding","RunnableSequence","RunnableMap","RunnableTraceable","RunnableLambda","z.object","z.string"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.es66.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/json.js"],"sourcesContent":["//#region src/utils/json.ts\nfunction parseJsonMarkdown(s, parser = parsePartialJson) {\n\ts = s.trim();\n\tconst firstFenceIndex = s.indexOf(\"```\");\n\tif (firstFenceIndex === -1) return parser(s);\n\tlet contentAfterFence = s.substring(firstFenceIndex + 3);\n\tif (contentAfterFence.startsWith(\"json\\n\")) contentAfterFence = contentAfterFence.substring(5);\n\telse if (contentAfterFence.startsWith(\"json\")) contentAfterFence = contentAfterFence.substring(4);\n\telse if (contentAfterFence.startsWith(\"\\n\")) contentAfterFence = contentAfterFence.substring(1);\n\tconst closingFenceIndex = contentAfterFence.indexOf(\"```\");\n\tlet finalContent = contentAfterFence;\n\tif (closingFenceIndex !== -1) finalContent = contentAfterFence.substring(0, closingFenceIndex);\n\treturn parser(finalContent.trim());\n}\n/**\n* Recursive descent partial JSON parser.\n* @param s - The string to parse.\n* @returns The parsed value.\n* @throws Error if the input is a malformed JSON string.\n*/\nfunction strictParsePartialJson(s) {\n\ttry {\n\t\treturn JSON.parse(s);\n\t} catch {}\n\tconst buffer = s.trim();\n\tif (buffer.length === 0) throw new Error(\"Unexpected end of JSON input\");\n\tlet pos = 0;\n\tfunction skipWhitespace() {\n\t\twhile (pos < buffer.length && /\\s/.test(buffer[pos])) pos += 1;\n\t}\n\tfunction parseString() {\n\t\tif (buffer[pos] !== \"\\\"\") throw new Error(`Expected '\"' at position ${pos}, got '${buffer[pos]}'`);\n\t\tpos += 1;\n\t\tlet result = \"\";\n\t\tlet escaped = false;\n\t\twhile (pos < buffer.length) {\n\t\t\tconst char = buffer[pos];\n\t\t\tif (escaped) {\n\t\t\t\tif (char === \"n\") result += \"\\n\";\n\t\t\t\telse if (char === \"t\") result += \"\t\";\n\t\t\t\telse if (char === \"r\") result += \"\\r\";\n\t\t\t\telse if (char === \"\\\\\") result += \"\\\\\";\n\t\t\t\telse if (char === \"\\\"\") result += \"\\\"\";\n\t\t\t\telse if (char === \"b\") result += \"\\b\";\n\t\t\t\telse if (char === \"f\") result += \"\\f\";\n\t\t\t\telse if (char === \"/\") result += \"/\";\n\t\t\t\telse if (char === \"u\") {\n\t\t\t\t\tconst hex = buffer.substring(pos + 1, pos + 5);\n\t\t\t\t\tif (/^[0-9A-Fa-f]{0,4}$/.test(hex)) {\n\t\t\t\t\t\tif (hex.length === 4) result += String.fromCharCode(Number.parseInt(hex, 16));\n\t\t\t\t\t\telse result += `u${hex}`;\n\t\t\t\t\t\tpos += hex.length;\n\t\t\t\t\t} else throw new Error(`Invalid unicode escape sequence '\\\\u${hex}' at position ${pos}`);\n\t\t\t\t} else throw new Error(`Invalid escape sequence '\\\\${char}' at position ${pos}`);\n\t\t\t\tescaped = false;\n\t\t\t} else if (char === \"\\\\\") escaped = true;\n\t\t\telse if (char === \"\\\"\") {\n\t\t\t\tpos += 1;\n\t\t\t\treturn result;\n\t\t\t} else result += char;\n\t\t\tpos += 1;\n\t\t}\n\t\tif (escaped) result += \"\\\\\";\n\t\treturn result;\n\t}\n\tfunction parseNumber() {\n\t\tconst start = pos;\n\t\tlet numStr = \"\";\n\t\tif (buffer[pos] === \"-\") {\n\t\t\tnumStr += \"-\";\n\t\t\tpos += 1;\n\t\t}\n\t\tif (pos < buffer.length && buffer[pos] === \"0\") {\n\t\t\tnumStr += \"0\";\n\t\t\tpos += 1;\n\t\t\tif (buffer[pos] >= \"0\" && buffer[pos] <= \"9\") throw new Error(`Invalid number at position ${start}`);\n\t\t}\n\t\tif (pos < buffer.length && buffer[pos] >= \"1\" && buffer[pos] <= \"9\") while (pos < buffer.length && buffer[pos] >= \"0\" && buffer[pos] <= \"9\") {\n\t\t\tnumStr += buffer[pos];\n\t\t\tpos += 1;\n\t\t}\n\t\tif (pos < buffer.length && buffer[pos] === \".\") {\n\t\t\tnumStr += \".\";\n\t\t\tpos += 1;\n\t\t\twhile (pos < buffer.length && buffer[pos] >= \"0\" && buffer[pos] <= \"9\") {\n\t\t\t\tnumStr += buffer[pos];\n\t\t\t\tpos += 1;\n\t\t\t}\n\t\t}\n\t\tif (pos < buffer.length && (buffer[pos] === \"e\" || buffer[pos] === \"E\")) {\n\t\t\tnumStr += buffer[pos];\n\t\t\tpos += 1;\n\t\t\tif (pos < buffer.length && (buffer[pos] === \"+\" || buffer[pos] === \"-\")) {\n\t\t\t\tnumStr += buffer[pos];\n\t\t\t\tpos += 1;\n\t\t\t}\n\t\t\twhile (pos < buffer.length && buffer[pos] >= \"0\" && buffer[pos] <= \"9\") {\n\t\t\t\tnumStr += buffer[pos];\n\t\t\t\tpos += 1;\n\t\t\t}\n\t\t}\n\t\tif (numStr === \"-\") return -0;\n\t\tconst num = Number.parseFloat(numStr);\n\t\tif (Number.isNaN(num)) {\n\t\t\tpos = start;\n\t\t\tthrow new Error(`Invalid number '${numStr}' at position ${start}`);\n\t\t}\n\t\treturn num;\n\t}\n\tfunction parseValue() {\n\t\tskipWhitespace();\n\t\tif (pos >= buffer.length) throw new Error(`Unexpected end of input at position ${pos}`);\n\t\tconst char = buffer[pos];\n\t\tif (char === \"{\") return parseObject();\n\t\tif (char === \"[\") return parseArray();\n\t\tif (char === \"\\\"\") return parseString();\n\t\tif (\"null\".startsWith(buffer.substring(pos, pos + 4))) {\n\t\t\tpos += Math.min(4, buffer.length - pos);\n\t\t\treturn null;\n\t\t}\n\t\tif (\"true\".startsWith(buffer.substring(pos, pos + 4))) {\n\t\t\tpos += Math.min(4, buffer.length - pos);\n\t\t\treturn true;\n\t\t}\n\t\tif (\"false\".startsWith(buffer.substring(pos, pos + 5))) {\n\t\t\tpos += Math.min(5, buffer.length - pos);\n\t\t\treturn false;\n\t\t}\n\t\tif (char === \"-\" || char >= \"0\" && char <= \"9\") return parseNumber();\n\t\tthrow new Error(`Unexpected character '${char}' at position ${pos}`);\n\t}\n\tfunction parseArray() {\n\t\tif (buffer[pos] !== \"[\") throw new Error(`Expected '[' at position ${pos}, got '${buffer[pos]}'`);\n\t\tconst arr = [];\n\t\tpos += 1;\n\t\tskipWhitespace();\n\t\tif (pos >= buffer.length) return arr;\n\t\tif (buffer[pos] === \"]\") {\n\t\t\tpos += 1;\n\t\t\treturn arr;\n\t\t}\n\t\twhile (pos < buffer.length) {\n\t\t\tskipWhitespace();\n\t\t\tif (pos >= buffer.length) return arr;\n\t\t\tarr.push(parseValue());\n\t\t\tskipWhitespace();\n\t\t\tif (pos >= buffer.length) return arr;\n\t\t\tif (buffer[pos] === \"]\") {\n\t\t\t\tpos += 1;\n\t\t\t\treturn arr;\n\t\t\t} else if (buffer[pos] === \",\") {\n\t\t\t\tpos += 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tthrow new Error(`Expected ',' or ']' at position ${pos}, got '${buffer[pos]}'`);\n\t\t}\n\t\treturn arr;\n\t}\n\tfunction parseObject() {\n\t\tif (buffer[pos] !== \"{\") throw new Error(`Expected '{' at position ${pos}, got '${buffer[pos]}'`);\n\t\tconst obj = {};\n\t\tpos += 1;\n\t\tskipWhitespace();\n\t\tif (pos >= buffer.length) return obj;\n\t\tif (buffer[pos] === \"}\") {\n\t\t\tpos += 1;\n\t\t\treturn obj;\n\t\t}\n\t\twhile (pos < buffer.length) {\n\t\t\tskipWhitespace();\n\t\t\tif (pos >= buffer.length) return obj;\n\t\t\tconst key = parseString();\n\t\t\tskipWhitespace();\n\t\t\tif (pos >= buffer.length) return obj;\n\t\t\tif (buffer[pos] !== \":\") throw new Error(`Expected ':' at position ${pos}, got '${buffer[pos]}'`);\n\t\t\tpos += 1;\n\t\t\tskipWhitespace();\n\t\t\tif (pos >= buffer.length) return obj;\n\t\t\tobj[key] = parseValue();\n\t\t\tskipWhitespace();\n\t\t\tif (pos >= buffer.length) return obj;\n\t\t\tif (buffer[pos] === \"}\") {\n\t\t\t\tpos += 1;\n\t\t\t\treturn obj;\n\t\t\t} else if (buffer[pos] === \",\") {\n\t\t\t\tpos += 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tthrow new Error(`Expected ',' or '}' at position ${pos}, got '${buffer[pos]}'`);\n\t\t}\n\t\treturn obj;\n\t}\n\tconst value = parseValue();\n\tskipWhitespace();\n\tif (pos < buffer.length) throw new Error(`Unexpected character '${buffer[pos]}' at position ${pos}`);\n\treturn value;\n}\nfunction parsePartialJson(s) {\n\ttry {\n\t\tif (typeof s === \"undefined\") return null;\n\t\treturn strictParsePartialJson(s);\n\t} catch {\n\t\treturn null;\n\t}\n}\n\n//#endregion\nexport { parseJsonMarkdown, parsePartialJson };\n//# sourceMappingURL=json.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index.es67.js
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { ChatAnthropicTranslator } from "./index.es60.js";
|
|
2
|
+
import { ChatOpenAITranslator } from "./index.es62.js";
|
|
3
|
+
import { ChatBedrockConverseTranslator } from "./index.es77.js";
|
|
4
|
+
import { ChatDeepSeekTranslator } from "./index.es78.js";
|
|
5
|
+
import { ChatGoogleGenAITranslator } from "./index.es79.js";
|
|
6
|
+
import { ChatVertexTranslator } from "./index.es80.js";
|
|
7
|
+
import { ChatGroqTranslator } from "./index.es81.js";
|
|
8
|
+
import { ChatOllamaTranslator } from "./index.es82.js";
|
|
9
|
+
import { ChatXAITranslator } from "./index.es83.js";
|
|
10
|
+
globalThis.lc_block_translators_registry ??= /* @__PURE__ */ new Map([
|
|
11
|
+
["anthropic", ChatAnthropicTranslator],
|
|
12
|
+
["bedrock-converse", ChatBedrockConverseTranslator],
|
|
13
|
+
["deepseek", ChatDeepSeekTranslator],
|
|
14
|
+
["google-genai", ChatGoogleGenAITranslator],
|
|
15
|
+
["google-vertexai", ChatVertexTranslator],
|
|
16
|
+
["groq", ChatGroqTranslator],
|
|
17
|
+
["ollama", ChatOllamaTranslator],
|
|
18
|
+
["openai", ChatOpenAITranslator],
|
|
19
|
+
["xai", ChatXAITranslator]
|
|
20
|
+
]);
|
|
21
|
+
function getTranslator(modelProvider) {
|
|
22
|
+
return globalThis.lc_block_translators_registry.get(modelProvider);
|
|
23
|
+
}
|
|
9
24
|
export {
|
|
10
|
-
|
|
25
|
+
getTranslator
|
|
11
26
|
};
|
|
12
27
|
//# sourceMappingURL=index.es67.js.map
|
package/dist/index.es67.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es67.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/
|
|
1
|
+
{"version":3,"file":"index.es67.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/index.js"],"sourcesContent":["import { ChatAnthropicTranslator } from \"./anthropic.js\";\nimport { ChatOpenAITranslator } from \"./openai.js\";\nimport { ChatBedrockConverseTranslator } from \"./bedrock_converse.js\";\nimport { ChatDeepSeekTranslator } from \"./deepseek.js\";\nimport { ChatGoogleGenAITranslator } from \"./google_genai.js\";\nimport { ChatVertexTranslator } from \"./google_vertexai.js\";\nimport { ChatGroqTranslator } from \"./groq.js\";\nimport { ChatOllamaTranslator } from \"./ollama.js\";\nimport { ChatXAITranslator } from \"./xai.js\";\n\n//#region src/messages/block_translators/index.ts\nglobalThis.lc_block_translators_registry ??= new Map([\n\t[\"anthropic\", ChatAnthropicTranslator],\n\t[\"bedrock-converse\", ChatBedrockConverseTranslator],\n\t[\"deepseek\", ChatDeepSeekTranslator],\n\t[\"google-genai\", ChatGoogleGenAITranslator],\n\t[\"google-vertexai\", ChatVertexTranslator],\n\t[\"groq\", ChatGroqTranslator],\n\t[\"ollama\", ChatOllamaTranslator],\n\t[\"openai\", ChatOpenAITranslator],\n\t[\"xai\", ChatXAITranslator]\n]);\nfunction getTranslator(modelProvider) {\n\treturn globalThis.lc_block_translators_registry.get(modelProvider);\n}\n\n//#endregion\nexport { getTranslator };\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;;;;;AAWA,WAAW,kCAAkC,oBAAI,IAAI;AAAA,EACpD,CAAC,aAAa,uBAAuB;AAAA,EACrC,CAAC,oBAAoB,6BAA6B;AAAA,EAClD,CAAC,YAAY,sBAAsB;AAAA,EACnC,CAAC,gBAAgB,yBAAyB;AAAA,EAC1C,CAAC,mBAAmB,oBAAoB;AAAA,EACxC,CAAC,QAAQ,kBAAkB;AAAA,EAC3B,CAAC,UAAU,oBAAoB;AAAA,EAC/B,CAAC,UAAU,oBAAoB;AAAA,EAC/B,CAAC,OAAO,iBAAiB;AAC1B,CAAC;AACD,SAAS,cAAc,eAAe;AACrC,SAAO,WAAW,8BAA8B,IAAI,aAAa;AAClE;","x_google_ignoreList":[0]}
|