@fastino-ai/pioneer-cli 0.1.0 → 0.2.1
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/.claude/settings.local.json +11 -0
- package/README.md +93 -8
- package/bun.lock +82 -0
- package/cache/cache.db +0 -0
- package/cache/cache.db-shm +0 -0
- package/cache/cache.db-wal +0 -0
- package/datasets/Medical_NER_Dataset.json +2609 -0
- package/datasets/ner-dataset.json +2593 -0
- package/datasets/test-remote.json +41 -0
- package/datasets/test-warning.json +49 -0
- package/fastino-ai-pioneer-cli-0.2.0.tgz +0 -0
- package/ner_dataset.json +111 -0
- package/package.json +6 -3
- package/src/agent/Agent.ts +342 -0
- package/src/agent/BudgetManager.ts +167 -0
- package/src/agent/FileResolver.ts +321 -0
- package/src/agent/LLMClient.ts +435 -0
- package/src/agent/ToolRegistry.ts +97 -0
- package/src/agent/index.ts +15 -0
- package/src/agent/types.ts +84 -0
- package/src/api.ts +250 -0
- package/src/chat/ChatApp.tsx +738 -0
- package/src/chat/index.ts +7 -0
- package/src/config.ts +185 -3
- package/src/evolution/EvalRunner.ts +301 -0
- package/src/evolution/EvolutionEngine.ts +319 -0
- package/src/evolution/FeedbackCollector.ts +197 -0
- package/src/evolution/ModelTrainer.ts +371 -0
- package/src/evolution/index.ts +18 -0
- package/src/evolution/types.ts +110 -0
- package/src/index.tsx +664 -44
- package/src/tools/bash.ts +184 -0
- package/src/tools/filesystem.ts +444 -0
- package/src/tools/index.ts +29 -0
- package/src/tools/modal.ts +269 -0
- package/src/tools/sandbox.ts +310 -0
- package/src/tools/training.ts +443 -0
- package/src/tools/wandb.ts +348 -0
- package/workspaces/0-skinny-mink-of-management/input/private/test.csv +100 -0
- package/workspaces/0-skinny-mink-of-management/input/public/description.md +70 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/10.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/100.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1000.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1001.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1002.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1003.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1004.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1005.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1006.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1007.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/101.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1010.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1011.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1013.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1014.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1016.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1017.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1019.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1021.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1023.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1024.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1025.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1027.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/103.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1030.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1031.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1032.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1034.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1036.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1037.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1039.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1040.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1041.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1042.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1046.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1048.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1049.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1051.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1052.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1056.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1059.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/106.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1061.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1062.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1065.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1066.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/107.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1072.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1073.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1076.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1077.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/108.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1080.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1081.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1083.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1085.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1087.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1088.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1089.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/109.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1090.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1093.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1094.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1095.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1096.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1097.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1098.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/11.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1100.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1101.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1110.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1112.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1113.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1117.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1118.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1119.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1120.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1121.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1123.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1124.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1125.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1128.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1130.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1131.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1132.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1134.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1135.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1136.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1142.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1144.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1145.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1147.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1148.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/115.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1152.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1153.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1154.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1156.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1157.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1159.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/116.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1160.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1163.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1165.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1166.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1167.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1168.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1169.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1170.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1171.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1172.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1173.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1174.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1175.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1176.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1179.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/118.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1180.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1182.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1184.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1186.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1187.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1194.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1196.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1197.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1198.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/120.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1200.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1201.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1202.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1205.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1206.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1208.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1210.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1211.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1213.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1216.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1217.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1218.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1219.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/122.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1220.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1221.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1222.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1223.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1225.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1226.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1228.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1229.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1231.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1232.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1235.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1236.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1238.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1239.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/124.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1240.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1242.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1243.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1244.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1245.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1249.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1250.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1251.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1253.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1254.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1255.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1256.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1257.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1258.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1262.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1263.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1265.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1268.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1269.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/127.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1270.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1271.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1273.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1275.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1276.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1277.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1278.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1281.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1282.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1283.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1284.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1286.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1287.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1289.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/129.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1291.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1292.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1294.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1296.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1299.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/130.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1300.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1301.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1302.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1305.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1308.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1309.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1310.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1311.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1312.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1317.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1319.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/132.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1320.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1322.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1323.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1324.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1325.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1326.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1327.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1328.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1329.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/133.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1330.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1335.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1337.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1339.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/134.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1340.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1341.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1342.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1344.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1345.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1346.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1347.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1348.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1349.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1350.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1352.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1353.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1355.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1356.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1358.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1359.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1360.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1365.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1366.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1367.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1370.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1372.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1373.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1374.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1375.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1377.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1378.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1379.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1380.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1381.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1384.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1386.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1388.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/139.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1390.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1391.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1392.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1393.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1394.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1395.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1396.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1398.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1399.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/14.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/140.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1402.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1403.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1405.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1408.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1410.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1411.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1413.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1414.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1417.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1419.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/142.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1420.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1423.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1424.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1425.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/143.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1431.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1432.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1435.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1436.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1438.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1440.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1441.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1442.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1443.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1444.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1446.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1448.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1449.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/145.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1450.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1452.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1454.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1457.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1459.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/146.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1460.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1461.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1463.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1467.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1468.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1469.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1471.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1472.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1473.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1474.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1475.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1476.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1477.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1479.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/148.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1480.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1482.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1483.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1488.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/149.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1491.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1492.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1494.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1496.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1499.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/15.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1500.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1501.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1502.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1504.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1505.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1506.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1507.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1508.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1509.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1511.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1512.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1514.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1515.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1516.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1518.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1519.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/152.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1520.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1521.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1523.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1524.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1525.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1527.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1529.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/153.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1530.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1531.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1532.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1536.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1538.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1539.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1541.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1543.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1544.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1545.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1547.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1548.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1549.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/155.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1550.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1551.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1552.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1554.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1555.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1556.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1557.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1559.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1561.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1562.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1563.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1566.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1568.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1569.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1570.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1571.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1572.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1574.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1575.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1578.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1581.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1582.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/1584.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/160.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/163.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/164.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/165.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/166.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/167.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/168.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/169.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/17.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/171.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/173.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/175.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/178.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/179.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/18.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/183.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/186.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/188.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/189.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/190.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/194.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/196.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/198.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/199.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/2.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/20.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/201.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/202.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/203.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/204.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/206.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/21.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/211.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/212.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/214.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/215.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/216.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/217.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/218.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/219.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/22.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/224.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/225.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/227.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/228.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/231.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/233.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/235.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/237.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/238.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/239.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/240.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/241.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/242.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/243.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/245.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/246.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/247.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/248.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/249.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/25.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/252.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/253.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/256.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/257.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/258.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/259.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/26.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/260.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/262.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/263.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/265.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/267.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/268.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/269.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/27.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/270.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/273.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/275.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/278.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/280.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/282.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/283.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/286.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/288.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/289.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/29.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/290.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/291.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/294.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/298.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/3.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/30.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/302.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/303.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/304.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/306.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/307.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/309.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/31.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/310.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/311.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/314.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/315.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/317.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/319.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/32.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/321.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/322.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/323.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/324.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/325.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/326.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/327.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/328.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/329.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/330.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/331.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/333.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/334.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/335.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/336.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/338.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/339.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/34.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/340.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/341.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/342.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/344.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/345.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/348.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/349.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/35.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/350.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/354.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/355.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/356.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/357.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/358.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/360.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/362.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/363.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/364.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/365.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/366.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/367.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/369.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/37.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/371.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/374.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/375.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/376.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/377.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/379.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/38.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/380.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/382.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/383.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/386.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/387.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/388.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/389.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/390.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/392.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/393.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/394.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/396.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/397.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/398.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/40.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/404.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/408.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/409.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/410.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/411.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/412.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/413.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/415.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/416.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/417.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/418.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/419.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/42.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/420.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/423.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/425.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/426.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/427.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/428.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/43.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/430.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/431.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/433.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/435.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/436.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/437.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/438.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/440.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/443.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/444.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/445.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/446.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/449.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/45.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/450.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/451.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/452.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/454.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/455.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/456.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/458.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/459.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/460.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/461.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/462.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/463.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/464.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/466.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/467.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/468.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/469.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/470.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/475.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/478.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/48.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/481.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/482.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/485.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/487.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/488.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/489.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/49.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/490.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/491.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/492.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/493.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/494.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/496.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/497.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/498.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/499.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/5.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/50.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/501.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/502.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/505.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/506.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/508.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/510.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/511.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/513.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/514.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/516.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/517.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/519.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/520.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/521.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/522.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/523.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/524.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/528.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/530.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/532.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/535.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/538.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/539.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/54.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/542.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/543.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/545.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/547.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/548.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/55.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/550.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/551.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/552.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/553.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/556.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/558.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/559.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/56.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/561.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/562.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/563.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/564.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/566.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/568.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/569.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/570.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/571.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/572.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/573.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/576.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/58.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/581.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/582.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/585.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/588.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/589.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/592.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/593.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/595.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/596.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/597.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/598.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/6.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/60.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/600.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/601.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/603.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/605.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/606.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/609.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/61.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/610.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/614.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/615.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/616.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/618.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/619.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/620.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/621.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/622.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/623.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/628.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/629.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/63.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/630.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/631.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/632.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/633.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/634.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/635.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/636.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/637.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/64.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/641.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/642.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/645.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/646.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/647.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/649.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/651.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/652.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/654.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/656.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/657.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/66.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/660.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/661.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/662.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/663.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/664.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/667.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/669.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/67.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/671.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/672.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/673.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/675.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/676.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/677.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/678.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/680.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/681.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/682.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/684.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/685.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/689.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/69.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/692.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/693.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/694.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/695.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/697.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/698.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/700.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/704.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/706.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/709.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/71.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/710.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/711.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/712.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/713.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/714.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/716.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/717.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/718.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/72.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/720.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/721.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/722.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/724.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/726.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/727.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/728.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/73.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/730.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/732.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/733.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/737.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/738.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/740.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/741.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/742.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/745.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/747.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/748.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/749.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/75.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/752.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/753.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/754.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/755.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/756.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/757.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/758.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/759.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/76.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/760.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/762.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/763.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/765.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/766.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/767.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/768.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/769.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/771.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/772.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/774.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/776.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/777.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/778.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/779.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/78.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/784.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/785.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/787.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/788.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/789.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/792.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/793.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/794.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/796.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/797.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/798.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/8.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/80.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/800.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/801.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/802.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/803.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/805.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/806.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/807.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/808.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/809.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/81.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/810.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/811.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/812.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/813.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/815.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/816.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/82.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/821.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/822.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/823.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/824.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/825.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/826.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/827.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/828.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/83.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/831.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/837.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/838.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/839.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/84.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/840.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/841.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/844.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/847.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/848.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/849.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/85.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/850.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/851.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/852.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/853.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/854.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/855.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/856.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/858.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/859.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/860.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/861.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/862.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/863.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/864.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/865.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/866.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/867.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/868.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/869.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/87.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/870.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/871.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/873.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/874.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/875.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/876.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/877.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/878.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/879.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/88.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/881.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/882.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/883.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/885.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/886.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/892.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/893.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/894.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/896.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/897.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/898.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/899.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/900.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/901.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/904.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/906.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/907.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/908.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/910.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/911.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/912.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/914.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/915.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/916.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/917.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/918.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/919.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/92.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/920.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/923.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/924.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/926.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/927.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/928.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/931.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/932.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/933.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/934.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/936.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/937.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/938.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/939.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/942.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/944.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/948.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/949.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/951.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/952.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/954.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/955.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/956.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/958.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/959.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/960.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/961.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/962.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/963.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/966.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/968.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/969.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/970.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/971.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/972.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/975.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/976.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/978.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/979.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/981.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/983.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/985.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/987.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/989.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/990.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/992.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/993.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/994.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/995.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/996.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/images/999.jpg +0 -0
- package/workspaces/0-skinny-mink-of-management/input/public/sample_submission.csv +100 -0
- package/workspaces/0-skinny-mink-of-management/input/public/test.csv +100 -0
- package/workspaces/0-skinny-mink-of-management/input/public/train.csv +892 -0
- package/workspaces/0-skinny-mink-of-management/working/submission.csv +100 -0
- package/workspaces/santa-2025/EXISTING_SOLUTION_ANALYSIS.md +181 -0
- package/workspaces/santa-2025/FINAL_ANALYSIS_SUMMARY.md +126 -0
- package/workspaces/santa-2025/FINAL_RECOMMENDATION.md +189 -0
- package/workspaces/santa-2025/FINAL_REPORT.md +207 -0
- package/workspaces/santa-2025/INDEX.md +136 -0
- package/workspaces/santa-2025/PROGRESS.md +210 -0
- package/workspaces/santa-2025/QUICK_WINS_ANALYSIS.md +158 -0
- package/workspaces/santa-2025/README.md +165 -0
- package/workspaces/santa-2025/SUMMARY.md +239 -0
- package/workspaces/santa-2025/advanced_optimizer.py +293 -0
- package/workspaces/santa-2025/analysis_summary.txt +69 -0
- package/workspaces/santa-2025/baseline_log.txt +21 -0
- package/workspaces/santa-2025/baseline_solution.py +237 -0
- package/workspaces/santa-2025/baseline_submission.csv +20101 -0
- package/workspaces/santa-2025/competition_data_page.html +131 -0
- package/workspaces/santa-2025/competition_page.html +131 -0
- package/workspaces/santa-2025/create_ensemble.py +160 -0
- package/workspaces/santa-2025/ensemble_submission.csv +20101 -0
- package/workspaces/santa-2025/evaluate_submission.py +173 -0
- package/workspaces/santa-2025/explore_competition.py +62 -0
- package/workspaces/santa-2025/fetch_competition_info.py +57 -0
- package/workspaces/santa-2025/fix_small_configs_fast.py +184 -0
- package/workspaces/santa-2025/improved_log.txt +48 -0
- package/workspaces/santa-2025/improved_solution.py +325 -0
- package/workspaces/santa-2025/improved_submission.csv +20101 -0
- package/workspaces/santa-2025/optimize_small_configs.py +272 -0
- package/workspaces/santa-2025/optimized_n1_to_n6.csv +22 -0
- package/workspaces/santa-2025/optimized_solution.py +393 -0
- package/workspaces/santa-2025/optimized_submission_score70.93.csv +20101 -0
- package/workspaces/santa-2025/puzzle_010.png +0 -0
- package/workspaces/santa-2025/puzzle_020.png +0 -0
- package/workspaces/santa-2025/puzzle_050.png +0 -0
- package/workspaces/santa-2025/puzzle_100.png +0 -0
- package/workspaces/santa-2025/puzzle_150.png +0 -0
- package/workspaces/santa-2025/puzzle_200.png +0 -0
- package/workspaces/santa-2025/requirements.txt +8 -0
- package/workspaces/santa-2025/sample_submission.csv +20101 -0
- package/workspaces/santa-2025/santa-2025-getting-started.ipynb +1 -0
- package/workspaces/santa-2025/santa-2025-getting-started.py +320 -0
- package/workspaces/santa-2025/santa-2025-metric.ipynb +1 -0
- package/workspaces/santa-2025/santa-2025-metric.py +157 -0
- package/workspaces/santa-2025/santa-2025.zip +0 -0
- package/workspaces/santa-2025/test_solution.py +204 -0
- package/workspaces/santa-2025/ultra_optimized_score70.93.csv +20101 -0
- package/workspaces/santa-2025/ultra_optimizer.py +267 -0
- package/workspaces/santa-2025/visualize.py +166 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modal.com integration for serverless ML workloads
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { spawn } from "child_process";
|
|
6
|
+
import type { Tool, ToolResult } from "../agent/types.js";
|
|
7
|
+
|
|
8
|
+
export interface ModalConfig {
|
|
9
|
+
tokenId?: string;
|
|
10
|
+
tokenSecret?: string;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Check if Modal CLI is available
|
|
15
|
+
export async function isModalAvailable(): Promise<boolean> {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
const proc = spawn("modal", ["--version"], { stdio: "pipe" });
|
|
18
|
+
proc.on("close", (code) => resolve(code === 0));
|
|
19
|
+
proc.on("error", () => resolve(false));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Run a Modal function
|
|
24
|
+
async function runModal(
|
|
25
|
+
args: string[],
|
|
26
|
+
options: ModalConfig = {}
|
|
27
|
+
): Promise<{ stdout: string; stderr: string; exitCode: number }> {
|
|
28
|
+
const timeout = options.timeout || 300000; // 5 min default
|
|
29
|
+
|
|
30
|
+
return new Promise((resolve) => {
|
|
31
|
+
let stdout = "";
|
|
32
|
+
let stderr = "";
|
|
33
|
+
let timedOut = false;
|
|
34
|
+
|
|
35
|
+
const env: NodeJS.ProcessEnv = { ...process.env };
|
|
36
|
+
if (options.tokenId) env.MODAL_TOKEN_ID = options.tokenId;
|
|
37
|
+
if (options.tokenSecret) env.MODAL_TOKEN_SECRET = options.tokenSecret;
|
|
38
|
+
|
|
39
|
+
const proc = spawn("modal", args, {
|
|
40
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
41
|
+
env,
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
const timer = setTimeout(() => {
|
|
45
|
+
timedOut = true;
|
|
46
|
+
proc.kill("SIGTERM");
|
|
47
|
+
}, timeout);
|
|
48
|
+
|
|
49
|
+
proc.stdout.on("data", (data: Buffer) => {
|
|
50
|
+
stdout += data.toString();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
proc.stderr.on("data", (data: Buffer) => {
|
|
54
|
+
stderr += data.toString();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
proc.on("close", (code) => {
|
|
58
|
+
clearTimeout(timer);
|
|
59
|
+
resolve({
|
|
60
|
+
stdout,
|
|
61
|
+
stderr,
|
|
62
|
+
exitCode: timedOut ? -1 : (code ?? -1),
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
proc.on("error", (err) => {
|
|
67
|
+
clearTimeout(timer);
|
|
68
|
+
resolve({
|
|
69
|
+
stdout: "",
|
|
70
|
+
stderr: err.message,
|
|
71
|
+
exitCode: -1,
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function createModalRunTool(config: ModalConfig = {}): Tool {
|
|
78
|
+
return {
|
|
79
|
+
name: "modal_run",
|
|
80
|
+
description: "Run a Python function on Modal.com serverless GPU/CPU infrastructure. Useful for ML inference, training, and compute-intensive tasks.",
|
|
81
|
+
parameters: [
|
|
82
|
+
{
|
|
83
|
+
name: "code",
|
|
84
|
+
type: "string",
|
|
85
|
+
description: "Python code with Modal app definition. Must include @app.function decorator.",
|
|
86
|
+
required: true,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: "function_name",
|
|
90
|
+
type: "string",
|
|
91
|
+
description: "Name of the Modal function to run (the one with @app.local_entrypoint or to call)",
|
|
92
|
+
required: true,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: "args",
|
|
96
|
+
type: "string",
|
|
97
|
+
description: "Arguments to pass to the function (as JSON string)",
|
|
98
|
+
required: false,
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
|
|
102
|
+
async execute(args: Record<string, unknown>): Promise<ToolResult> {
|
|
103
|
+
const code = args.code as string;
|
|
104
|
+
const functionName = args.function_name as string;
|
|
105
|
+
const funcArgs = args.args as string;
|
|
106
|
+
|
|
107
|
+
if (!code || !functionName) {
|
|
108
|
+
return {
|
|
109
|
+
toolCallId: "",
|
|
110
|
+
output: "",
|
|
111
|
+
success: false,
|
|
112
|
+
error: "code and function_name are required",
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Check if Modal is available
|
|
117
|
+
const available = await isModalAvailable();
|
|
118
|
+
if (!available) {
|
|
119
|
+
return {
|
|
120
|
+
toolCallId: "",
|
|
121
|
+
output: "",
|
|
122
|
+
success: false,
|
|
123
|
+
error: "Modal CLI not installed. Run: pip install modal",
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Create temp file with the code
|
|
128
|
+
const fs = await import("fs");
|
|
129
|
+
const path = await import("path");
|
|
130
|
+
const os = await import("os");
|
|
131
|
+
|
|
132
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "modal-"));
|
|
133
|
+
const tempFile = path.join(tempDir, "app.py");
|
|
134
|
+
|
|
135
|
+
// Ensure the code has proper Modal imports
|
|
136
|
+
let fullCode = code;
|
|
137
|
+
if (!code.includes("import modal")) {
|
|
138
|
+
fullCode = "import modal\n\n" + code;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
fs.writeFileSync(tempFile, fullCode);
|
|
142
|
+
|
|
143
|
+
try {
|
|
144
|
+
// Run the Modal function
|
|
145
|
+
const runArgs = ["run", tempFile];
|
|
146
|
+
if (functionName) {
|
|
147
|
+
runArgs.push("::" + functionName);
|
|
148
|
+
}
|
|
149
|
+
if (funcArgs) {
|
|
150
|
+
try {
|
|
151
|
+
const parsed = JSON.parse(funcArgs);
|
|
152
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
153
|
+
runArgs.push(`--${key}`, String(value));
|
|
154
|
+
}
|
|
155
|
+
} catch {
|
|
156
|
+
// Ignore JSON parse errors
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const result = await runModal(runArgs, config);
|
|
161
|
+
|
|
162
|
+
let output = result.stdout;
|
|
163
|
+
if (result.stderr) {
|
|
164
|
+
output += (output ? "\n\nStderr:\n" : "") + result.stderr;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return {
|
|
168
|
+
toolCallId: "",
|
|
169
|
+
output: output || "(no output)",
|
|
170
|
+
success: result.exitCode === 0,
|
|
171
|
+
error: result.exitCode !== 0 ? `Exit code: ${result.exitCode}` : undefined,
|
|
172
|
+
};
|
|
173
|
+
} finally {
|
|
174
|
+
// Cleanup
|
|
175
|
+
try {
|
|
176
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
177
|
+
} catch {
|
|
178
|
+
// Ignore cleanup errors
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export function createModalDeployTool(config: ModalConfig = {}): Tool {
|
|
186
|
+
return {
|
|
187
|
+
name: "modal_deploy",
|
|
188
|
+
description: "Deploy a Modal app for persistent endpoints or scheduled jobs.",
|
|
189
|
+
parameters: [
|
|
190
|
+
{
|
|
191
|
+
name: "code",
|
|
192
|
+
type: "string",
|
|
193
|
+
description: "Python code with Modal app definition",
|
|
194
|
+
required: true,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: "app_name",
|
|
198
|
+
type: "string",
|
|
199
|
+
description: "Name for the deployed app",
|
|
200
|
+
required: true,
|
|
201
|
+
},
|
|
202
|
+
],
|
|
203
|
+
|
|
204
|
+
async execute(args: Record<string, unknown>): Promise<ToolResult> {
|
|
205
|
+
const code = args.code as string;
|
|
206
|
+
const appName = args.app_name as string;
|
|
207
|
+
|
|
208
|
+
if (!code || !appName) {
|
|
209
|
+
return {
|
|
210
|
+
toolCallId: "",
|
|
211
|
+
output: "",
|
|
212
|
+
success: false,
|
|
213
|
+
error: "code and app_name are required",
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
const available = await isModalAvailable();
|
|
218
|
+
if (!available) {
|
|
219
|
+
return {
|
|
220
|
+
toolCallId: "",
|
|
221
|
+
output: "",
|
|
222
|
+
success: false,
|
|
223
|
+
error: "Modal CLI not installed. Run: pip install modal",
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
const fs = await import("fs");
|
|
228
|
+
const path = await import("path");
|
|
229
|
+
const os = await import("os");
|
|
230
|
+
|
|
231
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "modal-deploy-"));
|
|
232
|
+
const tempFile = path.join(tempDir, "app.py");
|
|
233
|
+
|
|
234
|
+
let fullCode = code;
|
|
235
|
+
if (!code.includes("import modal")) {
|
|
236
|
+
fullCode = "import modal\n\n" + code;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
fs.writeFileSync(tempFile, fullCode);
|
|
240
|
+
|
|
241
|
+
try {
|
|
242
|
+
const result = await runModal(["deploy", tempFile, "--name", appName], config);
|
|
243
|
+
|
|
244
|
+
let output = result.stdout;
|
|
245
|
+
if (result.stderr) {
|
|
246
|
+
output += (output ? "\n\nStderr:\n" : "") + result.stderr;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
return {
|
|
250
|
+
toolCallId: "",
|
|
251
|
+
output: output || "(no output)",
|
|
252
|
+
success: result.exitCode === 0,
|
|
253
|
+
error: result.exitCode !== 0 ? `Exit code: ${result.exitCode}` : undefined,
|
|
254
|
+
};
|
|
255
|
+
} finally {
|
|
256
|
+
try {
|
|
257
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
258
|
+
} catch {
|
|
259
|
+
// Ignore
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export function createModalTools(config: ModalConfig = {}): Tool[] {
|
|
267
|
+
return [createModalRunTool(config), createModalDeployTool(config)];
|
|
268
|
+
}
|
|
269
|
+
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Sandbox - Isolated execution environments
|
|
3
|
+
* Uses temporary directories with timeout and resource limits
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { spawn, execSync } from "child_process";
|
|
7
|
+
import * as fs from "fs";
|
|
8
|
+
import * as path from "path";
|
|
9
|
+
import * as os from "os";
|
|
10
|
+
import type { Tool, ToolResult } from "../agent/types.js";
|
|
11
|
+
|
|
12
|
+
export interface SandboxOptions {
|
|
13
|
+
timeout?: number; // ms
|
|
14
|
+
memoryLimit?: string; // e.g., "512m"
|
|
15
|
+
cpuLimit?: number; // cores
|
|
16
|
+
useDocker?: boolean;
|
|
17
|
+
dockerImage?: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface SandboxResult {
|
|
21
|
+
stdout: string;
|
|
22
|
+
stderr: string;
|
|
23
|
+
exitCode: number;
|
|
24
|
+
timedOut: boolean;
|
|
25
|
+
duration: number;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Language configurations
|
|
29
|
+
const LANGUAGE_CONFIG: Record<
|
|
30
|
+
string,
|
|
31
|
+
{ extension: string; command: (file: string) => string[]; setup?: string }
|
|
32
|
+
> = {
|
|
33
|
+
python: {
|
|
34
|
+
extension: ".py",
|
|
35
|
+
command: (file) => ["python3", file],
|
|
36
|
+
setup: "pip install -q",
|
|
37
|
+
},
|
|
38
|
+
javascript: {
|
|
39
|
+
extension: ".js",
|
|
40
|
+
command: (file) => ["node", file],
|
|
41
|
+
},
|
|
42
|
+
typescript: {
|
|
43
|
+
extension: ".ts",
|
|
44
|
+
command: (file) => ["bun", file],
|
|
45
|
+
},
|
|
46
|
+
bash: {
|
|
47
|
+
extension: ".sh",
|
|
48
|
+
command: (file) => ["bash", file],
|
|
49
|
+
},
|
|
50
|
+
ruby: {
|
|
51
|
+
extension: ".rb",
|
|
52
|
+
command: (file) => ["ruby", file],
|
|
53
|
+
},
|
|
54
|
+
go: {
|
|
55
|
+
extension: ".go",
|
|
56
|
+
command: (file) => ["go", "run", file],
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export class Sandbox {
|
|
61
|
+
private tempDir: string;
|
|
62
|
+
private options: SandboxOptions;
|
|
63
|
+
|
|
64
|
+
constructor(options: SandboxOptions = {}) {
|
|
65
|
+
this.options = {
|
|
66
|
+
timeout: options.timeout || 30000,
|
|
67
|
+
memoryLimit: options.memoryLimit || "512m",
|
|
68
|
+
cpuLimit: options.cpuLimit || 1,
|
|
69
|
+
useDocker: options.useDocker || false,
|
|
70
|
+
dockerImage: options.dockerImage || "python:3.11-slim",
|
|
71
|
+
};
|
|
72
|
+
this.tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "sandbox-"));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async execute(code: string, language: string): Promise<SandboxResult> {
|
|
76
|
+
const config = LANGUAGE_CONFIG[language];
|
|
77
|
+
if (!config) {
|
|
78
|
+
return {
|
|
79
|
+
stdout: "",
|
|
80
|
+
stderr: `Unsupported language: ${language}. Supported: ${Object.keys(LANGUAGE_CONFIG).join(", ")}`,
|
|
81
|
+
exitCode: 1,
|
|
82
|
+
timedOut: false,
|
|
83
|
+
duration: 0,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const filename = `code${config.extension}`;
|
|
88
|
+
const filepath = path.join(this.tempDir, filename);
|
|
89
|
+
fs.writeFileSync(filepath, code);
|
|
90
|
+
|
|
91
|
+
if (this.options.useDocker) {
|
|
92
|
+
return this.executeInDocker(filepath, config.command(filename));
|
|
93
|
+
} else {
|
|
94
|
+
return this.executeLocal(filepath, config.command(filepath));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
private async executeLocal(
|
|
99
|
+
filepath: string,
|
|
100
|
+
command: string[]
|
|
101
|
+
): Promise<SandboxResult> {
|
|
102
|
+
const startTime = Date.now();
|
|
103
|
+
let stdout = "";
|
|
104
|
+
let stderr = "";
|
|
105
|
+
let timedOut = false;
|
|
106
|
+
|
|
107
|
+
return new Promise((resolve) => {
|
|
108
|
+
const proc = spawn(command[0], command.slice(1), {
|
|
109
|
+
cwd: this.tempDir,
|
|
110
|
+
env: { ...process.env, PYTHONDONTWRITEBYTECODE: "1" },
|
|
111
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
const timer = setTimeout(() => {
|
|
115
|
+
timedOut = true;
|
|
116
|
+
proc.kill("SIGTERM");
|
|
117
|
+
setTimeout(() => proc.kill("SIGKILL"), 5000);
|
|
118
|
+
}, this.options.timeout);
|
|
119
|
+
|
|
120
|
+
proc.stdout.on("data", (data: Buffer) => {
|
|
121
|
+
stdout += data.toString();
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
proc.stderr.on("data", (data: Buffer) => {
|
|
125
|
+
stderr += data.toString();
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
proc.on("close", (code) => {
|
|
129
|
+
clearTimeout(timer);
|
|
130
|
+
const duration = Date.now() - startTime;
|
|
131
|
+
|
|
132
|
+
resolve({
|
|
133
|
+
stdout: stdout.slice(0, 50000), // Limit output
|
|
134
|
+
stderr: stderr.slice(0, 50000),
|
|
135
|
+
exitCode: timedOut ? -1 : (code ?? -1),
|
|
136
|
+
timedOut,
|
|
137
|
+
duration,
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
proc.on("error", (err) => {
|
|
142
|
+
clearTimeout(timer);
|
|
143
|
+
resolve({
|
|
144
|
+
stdout: "",
|
|
145
|
+
stderr: err.message,
|
|
146
|
+
exitCode: -1,
|
|
147
|
+
timedOut: false,
|
|
148
|
+
duration: Date.now() - startTime,
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
private async executeInDocker(
|
|
155
|
+
filepath: string,
|
|
156
|
+
command: string[]
|
|
157
|
+
): Promise<SandboxResult> {
|
|
158
|
+
const startTime = Date.now();
|
|
159
|
+
const timeoutSeconds = Math.ceil((this.options.timeout || 30000) / 1000);
|
|
160
|
+
|
|
161
|
+
const dockerArgs = [
|
|
162
|
+
"run",
|
|
163
|
+
"--rm",
|
|
164
|
+
"-v",
|
|
165
|
+
`${this.tempDir}:/sandbox:ro`,
|
|
166
|
+
"-w",
|
|
167
|
+
"/sandbox",
|
|
168
|
+
"--memory",
|
|
169
|
+
this.options.memoryLimit || "512m",
|
|
170
|
+
"--cpus",
|
|
171
|
+
String(this.options.cpuLimit || 1),
|
|
172
|
+
"--network",
|
|
173
|
+
"none",
|
|
174
|
+
"--pids-limit",
|
|
175
|
+
"100",
|
|
176
|
+
this.options.dockerImage || "python:3.11-slim",
|
|
177
|
+
"timeout",
|
|
178
|
+
String(timeoutSeconds),
|
|
179
|
+
...command,
|
|
180
|
+
];
|
|
181
|
+
|
|
182
|
+
return new Promise((resolve) => {
|
|
183
|
+
const proc = spawn("docker", dockerArgs, {
|
|
184
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
let stdout = "";
|
|
188
|
+
let stderr = "";
|
|
189
|
+
let timedOut = false;
|
|
190
|
+
|
|
191
|
+
const timer = setTimeout(() => {
|
|
192
|
+
timedOut = true;
|
|
193
|
+
proc.kill("SIGTERM");
|
|
194
|
+
}, (this.options.timeout || 30000) + 5000);
|
|
195
|
+
|
|
196
|
+
proc.stdout.on("data", (data: Buffer) => {
|
|
197
|
+
stdout += data.toString();
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
proc.stderr.on("data", (data: Buffer) => {
|
|
201
|
+
stderr += data.toString();
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
proc.on("close", (code) => {
|
|
205
|
+
clearTimeout(timer);
|
|
206
|
+
const duration = Date.now() - startTime;
|
|
207
|
+
|
|
208
|
+
// Docker timeout returns code 124
|
|
209
|
+
if (code === 124) timedOut = true;
|
|
210
|
+
|
|
211
|
+
resolve({
|
|
212
|
+
stdout: stdout.slice(0, 50000),
|
|
213
|
+
stderr: stderr.slice(0, 50000),
|
|
214
|
+
exitCode: timedOut ? -1 : (code ?? -1),
|
|
215
|
+
timedOut,
|
|
216
|
+
duration,
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
proc.on("error", (err) => {
|
|
221
|
+
clearTimeout(timer);
|
|
222
|
+
resolve({
|
|
223
|
+
stdout: "",
|
|
224
|
+
stderr: `Docker error: ${err.message}`,
|
|
225
|
+
exitCode: -1,
|
|
226
|
+
timedOut: false,
|
|
227
|
+
duration: Date.now() - startTime,
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
cleanup(): void {
|
|
234
|
+
try {
|
|
235
|
+
fs.rmSync(this.tempDir, { recursive: true, force: true });
|
|
236
|
+
} catch {
|
|
237
|
+
// Ignore cleanup errors
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export function createSandboxTool(options: SandboxOptions = {}): Tool {
|
|
243
|
+
return {
|
|
244
|
+
name: "execute_code",
|
|
245
|
+
description: "Execute code in an isolated sandbox environment. Supports Python, JavaScript, TypeScript, Bash, Ruby, and Go.",
|
|
246
|
+
parameters: [
|
|
247
|
+
{
|
|
248
|
+
name: "code",
|
|
249
|
+
type: "string",
|
|
250
|
+
description: "The code to execute",
|
|
251
|
+
required: true,
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
name: "language",
|
|
255
|
+
type: "string",
|
|
256
|
+
description: "Programming language: python, javascript, typescript, bash, ruby, go",
|
|
257
|
+
required: true,
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
|
|
261
|
+
async execute(args: Record<string, unknown>): Promise<ToolResult> {
|
|
262
|
+
const code = args.code as string;
|
|
263
|
+
const language = (args.language as string)?.toLowerCase();
|
|
264
|
+
|
|
265
|
+
if (!code) {
|
|
266
|
+
return { toolCallId: "", output: "", success: false, error: "Code is required" };
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (!language || !LANGUAGE_CONFIG[language]) {
|
|
270
|
+
return {
|
|
271
|
+
toolCallId: "",
|
|
272
|
+
output: "",
|
|
273
|
+
success: false,
|
|
274
|
+
error: `Invalid language. Supported: ${Object.keys(LANGUAGE_CONFIG).join(", ")}`,
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const sandbox = new Sandbox(options);
|
|
279
|
+
|
|
280
|
+
try {
|
|
281
|
+
const result = await sandbox.execute(code, language);
|
|
282
|
+
|
|
283
|
+
let output = "";
|
|
284
|
+
if (result.stdout) output += result.stdout;
|
|
285
|
+
if (result.stderr) output += (output ? "\n\nStderr:\n" : "") + result.stderr;
|
|
286
|
+
if (result.timedOut) output += `\n\n(Execution timed out after ${options.timeout || 30000}ms)`;
|
|
287
|
+
|
|
288
|
+
return {
|
|
289
|
+
toolCallId: "",
|
|
290
|
+
output: output || "(no output)",
|
|
291
|
+
success: result.exitCode === 0 && !result.timedOut,
|
|
292
|
+
error: result.exitCode !== 0 ? `Exit code: ${result.exitCode}` : undefined,
|
|
293
|
+
};
|
|
294
|
+
} finally {
|
|
295
|
+
sandbox.cleanup();
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// Check if Docker is available
|
|
302
|
+
export function isDockerAvailable(): boolean {
|
|
303
|
+
try {
|
|
304
|
+
execSync("docker --version", { stdio: "ignore" });
|
|
305
|
+
return true;
|
|
306
|
+
} catch {
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|