Skip to content

Commit 2999c96

Browse files
chore: add load method to sdk server
1 parent 657256e commit 2999c96

File tree

5 files changed

+101
-127
lines changed

5 files changed

+101
-127
lines changed

pkg/repos/runtimes/default.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var Runtimes = []repos.Runtime{
2222
Version: "3.10",
2323
},
2424
&node.Runtime{
25-
Version: "21",
25+
Version: "22",
2626
Default: true,
2727
},
2828
&golang.Runtime{
Lines changed: 52 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,117 +1,58 @@
11
-----BEGIN PGP SIGNED MESSAGE-----
22
Hash: SHA256
33

4-
43a881788549e1b3425eb5f2b92608f438f146e08213de09c5bd5ff841cae7ae node-v20.11.1-aix-ppc64.tar.gz
5-
3f8e77b775372c0b27d2b85ce899d80339691f480e64dde43d4eb01504a58679 node-v20.11.1-arm64.msi
6-
e0065c61f340e85106a99c4b54746c5cee09d59b08c5712f67f99e92aa44995d node-v20.11.1-darwin-arm64.tar.gz
7-
fd771bf3881733bfc0622128918ae6baf2ed1178146538a53c30ac2f7006af5b node-v20.11.1-darwin-arm64.tar.xz
8-
c52e7fb0709dbe63a4cbe08ac8af3479188692937a7bd8e776e0eedfa33bb848 node-v20.11.1-darwin-x64.tar.gz
9-
ed69f1f300beb75fb4cad45d96aacd141c3ddca03b6d77c76b42cb258202363d node-v20.11.1-darwin-x64.tar.xz
10-
0aa42c91b441e945ff43bd3a837759c58b436de57dcd033d02e5cbcd2fba1f87 node-v20.11.1-headers.tar.gz
11-
edce238817acf5adce3123366b55304aff2a1f0849231d1b49f42370e454b6f8 node-v20.11.1-headers.tar.xz
12-
e34ab2fc2726b4abd896bcbff0250e9b2da737cbd9d24267518a802ed0606f3b node-v20.11.1-linux-arm64.tar.gz
13-
c957f29eb4e341903520caf362534f0acd1db7be79c502ae8e283994eed07fe1 node-v20.11.1-linux-arm64.tar.xz
14-
e42791f76ece283c7a4b97fbf716da72c5128c54a9779f10f03ae74a4bcfb8f6 node-v20.11.1-linux-armv7l.tar.gz
15-
28e0120d2d150a8f41717899d33167b8b32053778665583d49ff971bfd188d1b node-v20.11.1-linux-armv7l.tar.xz
16-
9823305ac3a66925a9b61d8032f6bbb4c3e33c28e7f957ebb27e49732feffb23 node-v20.11.1-linux-ppc64le.tar.gz
17-
51343cacf5cdf5c4b5e93e919d19dd373d6ef43d5f2c666eae299f26e31d08b5 node-v20.11.1-linux-ppc64le.tar.xz
18-
4c66b2f247fdd8720853321526d7cda483018fcb32014b75c30f3a54ecacaea7 node-v20.11.1-linux-s390x.tar.gz
19-
b32616b705cd0ddbb230b95c693e3d7a37becc2ced9bcadea8dc824cceed6be0 node-v20.11.1-linux-s390x.tar.xz
20-
bf3a779bef19452da90fb88358ec2c57e0d2f882839b20dc6afc297b6aafc0d7 node-v20.11.1-linux-x64.tar.gz
21-
d8dab549b09672b03356aa2257699f3de3b58c96e74eb26a8b495fbdc9cf6fbe node-v20.11.1-linux-x64.tar.xz
22-
f1cd449fcbeb1b948e8498cb8edd9655fa319d109a7f4c5bd96a9b122b91538a node-v20.11.1-win-arm64.7z
23-
e85461ec124956a2853c4ee6e13c4f4889d63c88beb3d530c1ee0c4b51dc10e7 node-v20.11.1-win-arm64.zip
24-
fb9b5348259988a562a48eed7349e7e716c0bec78d98ad0a336b2993a8b3bf34 node-v20.11.1-win-x64.7z
25-
bc032628d77d206ffa7f133518a6225a9c5d6d9210ead30d67e294ff37044bda node-v20.11.1-win-x64.zip
26-
c2b1863d8979546804a39fc63d0a9bc9c6e49cb2f6c9d1e52844a24629b24765 node-v20.11.1-win-x86.7z
27-
b98e95f78416d1359b647cfa09ba2a48b76d41b56a776df822bf36ffe8e76a2d node-v20.11.1-win-x86.zip
28-
c54f5f7e2416e826fd84e878f28e3b53363ae9c3f60a140af4434b2453b5ae89 node-v20.11.1-x64.msi
29-
63e2aed4dabb96eed6903a3974e006d3c29c218472aac60ae3c3c7de00df13b1 node-v20.11.1-x86.msi
30-
c46019a095a1549d000e85da13f17972a448e0be5854a51786ecccde7278a012 node-v20.11.1.pkg
31-
4af1ba6ea848cc05908b8a62b02fb27684dd52b2a7988ee82b0cfa72deb90b94 node-v20.11.1.tar.gz
32-
77813edbf3f7f16d2d35d3353443dee4e61d5ee84d9e3138c7538a3c0ca5209e node-v20.11.1.tar.xz
33-
a5a9d30a8f7d56e00ccb27c1a7d24c8d0bc96a2689ebba8eb7527698793496f1 win-arm64/node.exe
34-
93529170cebe57c0f4830a4cc6a261b6cc9bcf0cd8b3e88ac4995a5015031d79 win-arm64/node.lib
35-
c14c6e927406b8683cbfb8a67ca4c8fd5093ca7812b5b1627e3d6a53d3674565 win-arm64/node_pdb.7z
36-
68034cd09d8dfaa755d1b280da13e20388cc486ac57b037b3e11dfe2d6b74284 win-arm64/node_pdb.zip
37-
bc585910690318aaebe3c57669cb83ca9d1e5791efd63195e238f54686e6c2ec win-x64/node.exe
38-
53a982d490cb9fcc4b231a8b95147de423b36186bc6f4ba5697b20117fdcbd5d win-x64/node.lib
39-
ccac9f2f5219ed858aeddb306d6493478ba9675c7cbf009e83742437d6752c4f win-x64/node_pdb.7z
40-
bec5da4035c84580843978a59ef9bcc1c0eaca881cf9e1c94e63a1862cf14421 win-x64/node_pdb.zip
41-
3829137e062b1e2eb9947ef05e4b717ae578a8fce1c5c60fe4f6ae7ef2ec0240 win-x86/node.exe
42-
c5321bb65dcecb3989f9b8f6ec56369c16627ca4bade0c78afb6b88f7dde50e4 win-x86/node.lib
43-
20ca60ced1fc21f15ea952b4406aec6bde39d20eab11cf042040628841b2249e win-x86/node_pdb.7z
44-
bef05cebedce5949ae35e87e7d4789c16fa73caf478483fcf92e5dbb9ba5d774 win-x86/node_pdb.zip
4+
44b711d9e66224e7dc684c0de1d92bcac8fedbb64cb0b18768fd483967d5ea7c node-v22.6.0-aix-ppc64.tar.gz
5+
ffe2bb889a6b49d0d23c1357723d482c8848bb530fcbe967f4b3c1105994b7a7 node-v22.6.0-arm64.msi
6+
9ea60766807cd3c3a3ad6ad419f98918d634a60fe8dea5b9c07507ed0f176d4c node-v22.6.0-darwin-arm64.tar.gz
7+
b7cd7a999705db5c1fa90496000f3fe5be58abcdb3d704003d64d7565ad53b25 node-v22.6.0-darwin-arm64.tar.xz
8+
8766c5968ca22d20fc6237c54c7c5d12ef12e15940d6119a79144ccb163ea737 node-v22.6.0-darwin-x64.tar.gz
9+
0bc3362c63cf316be9e85f2fddf9624e194d73b9d43369b883739a78c2a0cb75 node-v22.6.0-darwin-x64.tar.xz
10+
43de81f4034a9e84950e8c13dc7404717539fea653e3945a4ecd4b55ff5128bc node-v22.6.0-headers.tar.gz
11+
df83842c4ffd3871b7510ec23ea813b1546e0cf59bc83ba3ae88d527ecf035fc node-v22.6.0-headers.tar.xz
12+
c6c7ee62de3637401c15df9a022afaa248d236d59ceca8c188944cf97d0be372 node-v22.6.0-linux-arm64.tar.gz
13+
0053ee0426c4daaa65c44f2cef87be45135001c3145cfb840aa1d0e6f2619610 node-v22.6.0-linux-arm64.tar.xz
14+
934990b8f2c66853ccefb6a0aa7e7534d9fcc3d5b79cb8034e4fd3120b5c2ae6 node-v22.6.0-linux-armv7l.tar.gz
15+
36e349bec393c37f8ab16667e94ef8356db18d97f76e2a88b99d641a0c1c7144 node-v22.6.0-linux-armv7l.tar.xz
16+
fd462a633976c680dc37d822c0d820166ca8e0c2aa0257acbf6b04ffcba47a01 node-v22.6.0-linux-ppc64le.tar.gz
17+
6d35a07f3623ca6c0787ce849485596cf5524b723895af6b286ccd5fb4622ae4 node-v22.6.0-linux-ppc64le.tar.xz
18+
b623fdd2e04ec0a38c5676dc24f9d8e556df4407649f71fef3b70a9be15e340a node-v22.6.0-linux-s390x.tar.gz
19+
323f2d94506e83dd9223d3f2157f83aa90ee28722f8bc7ce26967f8af1adffd5 node-v22.6.0-linux-s390x.tar.xz
20+
f2f4ccbcbc0a443e5fadebd1149a22f96087ec09cef52ff343a15ee835206d96 node-v22.6.0-linux-x64.tar.gz
21+
acbbe539edc33209bb3e1b25f7545b5ca5d70e6256ed8318e1ec1e41e7b35703 node-v22.6.0-linux-x64.tar.xz
22+
2c71aa9eaffb1e7c567fa4451fe8a09691518ce5745a0cce87ddc24dc81b1751 node-v22.6.0.pkg
23+
af4a8747651385515163db5da0d2e217da15cf7c832672b234128ed5118f086d node-v22.6.0.tar.gz
24+
37259d618d5565ca55acc2585045c7e1c5b9965a3d4eb44c0a237fdae84b9d44 node-v22.6.0.tar.xz
25+
c17433d0efdd6ca8e14af168b6301a992d2bfeeab83c1fb11efa0c8e7f275d91 node-v22.6.0-win-arm64.7z
26+
86d148c83f85d7dc23b85da6d8152a74ad1e77cab987df839d7b29d33d653ff2 node-v22.6.0-win-arm64.zip
27+
3d280cd238e4010b862f5668ea84741d17e014c834ba2e12616a0c3effdda2eb node-v22.6.0-win-x64.7z
28+
1fdb0b8e59c98157ba927d51ef7eb050f9459beddc64ebc5a8897b90fd1f46f6 node-v22.6.0-win-x64.zip
29+
d6da737a1029c7ca9bc507727b841bf37dde104e5bce6e9e9d3fdf1c256abf3e node-v22.6.0-win-x86.7z
30+
62ed8a8ab8cbba4d9a54a070047e025cc64a084ee8abd8557a67e655837ef83b node-v22.6.0-win-x86.zip
31+
63ad62a983dac5e1648f84093a9c7175c736b2186bca6c7be7d515d4a2fad133 node-v22.6.0-x64.msi
32+
4d34a59794bec64ab4f5c012656b877bb0d14634b47e86ba3ccc908e934df1f8 node-v22.6.0-x86.msi
33+
9a52e1de0c7b3cbc703f70bde3704444c9e1edd58303cf4322a8811212e5f500 win-arm64/node.exe
34+
30e63a6726cda6539eeb37c311adf915bccd5c1462723b97a6c07ac91e8ae728 win-arm64/node.lib
35+
13b325deec12ebe20166bfd5809426027b12b1a5791ea05594b0043378ce403a win-arm64/node_pdb.7z
36+
ceeac02e9ab0d77bf1647c1c51da609539253a1ee2ea30c7c9897146dbf887e1 win-arm64/node_pdb.zip
37+
59ceb9e78a1db169b4e05da49a4c7268c31ac994db7a4100cab76bb2897c82d5 win-x64/node.exe
38+
c4d08d45267da3625a30730bf5c8e41518f25d9809179feb267f1b393f5c5f05 win-x64/node.lib
39+
d102fe1ff9269e19ca0aeeea7a91557c3fcaed747d46f2a71ad487b418cf2cd6 win-x64/node_pdb.7z
40+
c2a89466ed73c2466709d52f25f9216b7d585a01382920f0108458b6b00c1c5d win-x64/node_pdb.zip
41+
671272281949e32ce8cf38eb7291cf5e664d608a8c200a21658eb6e130183e6f win-x86/node.exe
42+
fc3bf3c1e561da1e1c152be9aa5ed1bce8d263a5124841a4ba41ebc37c727f3e win-x86/node.lib
43+
f6747bdb45fade9d9385e65e9dffcd959bc891c5d98754f997fe347ee0c34ac4 win-x86/node_pdb.7z
44+
53d3bf976fbfb1cea1635dd8975f5d9b34342735d5e03d9850ddfca065b8ce33 win-x86/node_pdb.zip
4545
-----BEGIN PGP SIGNATURE-----
4646

47-
iQGzBAEBCAAdFiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmXM+TcACgkQi+q0389V
48-
XvQl3AwAqqm2uBMDzd+BlR1sG7y/eUtUYPVdwmCh0DeFXPHxuaIbFf0PGMEgcV8u
49-
kn3OBF4pnSCPZNbJYJsLO1S+b/5Vk+Vlkq1WkOxqQHUHmM9GcJUuShadl0YaDNen
50-
WXXMoYKWqMRJ6fQ3tRRh+vbMSXtsLqXT8TMVJq+Qb7a7yj4QRjw/Dd+8uKGGIhBY
51-
U04HWsz33RJLu6AUnhF03eO1N8E1V48JptklDx5ZkY8GYa3F6jQsFld+jhmkZ9tg
52-
4q9NDNijVpj56UsUhLAYD0J9IKS18tvQxNrKmBGUSZjFOByVhbUdLXnSMtW1i1U9
53-
cYhP6Q5wg/fnjqCfQ90TauoJZOblKIL/PHlf6cQGPrrRa1bz3xGyCAIve5KFhLxf
54-
Vfj1ctk2ktzmuNhjAu5G/1VALQUNpiTm4Yz433JpoMMZ3mTHN+fuALOX4TQbdLRz
55-
HKphTz02436348XC9bNz2cvjm74cy9fqwjQ/y84AmxiTJMFPg0XqICg4tu9rd49d
56-
8FJc4TLZ
57-
=r/CD
58-
-----END PGP SIGNATURE-----
59-
60-
-----BEGIN PGP SIGNED MESSAGE-----
61-
Hash: SHA256
62-
63-
c31d5b60c4a284c6855bd468d4aae4436a16b351362b2971d3c0db2a471d3f24 node-v21.7.0-aix-ppc64.tar.gz
64-
7d7dc37aa30b6dbb52d698d01cfed1d99056c82396eadd41a49fc55a873c423d node-v21.7.0-arm64.msi
65-
f48ad51cf3c2814bbf61c8c26efd810e5e22dcac980786fd7ac5b54365233d2c node-v21.7.0-darwin-arm64.tar.gz
66-
0805239d8a7402dae49e0033b7ad8208fed498dbeee9a3194863e52f6f3c6d7f node-v21.7.0-darwin-arm64.tar.xz
67-
3f81adca80b523b413e26f03f855f4a2ae52d9af20f0cda2e259dd26a0608607 node-v21.7.0-darwin-x64.tar.gz
68-
6a755416292854f2be38e74704ccf09edeba247718e9f047f5e1939b0dba17bd node-v21.7.0-darwin-x64.tar.xz
69-
628d9e4f866e3828b77ce812dc99f33d3e7c673d0c499f13eadff6fa6ccb4383 node-v21.7.0-headers.tar.gz
70-
627d6552d2120660a51f74fff0d40573f4a35d8545462250d30592ce0ba4eec7 node-v21.7.0-headers.tar.xz
71-
520a3e5c83a05a782b1f4959f150c2fdc03e2ea056e855ef6bbb74f6ccf7aa7d node-v21.7.0-linux-arm64.tar.gz
72-
73ce1e4e956532e0916fc7014f5b649573bd2b5870fef5cfc26cc42f58358ae7 node-v21.7.0-linux-arm64.tar.xz
73-
723abb32135ad4baa6e9671447a72f5c9a5bfc681fc540b0e4864e965171b6ed node-v21.7.0-linux-armv7l.tar.gz
74-
8a367a3bf667f0bb3abb9e8121326911d47a31886419ad052d5a52d8c6531d9d node-v21.7.0-linux-armv7l.tar.xz
75-
c2290cb35b11ee2b0f0ae34ad3c8372652688ff2dc3d9a89ada46c2b84ea5dda node-v21.7.0-linux-ppc64le.tar.gz
76-
b85348211a4d195de2f850a17cdec77aedc8fc1c402864b2bc3501608e6c9c47 node-v21.7.0-linux-ppc64le.tar.xz
77-
90b8678ed113950613edeae5eaf298cf795c72005fac6ffd9b7fbb90ddd86738 node-v21.7.0-linux-s390x.tar.gz
78-
99a09f4c790f3210a6d26032bf69713ba199cf2e73af43e04b1b1d9bd1c8db76 node-v21.7.0-linux-s390x.tar.xz
79-
0fce039e2b6af00766492127a49f959ae92ed22fede4c49e9a8c2543aadbd6e2 node-v21.7.0-linux-x64.tar.gz
80-
68510c3851133a21c6a6f9940e58c5bc8fed39f1d91a08e34c5070dd0615fef1 node-v21.7.0-linux-x64.tar.xz
81-
d680d5c3d0b2476a97d11b30cbbdaf1d7f92ffd1cc89e5c640782a6b52480666 node-v21.7.0-win-arm64.7z
82-
11b11b9a3f2db7b5076cf16655e05cd63dc3d8843cd4836ecb12e11315f03441 node-v21.7.0-win-arm64.zip
83-
31c8b4721f37e30ca8e2131a4cb848fc7347f67bf87618e82959b58481f17bc4 node-v21.7.0-win-x64.7z
84-
204de88f4073b08ae3dbe4c412b071eee565fc681e163be205d5cc88065f0322 node-v21.7.0-win-x64.zip
85-
b17ef0c5557e61610774cae5beb0f877699ab419c4672e9c6e3bb3da3d571ed1 node-v21.7.0-win-x86.7z
86-
6aba3fe2258d5c0c40a89e81dfe90113a67489f2a67fd05b7f216b63b4c7bb02 node-v21.7.0-win-x86.zip
87-
512945cf8816e1e906143ea2ee6816f8744a3d114ea38f3540c3ebe685fe3e3a node-v21.7.0-x64.msi
88-
4bedb6069c94a71fd6f0b8fbea280468d5ecdcf209eef6da1a45808e8b15cba6 node-v21.7.0-x86.msi
89-
ccac99782e587c6090b6ad82979210fa0c352322636a6cf290d37eb41152d0b5 node-v21.7.0.pkg
90-
26d6b600e1076f132d4175a90ddc1a709263e75d81967300aa1ffbd86103b991 node-v21.7.0.tar.gz
91-
e41eefe1e59624ee7f312c38f8f7dfc11595641acb2293d21176f03d2763e9d4 node-v21.7.0.tar.xz
92-
25511d1e05d7d0b049945c5ef1cf2a4daa5d6ad16692ccd2c1399142a1c57a65 win-arm64/node.exe
93-
7920932f7be355dbf4568492ab7d104fc059f689ba1a46ac0d6568884c8d201a win-arm64/node.lib
94-
40c423a2b126fc5b6858f8617f0f8537fd8f8d2fa73a5c918607f3ccd386f8c9 win-arm64/node_pdb.7z
95-
dec9eaa91a431ea0f3c243605f0556dbe6459df5c04c10df7935d678a6b3fca4 win-arm64/node_pdb.zip
96-
c486fe72a3663379105538e886ef9d2deacad1deaa64b338e570cb086be592d3 win-x64/node.exe
97-
96d09c2055c2f252122c86b65d2aabd5f90b1a075844f24bf8bcdbab05baf53e win-x64/node.lib
98-
08990dd6bcce80710d59ef76cd74ab98b5bed36b0d2584ca3acbc029f92db4fc win-x64/node_pdb.7z
99-
1a27a25c92f6339b3aa77588063cca537af389aee26bfdf1d0ef505d790e63a3 win-x64/node_pdb.zip
100-
4aaa5b3a95ee4ab932a80b9708c31662a9c4a99d19fea7cb1f7b0ff79d8399ed win-x86/node.exe
101-
6e2502e84c3a0e2da643f6399b59381ade5b525f544a5bcabae923188b8f9998 win-x86/node.lib
102-
d0cd5494364039f558c76d4fc7a1db69739149873e10a5200fb9e2a0ab12fe10 win-x86/node_pdb.7z
103-
354031f3f9576733ebeeccbcafcc691c8326427153a48978ff5cd6f2c8ef5d36 win-x86/node_pdb.zip
104-
-----BEGIN PGP SIGNATURE-----
105-
106-
iQGzBAEBCAAdFiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmXouAIACgkQi+q0389V
107-
XvRp+wv+IPHjBUmVC6YzAxFhRD4GHVUgjckfSbP2jH/acre1mYgm9LJ//7l2GaJy
108-
oEOO85WaHgaKCHCdv9GBc3dDbbt1n9J2IGmBqcdE8e9cRko5qhBoVUvW7p7Ki7ci
109-
nAq5DS3YkpWAocsY/k+LyR0Ky8mW466ARAucTp9kuZmxB2FW53B0bYK57++1qGuo
110-
tr9kJPoGYQB0cUiTSwTaMbOIdl/4CL+a9J7mIrpaDVW5g3PnNy5y1vgDvtuU7Qcn
111-
uEucciBlOn0Ib4mBnky+NX1ThL9WNwLjaivxdioFgc0E4sMwf0CjF3vMUuEvI8qi
112-
PJ5lYndsHI4fdh1SbcgoFNZzTkMZbTr9xcZIGLzLkMX8r+ztLTiFtiLIUSQq0jgm
113-
fqKQghuDN2SVi7WW4KAa7K1285zmV7L27N9mnNWH4ujTqCW73Wdo2XkG/TwM3yEC
114-
5o+YookAV6RHT1X6RPJ8rQaC0BrBgpm/MQH1kvH4vUyF2HRVZ2ZgEYorvKtOwf9D
115-
f7v3IC9J
116-
=/YNz
47+
iQGzBAEBCAAdFiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmayWBYACgkQi+q0389V
48+
XvQfbAv/UwbbW/cBnjm7cxjtF5Wtkf1mj3vnB0UMUhrIRLG9uIUNtTICFfK0+xoA
49+
AP3O5KVunG73/6yk6TSq7hoeUzcVYyM1mwkl8S68/MwkWAVAKXFE3zjiTN9rHEDB
50+
m/7xZUc5j2I/rR3MRY1cLLW8Hf/LRvuIEQ8Z9yL/91LG/m357MjsUK1Dx/lPhhiS
51+
jkdurgzE5W+fqm0kW8/J9HuY29bAyEWxM5W67mLNeeDp76LsEpceoMQZ54WzVOmg
52+
6WaLV4KOfe6moThE5Qw6NqX7SiUhhfgiOoEZWo0ilu8jeVPlMVeAZ4byMBHY/gld
53+
dahLEDbgWu5UIpiifoRHbjm3s9LsToxhQEkBAXCPRDraDzkleQSTr+spcjKDW2CR
54+
aPEXlZKzdNQQQpUH++eOD7RzGmg2S7L/qvafYyr5Laq3qLMMsqfP46EGJoL6Ge9z
55+
SUjLvuszG85zannizqbtOzwS6v8zDEfcjiFMn19xelrTeKuPfoAF578z2VS+8Y5Z
56+
Acyx0lcb
57+
=8r7j
11758
-----END PGP SIGNATURE-----

pkg/repos/runtimes/node/node_test.go

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,7 @@ func firstPath(s []string) string {
2626

2727
func TestRuntime(t *testing.T) {
2828
r := Runtime{
29-
Version: "20",
30-
}
31-
32-
s, err := r.Setup(context.Background(), types.Tool{}, testCacheHome, "testdata", os.Environ())
33-
require.NoError(t, err)
34-
_, err = os.Stat(filepath.Join(firstPath(s), "node.exe"))
35-
if errors.Is(err, fs.ErrNotExist) {
36-
_, err = os.Stat(filepath.Join(firstPath(s), "node"))
37-
}
38-
require.NoError(t, err)
39-
}
40-
41-
func TestRuntime21(t *testing.T) {
42-
r := Runtime{
43-
Version: "21",
29+
Version: "22",
4430
}
4531

4632
s, err := r.Setup(context.Background(), types.Tool{}, testCacheHome, "testdata", os.Environ())

pkg/sdkserver/routes.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ func (s *server) addRoutes(mux *http.ServeMux) {
5050
mux.HandleFunc("POST /run", s.execHandler)
5151
mux.HandleFunc("POST /evaluate", s.execHandler)
5252

53+
mux.HandleFunc("POST /load", s.load)
54+
5355
mux.HandleFunc("POST /parse", s.parse)
5456
mux.HandleFunc("POST /fmt", s.fmtDocument)
5557

@@ -212,6 +214,42 @@ func (s *server) execHandler(w http.ResponseWriter, r *http.Request) {
212214
s.execAndStream(ctx, programLoader, logger, w, opts, reqObject.ChatState, reqObject.Input, reqObject.SubTool, def)
213215
}
214216

217+
// load will load the file and return the corresponding Program.
218+
func (s *server) load(w http.ResponseWriter, r *http.Request) {
219+
logger := gcontext.GetLogger(r.Context())
220+
reqObject := new(loadRequest)
221+
if err := json.NewDecoder(r.Body).Decode(reqObject); err != nil {
222+
writeError(logger, w, http.StatusBadRequest, fmt.Errorf("invalid request body: %w", err))
223+
return
224+
}
225+
226+
logger.Debugf("parsing file: file=%s, content=%s", reqObject.File, reqObject.Content)
227+
228+
var (
229+
prg types.Program
230+
err error
231+
cache = s.client.Cache
232+
)
233+
234+
if reqObject.DisableCache {
235+
cache = nil
236+
}
237+
238+
if reqObject.Content != "" {
239+
prg, err = loader.ProgramFromSource(r.Context(), reqObject.Content, reqObject.SubTool, loader.Options{Cache: cache})
240+
} else if reqObject.File != "" {
241+
prg, err = loader.Program(r.Context(), reqObject.File, reqObject.SubTool, loader.Options{Cache: cache})
242+
} else {
243+
prg, err = loader.ProgramFromSource(r.Context(), reqObject.ToolDefs.String(), reqObject.SubTool, loader.Options{Cache: cache})
244+
}
245+
if err != nil {
246+
writeError(logger, w, http.StatusInternalServerError, fmt.Errorf("failed to load program: %w", err))
247+
return
248+
}
249+
250+
writeResponse(logger, w, map[string]any{"stdout": map[string]any{"program": prg}})
251+
}
252+
215253
// parse will parse the file and return the corresponding Document.
216254
func (s *server) parse(w http.ResponseWriter, r *http.Request) {
217255
logger := gcontext.GetLogger(r.Context())

pkg/sdkserver/types.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,15 @@ func (f *file) String() string {
8282
return f.File
8383
}
8484

85+
type loadRequest struct {
86+
content `json:",inline"`
87+
88+
ToolDefs toolDefs `json:"toolDefs,inline"`
89+
DisableCache bool `json:"disableCache"`
90+
SubTool string `json:"subTool,omitempty"`
91+
File string `json:"file"`
92+
}
93+
8594
type parseRequest struct {
8695
parser.Options `json:",inline"`
8796
content `json:",inline"`

0 commit comments

Comments
 (0)