@fastino-ai/pioneer-cli 0.2.5 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1060) hide show
  1. package/package.json +8 -3
  2. package/src/api.ts +1601 -115
  3. package/src/index.tsx +1234 -29
  4. package/.claude/settings.local.json +0 -24
  5. package/.cursor/rules/api-documentation.mdc +0 -17
  6. package/.cursor/rules/backend-location-rule.mdc +0 -5
  7. package/.github/workflows/pioneer-cli-tests.yml +0 -44
  8. package/Medical_NER_Dataset_1.jsonl +0 -50
  9. package/bun.lock +0 -264
  10. package/cache/cache.db +0 -0
  11. package/cache/cache.db-shm +0 -0
  12. package/cache/cache.db-wal +0 -0
  13. package/datasets/Medical_NER_Dataset.json +0 -2609
  14. package/datasets/ner-dataset.json +0 -57
  15. package/datasets/test-remote.json +0 -41
  16. package/datasets/test-warning.json +0 -49
  17. package/install.sh +0 -68
  18. package/tsconfig.json +0 -22
  19. package/workspaces/0-skinny-mink-of-management/input/private/test.csv +0 -100
  20. package/workspaces/0-skinny-mink-of-management/input/public/description.md +0 -70
  21. package/workspaces/0-skinny-mink-of-management/input/public/images/1.jpg +0 -0
  22. package/workspaces/0-skinny-mink-of-management/input/public/images/10.jpg +0 -0
  23. package/workspaces/0-skinny-mink-of-management/input/public/images/100.jpg +0 -0
  24. package/workspaces/0-skinny-mink-of-management/input/public/images/1000.jpg +0 -0
  25. package/workspaces/0-skinny-mink-of-management/input/public/images/1001.jpg +0 -0
  26. package/workspaces/0-skinny-mink-of-management/input/public/images/1002.jpg +0 -0
  27. package/workspaces/0-skinny-mink-of-management/input/public/images/1003.jpg +0 -0
  28. package/workspaces/0-skinny-mink-of-management/input/public/images/1004.jpg +0 -0
  29. package/workspaces/0-skinny-mink-of-management/input/public/images/1005.jpg +0 -0
  30. package/workspaces/0-skinny-mink-of-management/input/public/images/1006.jpg +0 -0
  31. package/workspaces/0-skinny-mink-of-management/input/public/images/1007.jpg +0 -0
  32. package/workspaces/0-skinny-mink-of-management/input/public/images/101.jpg +0 -0
  33. package/workspaces/0-skinny-mink-of-management/input/public/images/1010.jpg +0 -0
  34. package/workspaces/0-skinny-mink-of-management/input/public/images/1011.jpg +0 -0
  35. package/workspaces/0-skinny-mink-of-management/input/public/images/1013.jpg +0 -0
  36. package/workspaces/0-skinny-mink-of-management/input/public/images/1014.jpg +0 -0
  37. package/workspaces/0-skinny-mink-of-management/input/public/images/1016.jpg +0 -0
  38. package/workspaces/0-skinny-mink-of-management/input/public/images/1017.jpg +0 -0
  39. package/workspaces/0-skinny-mink-of-management/input/public/images/1019.jpg +0 -0
  40. package/workspaces/0-skinny-mink-of-management/input/public/images/1021.jpg +0 -0
  41. package/workspaces/0-skinny-mink-of-management/input/public/images/1023.jpg +0 -0
  42. package/workspaces/0-skinny-mink-of-management/input/public/images/1024.jpg +0 -0
  43. package/workspaces/0-skinny-mink-of-management/input/public/images/1025.jpg +0 -0
  44. package/workspaces/0-skinny-mink-of-management/input/public/images/1027.jpg +0 -0
  45. package/workspaces/0-skinny-mink-of-management/input/public/images/103.jpg +0 -0
  46. package/workspaces/0-skinny-mink-of-management/input/public/images/1030.jpg +0 -0
  47. package/workspaces/0-skinny-mink-of-management/input/public/images/1031.jpg +0 -0
  48. package/workspaces/0-skinny-mink-of-management/input/public/images/1032.jpg +0 -0
  49. package/workspaces/0-skinny-mink-of-management/input/public/images/1034.jpg +0 -0
  50. package/workspaces/0-skinny-mink-of-management/input/public/images/1036.jpg +0 -0
  51. package/workspaces/0-skinny-mink-of-management/input/public/images/1037.jpg +0 -0
  52. package/workspaces/0-skinny-mink-of-management/input/public/images/1039.jpg +0 -0
  53. package/workspaces/0-skinny-mink-of-management/input/public/images/1040.jpg +0 -0
  54. package/workspaces/0-skinny-mink-of-management/input/public/images/1041.jpg +0 -0
  55. package/workspaces/0-skinny-mink-of-management/input/public/images/1042.jpg +0 -0
  56. package/workspaces/0-skinny-mink-of-management/input/public/images/1046.jpg +0 -0
  57. package/workspaces/0-skinny-mink-of-management/input/public/images/1048.jpg +0 -0
  58. package/workspaces/0-skinny-mink-of-management/input/public/images/1049.jpg +0 -0
  59. package/workspaces/0-skinny-mink-of-management/input/public/images/1051.jpg +0 -0
  60. package/workspaces/0-skinny-mink-of-management/input/public/images/1052.jpg +0 -0
  61. package/workspaces/0-skinny-mink-of-management/input/public/images/1056.jpg +0 -0
  62. package/workspaces/0-skinny-mink-of-management/input/public/images/1059.jpg +0 -0
  63. package/workspaces/0-skinny-mink-of-management/input/public/images/106.jpg +0 -0
  64. package/workspaces/0-skinny-mink-of-management/input/public/images/1061.jpg +0 -0
  65. package/workspaces/0-skinny-mink-of-management/input/public/images/1062.jpg +0 -0
  66. package/workspaces/0-skinny-mink-of-management/input/public/images/1065.jpg +0 -0
  67. package/workspaces/0-skinny-mink-of-management/input/public/images/1066.jpg +0 -0
  68. package/workspaces/0-skinny-mink-of-management/input/public/images/107.jpg +0 -0
  69. package/workspaces/0-skinny-mink-of-management/input/public/images/1072.jpg +0 -0
  70. package/workspaces/0-skinny-mink-of-management/input/public/images/1073.jpg +0 -0
  71. package/workspaces/0-skinny-mink-of-management/input/public/images/1076.jpg +0 -0
  72. package/workspaces/0-skinny-mink-of-management/input/public/images/1077.jpg +0 -0
  73. package/workspaces/0-skinny-mink-of-management/input/public/images/108.jpg +0 -0
  74. package/workspaces/0-skinny-mink-of-management/input/public/images/1080.jpg +0 -0
  75. package/workspaces/0-skinny-mink-of-management/input/public/images/1081.jpg +0 -0
  76. package/workspaces/0-skinny-mink-of-management/input/public/images/1083.jpg +0 -0
  77. package/workspaces/0-skinny-mink-of-management/input/public/images/1085.jpg +0 -0
  78. package/workspaces/0-skinny-mink-of-management/input/public/images/1087.jpg +0 -0
  79. package/workspaces/0-skinny-mink-of-management/input/public/images/1088.jpg +0 -0
  80. package/workspaces/0-skinny-mink-of-management/input/public/images/1089.jpg +0 -0
  81. package/workspaces/0-skinny-mink-of-management/input/public/images/109.jpg +0 -0
  82. package/workspaces/0-skinny-mink-of-management/input/public/images/1090.jpg +0 -0
  83. package/workspaces/0-skinny-mink-of-management/input/public/images/1093.jpg +0 -0
  84. package/workspaces/0-skinny-mink-of-management/input/public/images/1094.jpg +0 -0
  85. package/workspaces/0-skinny-mink-of-management/input/public/images/1095.jpg +0 -0
  86. package/workspaces/0-skinny-mink-of-management/input/public/images/1096.jpg +0 -0
  87. package/workspaces/0-skinny-mink-of-management/input/public/images/1097.jpg +0 -0
  88. package/workspaces/0-skinny-mink-of-management/input/public/images/1098.jpg +0 -0
  89. package/workspaces/0-skinny-mink-of-management/input/public/images/11.jpg +0 -0
  90. package/workspaces/0-skinny-mink-of-management/input/public/images/1100.jpg +0 -0
  91. package/workspaces/0-skinny-mink-of-management/input/public/images/1101.jpg +0 -0
  92. package/workspaces/0-skinny-mink-of-management/input/public/images/1110.jpg +0 -0
  93. package/workspaces/0-skinny-mink-of-management/input/public/images/1112.jpg +0 -0
  94. package/workspaces/0-skinny-mink-of-management/input/public/images/1113.jpg +0 -0
  95. package/workspaces/0-skinny-mink-of-management/input/public/images/1117.jpg +0 -0
  96. package/workspaces/0-skinny-mink-of-management/input/public/images/1118.jpg +0 -0
  97. package/workspaces/0-skinny-mink-of-management/input/public/images/1119.jpg +0 -0
  98. package/workspaces/0-skinny-mink-of-management/input/public/images/1120.jpg +0 -0
  99. package/workspaces/0-skinny-mink-of-management/input/public/images/1121.jpg +0 -0
  100. package/workspaces/0-skinny-mink-of-management/input/public/images/1123.jpg +0 -0
  101. package/workspaces/0-skinny-mink-of-management/input/public/images/1124.jpg +0 -0
  102. package/workspaces/0-skinny-mink-of-management/input/public/images/1125.jpg +0 -0
  103. package/workspaces/0-skinny-mink-of-management/input/public/images/1128.jpg +0 -0
  104. package/workspaces/0-skinny-mink-of-management/input/public/images/1130.jpg +0 -0
  105. package/workspaces/0-skinny-mink-of-management/input/public/images/1131.jpg +0 -0
  106. package/workspaces/0-skinny-mink-of-management/input/public/images/1132.jpg +0 -0
  107. package/workspaces/0-skinny-mink-of-management/input/public/images/1134.jpg +0 -0
  108. package/workspaces/0-skinny-mink-of-management/input/public/images/1135.jpg +0 -0
  109. package/workspaces/0-skinny-mink-of-management/input/public/images/1136.jpg +0 -0
  110. package/workspaces/0-skinny-mink-of-management/input/public/images/1142.jpg +0 -0
  111. package/workspaces/0-skinny-mink-of-management/input/public/images/1144.jpg +0 -0
  112. package/workspaces/0-skinny-mink-of-management/input/public/images/1145.jpg +0 -0
  113. package/workspaces/0-skinny-mink-of-management/input/public/images/1147.jpg +0 -0
  114. package/workspaces/0-skinny-mink-of-management/input/public/images/1148.jpg +0 -0
  115. package/workspaces/0-skinny-mink-of-management/input/public/images/115.jpg +0 -0
  116. package/workspaces/0-skinny-mink-of-management/input/public/images/1152.jpg +0 -0
  117. package/workspaces/0-skinny-mink-of-management/input/public/images/1153.jpg +0 -0
  118. package/workspaces/0-skinny-mink-of-management/input/public/images/1154.jpg +0 -0
  119. package/workspaces/0-skinny-mink-of-management/input/public/images/1156.jpg +0 -0
  120. package/workspaces/0-skinny-mink-of-management/input/public/images/1157.jpg +0 -0
  121. package/workspaces/0-skinny-mink-of-management/input/public/images/1159.jpg +0 -0
  122. package/workspaces/0-skinny-mink-of-management/input/public/images/116.jpg +0 -0
  123. package/workspaces/0-skinny-mink-of-management/input/public/images/1160.jpg +0 -0
  124. package/workspaces/0-skinny-mink-of-management/input/public/images/1163.jpg +0 -0
  125. package/workspaces/0-skinny-mink-of-management/input/public/images/1165.jpg +0 -0
  126. package/workspaces/0-skinny-mink-of-management/input/public/images/1166.jpg +0 -0
  127. package/workspaces/0-skinny-mink-of-management/input/public/images/1167.jpg +0 -0
  128. package/workspaces/0-skinny-mink-of-management/input/public/images/1168.jpg +0 -0
  129. package/workspaces/0-skinny-mink-of-management/input/public/images/1169.jpg +0 -0
  130. package/workspaces/0-skinny-mink-of-management/input/public/images/1170.jpg +0 -0
  131. package/workspaces/0-skinny-mink-of-management/input/public/images/1171.jpg +0 -0
  132. package/workspaces/0-skinny-mink-of-management/input/public/images/1172.jpg +0 -0
  133. package/workspaces/0-skinny-mink-of-management/input/public/images/1173.jpg +0 -0
  134. package/workspaces/0-skinny-mink-of-management/input/public/images/1174.jpg +0 -0
  135. package/workspaces/0-skinny-mink-of-management/input/public/images/1175.jpg +0 -0
  136. package/workspaces/0-skinny-mink-of-management/input/public/images/1176.jpg +0 -0
  137. package/workspaces/0-skinny-mink-of-management/input/public/images/1179.jpg +0 -0
  138. package/workspaces/0-skinny-mink-of-management/input/public/images/118.jpg +0 -0
  139. package/workspaces/0-skinny-mink-of-management/input/public/images/1180.jpg +0 -0
  140. package/workspaces/0-skinny-mink-of-management/input/public/images/1182.jpg +0 -0
  141. package/workspaces/0-skinny-mink-of-management/input/public/images/1184.jpg +0 -0
  142. package/workspaces/0-skinny-mink-of-management/input/public/images/1186.jpg +0 -0
  143. package/workspaces/0-skinny-mink-of-management/input/public/images/1187.jpg +0 -0
  144. package/workspaces/0-skinny-mink-of-management/input/public/images/1194.jpg +0 -0
  145. package/workspaces/0-skinny-mink-of-management/input/public/images/1196.jpg +0 -0
  146. package/workspaces/0-skinny-mink-of-management/input/public/images/1197.jpg +0 -0
  147. package/workspaces/0-skinny-mink-of-management/input/public/images/1198.jpg +0 -0
  148. package/workspaces/0-skinny-mink-of-management/input/public/images/120.jpg +0 -0
  149. package/workspaces/0-skinny-mink-of-management/input/public/images/1200.jpg +0 -0
  150. package/workspaces/0-skinny-mink-of-management/input/public/images/1201.jpg +0 -0
  151. package/workspaces/0-skinny-mink-of-management/input/public/images/1202.jpg +0 -0
  152. package/workspaces/0-skinny-mink-of-management/input/public/images/1205.jpg +0 -0
  153. package/workspaces/0-skinny-mink-of-management/input/public/images/1206.jpg +0 -0
  154. package/workspaces/0-skinny-mink-of-management/input/public/images/1208.jpg +0 -0
  155. package/workspaces/0-skinny-mink-of-management/input/public/images/1210.jpg +0 -0
  156. package/workspaces/0-skinny-mink-of-management/input/public/images/1211.jpg +0 -0
  157. package/workspaces/0-skinny-mink-of-management/input/public/images/1213.jpg +0 -0
  158. package/workspaces/0-skinny-mink-of-management/input/public/images/1216.jpg +0 -0
  159. package/workspaces/0-skinny-mink-of-management/input/public/images/1217.jpg +0 -0
  160. package/workspaces/0-skinny-mink-of-management/input/public/images/1218.jpg +0 -0
  161. package/workspaces/0-skinny-mink-of-management/input/public/images/1219.jpg +0 -0
  162. package/workspaces/0-skinny-mink-of-management/input/public/images/122.jpg +0 -0
  163. package/workspaces/0-skinny-mink-of-management/input/public/images/1220.jpg +0 -0
  164. package/workspaces/0-skinny-mink-of-management/input/public/images/1221.jpg +0 -0
  165. package/workspaces/0-skinny-mink-of-management/input/public/images/1222.jpg +0 -0
  166. package/workspaces/0-skinny-mink-of-management/input/public/images/1223.jpg +0 -0
  167. package/workspaces/0-skinny-mink-of-management/input/public/images/1225.jpg +0 -0
  168. package/workspaces/0-skinny-mink-of-management/input/public/images/1226.jpg +0 -0
  169. package/workspaces/0-skinny-mink-of-management/input/public/images/1228.jpg +0 -0
  170. package/workspaces/0-skinny-mink-of-management/input/public/images/1229.jpg +0 -0
  171. package/workspaces/0-skinny-mink-of-management/input/public/images/1231.jpg +0 -0
  172. package/workspaces/0-skinny-mink-of-management/input/public/images/1232.jpg +0 -0
  173. package/workspaces/0-skinny-mink-of-management/input/public/images/1235.jpg +0 -0
  174. package/workspaces/0-skinny-mink-of-management/input/public/images/1236.jpg +0 -0
  175. package/workspaces/0-skinny-mink-of-management/input/public/images/1238.jpg +0 -0
  176. package/workspaces/0-skinny-mink-of-management/input/public/images/1239.jpg +0 -0
  177. package/workspaces/0-skinny-mink-of-management/input/public/images/124.jpg +0 -0
  178. package/workspaces/0-skinny-mink-of-management/input/public/images/1240.jpg +0 -0
  179. package/workspaces/0-skinny-mink-of-management/input/public/images/1242.jpg +0 -0
  180. package/workspaces/0-skinny-mink-of-management/input/public/images/1243.jpg +0 -0
  181. package/workspaces/0-skinny-mink-of-management/input/public/images/1244.jpg +0 -0
  182. package/workspaces/0-skinny-mink-of-management/input/public/images/1245.jpg +0 -0
  183. package/workspaces/0-skinny-mink-of-management/input/public/images/1249.jpg +0 -0
  184. package/workspaces/0-skinny-mink-of-management/input/public/images/1250.jpg +0 -0
  185. package/workspaces/0-skinny-mink-of-management/input/public/images/1251.jpg +0 -0
  186. package/workspaces/0-skinny-mink-of-management/input/public/images/1253.jpg +0 -0
  187. package/workspaces/0-skinny-mink-of-management/input/public/images/1254.jpg +0 -0
  188. package/workspaces/0-skinny-mink-of-management/input/public/images/1255.jpg +0 -0
  189. package/workspaces/0-skinny-mink-of-management/input/public/images/1256.jpg +0 -0
  190. package/workspaces/0-skinny-mink-of-management/input/public/images/1257.jpg +0 -0
  191. package/workspaces/0-skinny-mink-of-management/input/public/images/1258.jpg +0 -0
  192. package/workspaces/0-skinny-mink-of-management/input/public/images/1262.jpg +0 -0
  193. package/workspaces/0-skinny-mink-of-management/input/public/images/1263.jpg +0 -0
  194. package/workspaces/0-skinny-mink-of-management/input/public/images/1265.jpg +0 -0
  195. package/workspaces/0-skinny-mink-of-management/input/public/images/1268.jpg +0 -0
  196. package/workspaces/0-skinny-mink-of-management/input/public/images/1269.jpg +0 -0
  197. package/workspaces/0-skinny-mink-of-management/input/public/images/127.jpg +0 -0
  198. package/workspaces/0-skinny-mink-of-management/input/public/images/1270.jpg +0 -0
  199. package/workspaces/0-skinny-mink-of-management/input/public/images/1271.jpg +0 -0
  200. package/workspaces/0-skinny-mink-of-management/input/public/images/1273.jpg +0 -0
  201. package/workspaces/0-skinny-mink-of-management/input/public/images/1275.jpg +0 -0
  202. package/workspaces/0-skinny-mink-of-management/input/public/images/1276.jpg +0 -0
  203. package/workspaces/0-skinny-mink-of-management/input/public/images/1277.jpg +0 -0
  204. package/workspaces/0-skinny-mink-of-management/input/public/images/1278.jpg +0 -0
  205. package/workspaces/0-skinny-mink-of-management/input/public/images/1281.jpg +0 -0
  206. package/workspaces/0-skinny-mink-of-management/input/public/images/1282.jpg +0 -0
  207. package/workspaces/0-skinny-mink-of-management/input/public/images/1283.jpg +0 -0
  208. package/workspaces/0-skinny-mink-of-management/input/public/images/1284.jpg +0 -0
  209. package/workspaces/0-skinny-mink-of-management/input/public/images/1286.jpg +0 -0
  210. package/workspaces/0-skinny-mink-of-management/input/public/images/1287.jpg +0 -0
  211. package/workspaces/0-skinny-mink-of-management/input/public/images/1289.jpg +0 -0
  212. package/workspaces/0-skinny-mink-of-management/input/public/images/129.jpg +0 -0
  213. package/workspaces/0-skinny-mink-of-management/input/public/images/1291.jpg +0 -0
  214. package/workspaces/0-skinny-mink-of-management/input/public/images/1292.jpg +0 -0
  215. package/workspaces/0-skinny-mink-of-management/input/public/images/1294.jpg +0 -0
  216. package/workspaces/0-skinny-mink-of-management/input/public/images/1296.jpg +0 -0
  217. package/workspaces/0-skinny-mink-of-management/input/public/images/1299.jpg +0 -0
  218. package/workspaces/0-skinny-mink-of-management/input/public/images/130.jpg +0 -0
  219. package/workspaces/0-skinny-mink-of-management/input/public/images/1300.jpg +0 -0
  220. package/workspaces/0-skinny-mink-of-management/input/public/images/1301.jpg +0 -0
  221. package/workspaces/0-skinny-mink-of-management/input/public/images/1302.jpg +0 -0
  222. package/workspaces/0-skinny-mink-of-management/input/public/images/1305.jpg +0 -0
  223. package/workspaces/0-skinny-mink-of-management/input/public/images/1308.jpg +0 -0
  224. package/workspaces/0-skinny-mink-of-management/input/public/images/1309.jpg +0 -0
  225. package/workspaces/0-skinny-mink-of-management/input/public/images/1310.jpg +0 -0
  226. package/workspaces/0-skinny-mink-of-management/input/public/images/1311.jpg +0 -0
  227. package/workspaces/0-skinny-mink-of-management/input/public/images/1312.jpg +0 -0
  228. package/workspaces/0-skinny-mink-of-management/input/public/images/1317.jpg +0 -0
  229. package/workspaces/0-skinny-mink-of-management/input/public/images/1319.jpg +0 -0
  230. package/workspaces/0-skinny-mink-of-management/input/public/images/132.jpg +0 -0
  231. package/workspaces/0-skinny-mink-of-management/input/public/images/1320.jpg +0 -0
  232. package/workspaces/0-skinny-mink-of-management/input/public/images/1322.jpg +0 -0
  233. package/workspaces/0-skinny-mink-of-management/input/public/images/1323.jpg +0 -0
  234. package/workspaces/0-skinny-mink-of-management/input/public/images/1324.jpg +0 -0
  235. package/workspaces/0-skinny-mink-of-management/input/public/images/1325.jpg +0 -0
  236. package/workspaces/0-skinny-mink-of-management/input/public/images/1326.jpg +0 -0
  237. package/workspaces/0-skinny-mink-of-management/input/public/images/1327.jpg +0 -0
  238. package/workspaces/0-skinny-mink-of-management/input/public/images/1328.jpg +0 -0
  239. package/workspaces/0-skinny-mink-of-management/input/public/images/1329.jpg +0 -0
  240. package/workspaces/0-skinny-mink-of-management/input/public/images/133.jpg +0 -0
  241. package/workspaces/0-skinny-mink-of-management/input/public/images/1330.jpg +0 -0
  242. package/workspaces/0-skinny-mink-of-management/input/public/images/1335.jpg +0 -0
  243. package/workspaces/0-skinny-mink-of-management/input/public/images/1337.jpg +0 -0
  244. package/workspaces/0-skinny-mink-of-management/input/public/images/1339.jpg +0 -0
  245. package/workspaces/0-skinny-mink-of-management/input/public/images/134.jpg +0 -0
  246. package/workspaces/0-skinny-mink-of-management/input/public/images/1340.jpg +0 -0
  247. package/workspaces/0-skinny-mink-of-management/input/public/images/1341.jpg +0 -0
  248. package/workspaces/0-skinny-mink-of-management/input/public/images/1342.jpg +0 -0
  249. package/workspaces/0-skinny-mink-of-management/input/public/images/1344.jpg +0 -0
  250. package/workspaces/0-skinny-mink-of-management/input/public/images/1345.jpg +0 -0
  251. package/workspaces/0-skinny-mink-of-management/input/public/images/1346.jpg +0 -0
  252. package/workspaces/0-skinny-mink-of-management/input/public/images/1347.jpg +0 -0
  253. package/workspaces/0-skinny-mink-of-management/input/public/images/1348.jpg +0 -0
  254. package/workspaces/0-skinny-mink-of-management/input/public/images/1349.jpg +0 -0
  255. package/workspaces/0-skinny-mink-of-management/input/public/images/1350.jpg +0 -0
  256. package/workspaces/0-skinny-mink-of-management/input/public/images/1352.jpg +0 -0
  257. package/workspaces/0-skinny-mink-of-management/input/public/images/1353.jpg +0 -0
  258. package/workspaces/0-skinny-mink-of-management/input/public/images/1355.jpg +0 -0
  259. package/workspaces/0-skinny-mink-of-management/input/public/images/1356.jpg +0 -0
  260. package/workspaces/0-skinny-mink-of-management/input/public/images/1358.jpg +0 -0
  261. package/workspaces/0-skinny-mink-of-management/input/public/images/1359.jpg +0 -0
  262. package/workspaces/0-skinny-mink-of-management/input/public/images/1360.jpg +0 -0
  263. package/workspaces/0-skinny-mink-of-management/input/public/images/1365.jpg +0 -0
  264. package/workspaces/0-skinny-mink-of-management/input/public/images/1366.jpg +0 -0
  265. package/workspaces/0-skinny-mink-of-management/input/public/images/1367.jpg +0 -0
  266. package/workspaces/0-skinny-mink-of-management/input/public/images/1370.jpg +0 -0
  267. package/workspaces/0-skinny-mink-of-management/input/public/images/1372.jpg +0 -0
  268. package/workspaces/0-skinny-mink-of-management/input/public/images/1373.jpg +0 -0
  269. package/workspaces/0-skinny-mink-of-management/input/public/images/1374.jpg +0 -0
  270. package/workspaces/0-skinny-mink-of-management/input/public/images/1375.jpg +0 -0
  271. package/workspaces/0-skinny-mink-of-management/input/public/images/1377.jpg +0 -0
  272. package/workspaces/0-skinny-mink-of-management/input/public/images/1378.jpg +0 -0
  273. package/workspaces/0-skinny-mink-of-management/input/public/images/1379.jpg +0 -0
  274. package/workspaces/0-skinny-mink-of-management/input/public/images/1380.jpg +0 -0
  275. package/workspaces/0-skinny-mink-of-management/input/public/images/1381.jpg +0 -0
  276. package/workspaces/0-skinny-mink-of-management/input/public/images/1384.jpg +0 -0
  277. package/workspaces/0-skinny-mink-of-management/input/public/images/1386.jpg +0 -0
  278. package/workspaces/0-skinny-mink-of-management/input/public/images/1388.jpg +0 -0
  279. package/workspaces/0-skinny-mink-of-management/input/public/images/139.jpg +0 -0
  280. package/workspaces/0-skinny-mink-of-management/input/public/images/1390.jpg +0 -0
  281. package/workspaces/0-skinny-mink-of-management/input/public/images/1391.jpg +0 -0
  282. package/workspaces/0-skinny-mink-of-management/input/public/images/1392.jpg +0 -0
  283. package/workspaces/0-skinny-mink-of-management/input/public/images/1393.jpg +0 -0
  284. package/workspaces/0-skinny-mink-of-management/input/public/images/1394.jpg +0 -0
  285. package/workspaces/0-skinny-mink-of-management/input/public/images/1395.jpg +0 -0
  286. package/workspaces/0-skinny-mink-of-management/input/public/images/1396.jpg +0 -0
  287. package/workspaces/0-skinny-mink-of-management/input/public/images/1398.jpg +0 -0
  288. package/workspaces/0-skinny-mink-of-management/input/public/images/1399.jpg +0 -0
  289. package/workspaces/0-skinny-mink-of-management/input/public/images/14.jpg +0 -0
  290. package/workspaces/0-skinny-mink-of-management/input/public/images/140.jpg +0 -0
  291. package/workspaces/0-skinny-mink-of-management/input/public/images/1402.jpg +0 -0
  292. package/workspaces/0-skinny-mink-of-management/input/public/images/1403.jpg +0 -0
  293. package/workspaces/0-skinny-mink-of-management/input/public/images/1405.jpg +0 -0
  294. package/workspaces/0-skinny-mink-of-management/input/public/images/1408.jpg +0 -0
  295. package/workspaces/0-skinny-mink-of-management/input/public/images/1410.jpg +0 -0
  296. package/workspaces/0-skinny-mink-of-management/input/public/images/1411.jpg +0 -0
  297. package/workspaces/0-skinny-mink-of-management/input/public/images/1413.jpg +0 -0
  298. package/workspaces/0-skinny-mink-of-management/input/public/images/1414.jpg +0 -0
  299. package/workspaces/0-skinny-mink-of-management/input/public/images/1417.jpg +0 -0
  300. package/workspaces/0-skinny-mink-of-management/input/public/images/1419.jpg +0 -0
  301. package/workspaces/0-skinny-mink-of-management/input/public/images/142.jpg +0 -0
  302. package/workspaces/0-skinny-mink-of-management/input/public/images/1420.jpg +0 -0
  303. package/workspaces/0-skinny-mink-of-management/input/public/images/1423.jpg +0 -0
  304. package/workspaces/0-skinny-mink-of-management/input/public/images/1424.jpg +0 -0
  305. package/workspaces/0-skinny-mink-of-management/input/public/images/1425.jpg +0 -0
  306. package/workspaces/0-skinny-mink-of-management/input/public/images/143.jpg +0 -0
  307. package/workspaces/0-skinny-mink-of-management/input/public/images/1431.jpg +0 -0
  308. package/workspaces/0-skinny-mink-of-management/input/public/images/1432.jpg +0 -0
  309. package/workspaces/0-skinny-mink-of-management/input/public/images/1435.jpg +0 -0
  310. package/workspaces/0-skinny-mink-of-management/input/public/images/1436.jpg +0 -0
  311. package/workspaces/0-skinny-mink-of-management/input/public/images/1438.jpg +0 -0
  312. package/workspaces/0-skinny-mink-of-management/input/public/images/1440.jpg +0 -0
  313. package/workspaces/0-skinny-mink-of-management/input/public/images/1441.jpg +0 -0
  314. package/workspaces/0-skinny-mink-of-management/input/public/images/1442.jpg +0 -0
  315. package/workspaces/0-skinny-mink-of-management/input/public/images/1443.jpg +0 -0
  316. package/workspaces/0-skinny-mink-of-management/input/public/images/1444.jpg +0 -0
  317. package/workspaces/0-skinny-mink-of-management/input/public/images/1446.jpg +0 -0
  318. package/workspaces/0-skinny-mink-of-management/input/public/images/1448.jpg +0 -0
  319. package/workspaces/0-skinny-mink-of-management/input/public/images/1449.jpg +0 -0
  320. package/workspaces/0-skinny-mink-of-management/input/public/images/145.jpg +0 -0
  321. package/workspaces/0-skinny-mink-of-management/input/public/images/1450.jpg +0 -0
  322. package/workspaces/0-skinny-mink-of-management/input/public/images/1452.jpg +0 -0
  323. package/workspaces/0-skinny-mink-of-management/input/public/images/1454.jpg +0 -0
  324. package/workspaces/0-skinny-mink-of-management/input/public/images/1457.jpg +0 -0
  325. package/workspaces/0-skinny-mink-of-management/input/public/images/1459.jpg +0 -0
  326. package/workspaces/0-skinny-mink-of-management/input/public/images/146.jpg +0 -0
  327. package/workspaces/0-skinny-mink-of-management/input/public/images/1460.jpg +0 -0
  328. package/workspaces/0-skinny-mink-of-management/input/public/images/1461.jpg +0 -0
  329. package/workspaces/0-skinny-mink-of-management/input/public/images/1463.jpg +0 -0
  330. package/workspaces/0-skinny-mink-of-management/input/public/images/1467.jpg +0 -0
  331. package/workspaces/0-skinny-mink-of-management/input/public/images/1468.jpg +0 -0
  332. package/workspaces/0-skinny-mink-of-management/input/public/images/1469.jpg +0 -0
  333. package/workspaces/0-skinny-mink-of-management/input/public/images/1471.jpg +0 -0
  334. package/workspaces/0-skinny-mink-of-management/input/public/images/1472.jpg +0 -0
  335. package/workspaces/0-skinny-mink-of-management/input/public/images/1473.jpg +0 -0
  336. package/workspaces/0-skinny-mink-of-management/input/public/images/1474.jpg +0 -0
  337. package/workspaces/0-skinny-mink-of-management/input/public/images/1475.jpg +0 -0
  338. package/workspaces/0-skinny-mink-of-management/input/public/images/1476.jpg +0 -0
  339. package/workspaces/0-skinny-mink-of-management/input/public/images/1477.jpg +0 -0
  340. package/workspaces/0-skinny-mink-of-management/input/public/images/1479.jpg +0 -0
  341. package/workspaces/0-skinny-mink-of-management/input/public/images/148.jpg +0 -0
  342. package/workspaces/0-skinny-mink-of-management/input/public/images/1480.jpg +0 -0
  343. package/workspaces/0-skinny-mink-of-management/input/public/images/1482.jpg +0 -0
  344. package/workspaces/0-skinny-mink-of-management/input/public/images/1483.jpg +0 -0
  345. package/workspaces/0-skinny-mink-of-management/input/public/images/1488.jpg +0 -0
  346. package/workspaces/0-skinny-mink-of-management/input/public/images/149.jpg +0 -0
  347. package/workspaces/0-skinny-mink-of-management/input/public/images/1491.jpg +0 -0
  348. package/workspaces/0-skinny-mink-of-management/input/public/images/1492.jpg +0 -0
  349. package/workspaces/0-skinny-mink-of-management/input/public/images/1494.jpg +0 -0
  350. package/workspaces/0-skinny-mink-of-management/input/public/images/1496.jpg +0 -0
  351. package/workspaces/0-skinny-mink-of-management/input/public/images/1499.jpg +0 -0
  352. package/workspaces/0-skinny-mink-of-management/input/public/images/15.jpg +0 -0
  353. package/workspaces/0-skinny-mink-of-management/input/public/images/1500.jpg +0 -0
  354. package/workspaces/0-skinny-mink-of-management/input/public/images/1501.jpg +0 -0
  355. package/workspaces/0-skinny-mink-of-management/input/public/images/1502.jpg +0 -0
  356. package/workspaces/0-skinny-mink-of-management/input/public/images/1504.jpg +0 -0
  357. package/workspaces/0-skinny-mink-of-management/input/public/images/1505.jpg +0 -0
  358. package/workspaces/0-skinny-mink-of-management/input/public/images/1506.jpg +0 -0
  359. package/workspaces/0-skinny-mink-of-management/input/public/images/1507.jpg +0 -0
  360. package/workspaces/0-skinny-mink-of-management/input/public/images/1508.jpg +0 -0
  361. package/workspaces/0-skinny-mink-of-management/input/public/images/1509.jpg +0 -0
  362. package/workspaces/0-skinny-mink-of-management/input/public/images/1511.jpg +0 -0
  363. package/workspaces/0-skinny-mink-of-management/input/public/images/1512.jpg +0 -0
  364. package/workspaces/0-skinny-mink-of-management/input/public/images/1514.jpg +0 -0
  365. package/workspaces/0-skinny-mink-of-management/input/public/images/1515.jpg +0 -0
  366. package/workspaces/0-skinny-mink-of-management/input/public/images/1516.jpg +0 -0
  367. package/workspaces/0-skinny-mink-of-management/input/public/images/1518.jpg +0 -0
  368. package/workspaces/0-skinny-mink-of-management/input/public/images/1519.jpg +0 -0
  369. package/workspaces/0-skinny-mink-of-management/input/public/images/152.jpg +0 -0
  370. package/workspaces/0-skinny-mink-of-management/input/public/images/1520.jpg +0 -0
  371. package/workspaces/0-skinny-mink-of-management/input/public/images/1521.jpg +0 -0
  372. package/workspaces/0-skinny-mink-of-management/input/public/images/1523.jpg +0 -0
  373. package/workspaces/0-skinny-mink-of-management/input/public/images/1524.jpg +0 -0
  374. package/workspaces/0-skinny-mink-of-management/input/public/images/1525.jpg +0 -0
  375. package/workspaces/0-skinny-mink-of-management/input/public/images/1527.jpg +0 -0
  376. package/workspaces/0-skinny-mink-of-management/input/public/images/1529.jpg +0 -0
  377. package/workspaces/0-skinny-mink-of-management/input/public/images/153.jpg +0 -0
  378. package/workspaces/0-skinny-mink-of-management/input/public/images/1530.jpg +0 -0
  379. package/workspaces/0-skinny-mink-of-management/input/public/images/1531.jpg +0 -0
  380. package/workspaces/0-skinny-mink-of-management/input/public/images/1532.jpg +0 -0
  381. package/workspaces/0-skinny-mink-of-management/input/public/images/1536.jpg +0 -0
  382. package/workspaces/0-skinny-mink-of-management/input/public/images/1538.jpg +0 -0
  383. package/workspaces/0-skinny-mink-of-management/input/public/images/1539.jpg +0 -0
  384. package/workspaces/0-skinny-mink-of-management/input/public/images/1541.jpg +0 -0
  385. package/workspaces/0-skinny-mink-of-management/input/public/images/1543.jpg +0 -0
  386. package/workspaces/0-skinny-mink-of-management/input/public/images/1544.jpg +0 -0
  387. package/workspaces/0-skinny-mink-of-management/input/public/images/1545.jpg +0 -0
  388. package/workspaces/0-skinny-mink-of-management/input/public/images/1547.jpg +0 -0
  389. package/workspaces/0-skinny-mink-of-management/input/public/images/1548.jpg +0 -0
  390. package/workspaces/0-skinny-mink-of-management/input/public/images/1549.jpg +0 -0
  391. package/workspaces/0-skinny-mink-of-management/input/public/images/155.jpg +0 -0
  392. package/workspaces/0-skinny-mink-of-management/input/public/images/1550.jpg +0 -0
  393. package/workspaces/0-skinny-mink-of-management/input/public/images/1551.jpg +0 -0
  394. package/workspaces/0-skinny-mink-of-management/input/public/images/1552.jpg +0 -0
  395. package/workspaces/0-skinny-mink-of-management/input/public/images/1554.jpg +0 -0
  396. package/workspaces/0-skinny-mink-of-management/input/public/images/1555.jpg +0 -0
  397. package/workspaces/0-skinny-mink-of-management/input/public/images/1556.jpg +0 -0
  398. package/workspaces/0-skinny-mink-of-management/input/public/images/1557.jpg +0 -0
  399. package/workspaces/0-skinny-mink-of-management/input/public/images/1559.jpg +0 -0
  400. package/workspaces/0-skinny-mink-of-management/input/public/images/1561.jpg +0 -0
  401. package/workspaces/0-skinny-mink-of-management/input/public/images/1562.jpg +0 -0
  402. package/workspaces/0-skinny-mink-of-management/input/public/images/1563.jpg +0 -0
  403. package/workspaces/0-skinny-mink-of-management/input/public/images/1566.jpg +0 -0
  404. package/workspaces/0-skinny-mink-of-management/input/public/images/1568.jpg +0 -0
  405. package/workspaces/0-skinny-mink-of-management/input/public/images/1569.jpg +0 -0
  406. package/workspaces/0-skinny-mink-of-management/input/public/images/1570.jpg +0 -0
  407. package/workspaces/0-skinny-mink-of-management/input/public/images/1571.jpg +0 -0
  408. package/workspaces/0-skinny-mink-of-management/input/public/images/1572.jpg +0 -0
  409. package/workspaces/0-skinny-mink-of-management/input/public/images/1574.jpg +0 -0
  410. package/workspaces/0-skinny-mink-of-management/input/public/images/1575.jpg +0 -0
  411. package/workspaces/0-skinny-mink-of-management/input/public/images/1578.jpg +0 -0
  412. package/workspaces/0-skinny-mink-of-management/input/public/images/1581.jpg +0 -0
  413. package/workspaces/0-skinny-mink-of-management/input/public/images/1582.jpg +0 -0
  414. package/workspaces/0-skinny-mink-of-management/input/public/images/1584.jpg +0 -0
  415. package/workspaces/0-skinny-mink-of-management/input/public/images/160.jpg +0 -0
  416. package/workspaces/0-skinny-mink-of-management/input/public/images/163.jpg +0 -0
  417. package/workspaces/0-skinny-mink-of-management/input/public/images/164.jpg +0 -0
  418. package/workspaces/0-skinny-mink-of-management/input/public/images/165.jpg +0 -0
  419. package/workspaces/0-skinny-mink-of-management/input/public/images/166.jpg +0 -0
  420. package/workspaces/0-skinny-mink-of-management/input/public/images/167.jpg +0 -0
  421. package/workspaces/0-skinny-mink-of-management/input/public/images/168.jpg +0 -0
  422. package/workspaces/0-skinny-mink-of-management/input/public/images/169.jpg +0 -0
  423. package/workspaces/0-skinny-mink-of-management/input/public/images/17.jpg +0 -0
  424. package/workspaces/0-skinny-mink-of-management/input/public/images/171.jpg +0 -0
  425. package/workspaces/0-skinny-mink-of-management/input/public/images/173.jpg +0 -0
  426. package/workspaces/0-skinny-mink-of-management/input/public/images/175.jpg +0 -0
  427. package/workspaces/0-skinny-mink-of-management/input/public/images/178.jpg +0 -0
  428. package/workspaces/0-skinny-mink-of-management/input/public/images/179.jpg +0 -0
  429. package/workspaces/0-skinny-mink-of-management/input/public/images/18.jpg +0 -0
  430. package/workspaces/0-skinny-mink-of-management/input/public/images/183.jpg +0 -0
  431. package/workspaces/0-skinny-mink-of-management/input/public/images/186.jpg +0 -0
  432. package/workspaces/0-skinny-mink-of-management/input/public/images/188.jpg +0 -0
  433. package/workspaces/0-skinny-mink-of-management/input/public/images/189.jpg +0 -0
  434. package/workspaces/0-skinny-mink-of-management/input/public/images/190.jpg +0 -0
  435. package/workspaces/0-skinny-mink-of-management/input/public/images/194.jpg +0 -0
  436. package/workspaces/0-skinny-mink-of-management/input/public/images/196.jpg +0 -0
  437. package/workspaces/0-skinny-mink-of-management/input/public/images/198.jpg +0 -0
  438. package/workspaces/0-skinny-mink-of-management/input/public/images/199.jpg +0 -0
  439. package/workspaces/0-skinny-mink-of-management/input/public/images/2.jpg +0 -0
  440. package/workspaces/0-skinny-mink-of-management/input/public/images/20.jpg +0 -0
  441. package/workspaces/0-skinny-mink-of-management/input/public/images/201.jpg +0 -0
  442. package/workspaces/0-skinny-mink-of-management/input/public/images/202.jpg +0 -0
  443. package/workspaces/0-skinny-mink-of-management/input/public/images/203.jpg +0 -0
  444. package/workspaces/0-skinny-mink-of-management/input/public/images/204.jpg +0 -0
  445. package/workspaces/0-skinny-mink-of-management/input/public/images/206.jpg +0 -0
  446. package/workspaces/0-skinny-mink-of-management/input/public/images/21.jpg +0 -0
  447. package/workspaces/0-skinny-mink-of-management/input/public/images/211.jpg +0 -0
  448. package/workspaces/0-skinny-mink-of-management/input/public/images/212.jpg +0 -0
  449. package/workspaces/0-skinny-mink-of-management/input/public/images/214.jpg +0 -0
  450. package/workspaces/0-skinny-mink-of-management/input/public/images/215.jpg +0 -0
  451. package/workspaces/0-skinny-mink-of-management/input/public/images/216.jpg +0 -0
  452. package/workspaces/0-skinny-mink-of-management/input/public/images/217.jpg +0 -0
  453. package/workspaces/0-skinny-mink-of-management/input/public/images/218.jpg +0 -0
  454. package/workspaces/0-skinny-mink-of-management/input/public/images/219.jpg +0 -0
  455. package/workspaces/0-skinny-mink-of-management/input/public/images/22.jpg +0 -0
  456. package/workspaces/0-skinny-mink-of-management/input/public/images/224.jpg +0 -0
  457. package/workspaces/0-skinny-mink-of-management/input/public/images/225.jpg +0 -0
  458. package/workspaces/0-skinny-mink-of-management/input/public/images/227.jpg +0 -0
  459. package/workspaces/0-skinny-mink-of-management/input/public/images/228.jpg +0 -0
  460. package/workspaces/0-skinny-mink-of-management/input/public/images/231.jpg +0 -0
  461. package/workspaces/0-skinny-mink-of-management/input/public/images/233.jpg +0 -0
  462. package/workspaces/0-skinny-mink-of-management/input/public/images/235.jpg +0 -0
  463. package/workspaces/0-skinny-mink-of-management/input/public/images/237.jpg +0 -0
  464. package/workspaces/0-skinny-mink-of-management/input/public/images/238.jpg +0 -0
  465. package/workspaces/0-skinny-mink-of-management/input/public/images/239.jpg +0 -0
  466. package/workspaces/0-skinny-mink-of-management/input/public/images/240.jpg +0 -0
  467. package/workspaces/0-skinny-mink-of-management/input/public/images/241.jpg +0 -0
  468. package/workspaces/0-skinny-mink-of-management/input/public/images/242.jpg +0 -0
  469. package/workspaces/0-skinny-mink-of-management/input/public/images/243.jpg +0 -0
  470. package/workspaces/0-skinny-mink-of-management/input/public/images/245.jpg +0 -0
  471. package/workspaces/0-skinny-mink-of-management/input/public/images/246.jpg +0 -0
  472. package/workspaces/0-skinny-mink-of-management/input/public/images/247.jpg +0 -0
  473. package/workspaces/0-skinny-mink-of-management/input/public/images/248.jpg +0 -0
  474. package/workspaces/0-skinny-mink-of-management/input/public/images/249.jpg +0 -0
  475. package/workspaces/0-skinny-mink-of-management/input/public/images/25.jpg +0 -0
  476. package/workspaces/0-skinny-mink-of-management/input/public/images/252.jpg +0 -0
  477. package/workspaces/0-skinny-mink-of-management/input/public/images/253.jpg +0 -0
  478. package/workspaces/0-skinny-mink-of-management/input/public/images/256.jpg +0 -0
  479. package/workspaces/0-skinny-mink-of-management/input/public/images/257.jpg +0 -0
  480. package/workspaces/0-skinny-mink-of-management/input/public/images/258.jpg +0 -0
  481. package/workspaces/0-skinny-mink-of-management/input/public/images/259.jpg +0 -0
  482. package/workspaces/0-skinny-mink-of-management/input/public/images/26.jpg +0 -0
  483. package/workspaces/0-skinny-mink-of-management/input/public/images/260.jpg +0 -0
  484. package/workspaces/0-skinny-mink-of-management/input/public/images/262.jpg +0 -0
  485. package/workspaces/0-skinny-mink-of-management/input/public/images/263.jpg +0 -0
  486. package/workspaces/0-skinny-mink-of-management/input/public/images/265.jpg +0 -0
  487. package/workspaces/0-skinny-mink-of-management/input/public/images/267.jpg +0 -0
  488. package/workspaces/0-skinny-mink-of-management/input/public/images/268.jpg +0 -0
  489. package/workspaces/0-skinny-mink-of-management/input/public/images/269.jpg +0 -0
  490. package/workspaces/0-skinny-mink-of-management/input/public/images/27.jpg +0 -0
  491. package/workspaces/0-skinny-mink-of-management/input/public/images/270.jpg +0 -0
  492. package/workspaces/0-skinny-mink-of-management/input/public/images/273.jpg +0 -0
  493. package/workspaces/0-skinny-mink-of-management/input/public/images/275.jpg +0 -0
  494. package/workspaces/0-skinny-mink-of-management/input/public/images/278.jpg +0 -0
  495. package/workspaces/0-skinny-mink-of-management/input/public/images/280.jpg +0 -0
  496. package/workspaces/0-skinny-mink-of-management/input/public/images/282.jpg +0 -0
  497. package/workspaces/0-skinny-mink-of-management/input/public/images/283.jpg +0 -0
  498. package/workspaces/0-skinny-mink-of-management/input/public/images/286.jpg +0 -0
  499. package/workspaces/0-skinny-mink-of-management/input/public/images/288.jpg +0 -0
  500. package/workspaces/0-skinny-mink-of-management/input/public/images/289.jpg +0 -0
  501. package/workspaces/0-skinny-mink-of-management/input/public/images/29.jpg +0 -0
  502. package/workspaces/0-skinny-mink-of-management/input/public/images/290.jpg +0 -0
  503. package/workspaces/0-skinny-mink-of-management/input/public/images/291.jpg +0 -0
  504. package/workspaces/0-skinny-mink-of-management/input/public/images/294.jpg +0 -0
  505. package/workspaces/0-skinny-mink-of-management/input/public/images/298.jpg +0 -0
  506. package/workspaces/0-skinny-mink-of-management/input/public/images/3.jpg +0 -0
  507. package/workspaces/0-skinny-mink-of-management/input/public/images/30.jpg +0 -0
  508. package/workspaces/0-skinny-mink-of-management/input/public/images/302.jpg +0 -0
  509. package/workspaces/0-skinny-mink-of-management/input/public/images/303.jpg +0 -0
  510. package/workspaces/0-skinny-mink-of-management/input/public/images/304.jpg +0 -0
  511. package/workspaces/0-skinny-mink-of-management/input/public/images/306.jpg +0 -0
  512. package/workspaces/0-skinny-mink-of-management/input/public/images/307.jpg +0 -0
  513. package/workspaces/0-skinny-mink-of-management/input/public/images/309.jpg +0 -0
  514. package/workspaces/0-skinny-mink-of-management/input/public/images/31.jpg +0 -0
  515. package/workspaces/0-skinny-mink-of-management/input/public/images/310.jpg +0 -0
  516. package/workspaces/0-skinny-mink-of-management/input/public/images/311.jpg +0 -0
  517. package/workspaces/0-skinny-mink-of-management/input/public/images/314.jpg +0 -0
  518. package/workspaces/0-skinny-mink-of-management/input/public/images/315.jpg +0 -0
  519. package/workspaces/0-skinny-mink-of-management/input/public/images/317.jpg +0 -0
  520. package/workspaces/0-skinny-mink-of-management/input/public/images/319.jpg +0 -0
  521. package/workspaces/0-skinny-mink-of-management/input/public/images/32.jpg +0 -0
  522. package/workspaces/0-skinny-mink-of-management/input/public/images/321.jpg +0 -0
  523. package/workspaces/0-skinny-mink-of-management/input/public/images/322.jpg +0 -0
  524. package/workspaces/0-skinny-mink-of-management/input/public/images/323.jpg +0 -0
  525. package/workspaces/0-skinny-mink-of-management/input/public/images/324.jpg +0 -0
  526. package/workspaces/0-skinny-mink-of-management/input/public/images/325.jpg +0 -0
  527. package/workspaces/0-skinny-mink-of-management/input/public/images/326.jpg +0 -0
  528. package/workspaces/0-skinny-mink-of-management/input/public/images/327.jpg +0 -0
  529. package/workspaces/0-skinny-mink-of-management/input/public/images/328.jpg +0 -0
  530. package/workspaces/0-skinny-mink-of-management/input/public/images/329.jpg +0 -0
  531. package/workspaces/0-skinny-mink-of-management/input/public/images/330.jpg +0 -0
  532. package/workspaces/0-skinny-mink-of-management/input/public/images/331.jpg +0 -0
  533. package/workspaces/0-skinny-mink-of-management/input/public/images/333.jpg +0 -0
  534. package/workspaces/0-skinny-mink-of-management/input/public/images/334.jpg +0 -0
  535. package/workspaces/0-skinny-mink-of-management/input/public/images/335.jpg +0 -0
  536. package/workspaces/0-skinny-mink-of-management/input/public/images/336.jpg +0 -0
  537. package/workspaces/0-skinny-mink-of-management/input/public/images/338.jpg +0 -0
  538. package/workspaces/0-skinny-mink-of-management/input/public/images/339.jpg +0 -0
  539. package/workspaces/0-skinny-mink-of-management/input/public/images/34.jpg +0 -0
  540. package/workspaces/0-skinny-mink-of-management/input/public/images/340.jpg +0 -0
  541. package/workspaces/0-skinny-mink-of-management/input/public/images/341.jpg +0 -0
  542. package/workspaces/0-skinny-mink-of-management/input/public/images/342.jpg +0 -0
  543. package/workspaces/0-skinny-mink-of-management/input/public/images/344.jpg +0 -0
  544. package/workspaces/0-skinny-mink-of-management/input/public/images/345.jpg +0 -0
  545. package/workspaces/0-skinny-mink-of-management/input/public/images/348.jpg +0 -0
  546. package/workspaces/0-skinny-mink-of-management/input/public/images/349.jpg +0 -0
  547. package/workspaces/0-skinny-mink-of-management/input/public/images/35.jpg +0 -0
  548. package/workspaces/0-skinny-mink-of-management/input/public/images/350.jpg +0 -0
  549. package/workspaces/0-skinny-mink-of-management/input/public/images/354.jpg +0 -0
  550. package/workspaces/0-skinny-mink-of-management/input/public/images/355.jpg +0 -0
  551. package/workspaces/0-skinny-mink-of-management/input/public/images/356.jpg +0 -0
  552. package/workspaces/0-skinny-mink-of-management/input/public/images/357.jpg +0 -0
  553. package/workspaces/0-skinny-mink-of-management/input/public/images/358.jpg +0 -0
  554. package/workspaces/0-skinny-mink-of-management/input/public/images/360.jpg +0 -0
  555. package/workspaces/0-skinny-mink-of-management/input/public/images/362.jpg +0 -0
  556. package/workspaces/0-skinny-mink-of-management/input/public/images/363.jpg +0 -0
  557. package/workspaces/0-skinny-mink-of-management/input/public/images/364.jpg +0 -0
  558. package/workspaces/0-skinny-mink-of-management/input/public/images/365.jpg +0 -0
  559. package/workspaces/0-skinny-mink-of-management/input/public/images/366.jpg +0 -0
  560. package/workspaces/0-skinny-mink-of-management/input/public/images/367.jpg +0 -0
  561. package/workspaces/0-skinny-mink-of-management/input/public/images/369.jpg +0 -0
  562. package/workspaces/0-skinny-mink-of-management/input/public/images/37.jpg +0 -0
  563. package/workspaces/0-skinny-mink-of-management/input/public/images/371.jpg +0 -0
  564. package/workspaces/0-skinny-mink-of-management/input/public/images/374.jpg +0 -0
  565. package/workspaces/0-skinny-mink-of-management/input/public/images/375.jpg +0 -0
  566. package/workspaces/0-skinny-mink-of-management/input/public/images/376.jpg +0 -0
  567. package/workspaces/0-skinny-mink-of-management/input/public/images/377.jpg +0 -0
  568. package/workspaces/0-skinny-mink-of-management/input/public/images/379.jpg +0 -0
  569. package/workspaces/0-skinny-mink-of-management/input/public/images/38.jpg +0 -0
  570. package/workspaces/0-skinny-mink-of-management/input/public/images/380.jpg +0 -0
  571. package/workspaces/0-skinny-mink-of-management/input/public/images/382.jpg +0 -0
  572. package/workspaces/0-skinny-mink-of-management/input/public/images/383.jpg +0 -0
  573. package/workspaces/0-skinny-mink-of-management/input/public/images/386.jpg +0 -0
  574. package/workspaces/0-skinny-mink-of-management/input/public/images/387.jpg +0 -0
  575. package/workspaces/0-skinny-mink-of-management/input/public/images/388.jpg +0 -0
  576. package/workspaces/0-skinny-mink-of-management/input/public/images/389.jpg +0 -0
  577. package/workspaces/0-skinny-mink-of-management/input/public/images/390.jpg +0 -0
  578. package/workspaces/0-skinny-mink-of-management/input/public/images/392.jpg +0 -0
  579. package/workspaces/0-skinny-mink-of-management/input/public/images/393.jpg +0 -0
  580. package/workspaces/0-skinny-mink-of-management/input/public/images/394.jpg +0 -0
  581. package/workspaces/0-skinny-mink-of-management/input/public/images/396.jpg +0 -0
  582. package/workspaces/0-skinny-mink-of-management/input/public/images/397.jpg +0 -0
  583. package/workspaces/0-skinny-mink-of-management/input/public/images/398.jpg +0 -0
  584. package/workspaces/0-skinny-mink-of-management/input/public/images/40.jpg +0 -0
  585. package/workspaces/0-skinny-mink-of-management/input/public/images/404.jpg +0 -0
  586. package/workspaces/0-skinny-mink-of-management/input/public/images/408.jpg +0 -0
  587. package/workspaces/0-skinny-mink-of-management/input/public/images/409.jpg +0 -0
  588. package/workspaces/0-skinny-mink-of-management/input/public/images/410.jpg +0 -0
  589. package/workspaces/0-skinny-mink-of-management/input/public/images/411.jpg +0 -0
  590. package/workspaces/0-skinny-mink-of-management/input/public/images/412.jpg +0 -0
  591. package/workspaces/0-skinny-mink-of-management/input/public/images/413.jpg +0 -0
  592. package/workspaces/0-skinny-mink-of-management/input/public/images/415.jpg +0 -0
  593. package/workspaces/0-skinny-mink-of-management/input/public/images/416.jpg +0 -0
  594. package/workspaces/0-skinny-mink-of-management/input/public/images/417.jpg +0 -0
  595. package/workspaces/0-skinny-mink-of-management/input/public/images/418.jpg +0 -0
  596. package/workspaces/0-skinny-mink-of-management/input/public/images/419.jpg +0 -0
  597. package/workspaces/0-skinny-mink-of-management/input/public/images/42.jpg +0 -0
  598. package/workspaces/0-skinny-mink-of-management/input/public/images/420.jpg +0 -0
  599. package/workspaces/0-skinny-mink-of-management/input/public/images/423.jpg +0 -0
  600. package/workspaces/0-skinny-mink-of-management/input/public/images/425.jpg +0 -0
  601. package/workspaces/0-skinny-mink-of-management/input/public/images/426.jpg +0 -0
  602. package/workspaces/0-skinny-mink-of-management/input/public/images/427.jpg +0 -0
  603. package/workspaces/0-skinny-mink-of-management/input/public/images/428.jpg +0 -0
  604. package/workspaces/0-skinny-mink-of-management/input/public/images/43.jpg +0 -0
  605. package/workspaces/0-skinny-mink-of-management/input/public/images/430.jpg +0 -0
  606. package/workspaces/0-skinny-mink-of-management/input/public/images/431.jpg +0 -0
  607. package/workspaces/0-skinny-mink-of-management/input/public/images/433.jpg +0 -0
  608. package/workspaces/0-skinny-mink-of-management/input/public/images/435.jpg +0 -0
  609. package/workspaces/0-skinny-mink-of-management/input/public/images/436.jpg +0 -0
  610. package/workspaces/0-skinny-mink-of-management/input/public/images/437.jpg +0 -0
  611. package/workspaces/0-skinny-mink-of-management/input/public/images/438.jpg +0 -0
  612. package/workspaces/0-skinny-mink-of-management/input/public/images/440.jpg +0 -0
  613. package/workspaces/0-skinny-mink-of-management/input/public/images/443.jpg +0 -0
  614. package/workspaces/0-skinny-mink-of-management/input/public/images/444.jpg +0 -0
  615. package/workspaces/0-skinny-mink-of-management/input/public/images/445.jpg +0 -0
  616. package/workspaces/0-skinny-mink-of-management/input/public/images/446.jpg +0 -0
  617. package/workspaces/0-skinny-mink-of-management/input/public/images/449.jpg +0 -0
  618. package/workspaces/0-skinny-mink-of-management/input/public/images/45.jpg +0 -0
  619. package/workspaces/0-skinny-mink-of-management/input/public/images/450.jpg +0 -0
  620. package/workspaces/0-skinny-mink-of-management/input/public/images/451.jpg +0 -0
  621. package/workspaces/0-skinny-mink-of-management/input/public/images/452.jpg +0 -0
  622. package/workspaces/0-skinny-mink-of-management/input/public/images/454.jpg +0 -0
  623. package/workspaces/0-skinny-mink-of-management/input/public/images/455.jpg +0 -0
  624. package/workspaces/0-skinny-mink-of-management/input/public/images/456.jpg +0 -0
  625. package/workspaces/0-skinny-mink-of-management/input/public/images/458.jpg +0 -0
  626. package/workspaces/0-skinny-mink-of-management/input/public/images/459.jpg +0 -0
  627. package/workspaces/0-skinny-mink-of-management/input/public/images/460.jpg +0 -0
  628. package/workspaces/0-skinny-mink-of-management/input/public/images/461.jpg +0 -0
  629. package/workspaces/0-skinny-mink-of-management/input/public/images/462.jpg +0 -0
  630. package/workspaces/0-skinny-mink-of-management/input/public/images/463.jpg +0 -0
  631. package/workspaces/0-skinny-mink-of-management/input/public/images/464.jpg +0 -0
  632. package/workspaces/0-skinny-mink-of-management/input/public/images/466.jpg +0 -0
  633. package/workspaces/0-skinny-mink-of-management/input/public/images/467.jpg +0 -0
  634. package/workspaces/0-skinny-mink-of-management/input/public/images/468.jpg +0 -0
  635. package/workspaces/0-skinny-mink-of-management/input/public/images/469.jpg +0 -0
  636. package/workspaces/0-skinny-mink-of-management/input/public/images/470.jpg +0 -0
  637. package/workspaces/0-skinny-mink-of-management/input/public/images/475.jpg +0 -0
  638. package/workspaces/0-skinny-mink-of-management/input/public/images/478.jpg +0 -0
  639. package/workspaces/0-skinny-mink-of-management/input/public/images/48.jpg +0 -0
  640. package/workspaces/0-skinny-mink-of-management/input/public/images/481.jpg +0 -0
  641. package/workspaces/0-skinny-mink-of-management/input/public/images/482.jpg +0 -0
  642. package/workspaces/0-skinny-mink-of-management/input/public/images/485.jpg +0 -0
  643. package/workspaces/0-skinny-mink-of-management/input/public/images/487.jpg +0 -0
  644. package/workspaces/0-skinny-mink-of-management/input/public/images/488.jpg +0 -0
  645. package/workspaces/0-skinny-mink-of-management/input/public/images/489.jpg +0 -0
  646. package/workspaces/0-skinny-mink-of-management/input/public/images/49.jpg +0 -0
  647. package/workspaces/0-skinny-mink-of-management/input/public/images/490.jpg +0 -0
  648. package/workspaces/0-skinny-mink-of-management/input/public/images/491.jpg +0 -0
  649. package/workspaces/0-skinny-mink-of-management/input/public/images/492.jpg +0 -0
  650. package/workspaces/0-skinny-mink-of-management/input/public/images/493.jpg +0 -0
  651. package/workspaces/0-skinny-mink-of-management/input/public/images/494.jpg +0 -0
  652. package/workspaces/0-skinny-mink-of-management/input/public/images/496.jpg +0 -0
  653. package/workspaces/0-skinny-mink-of-management/input/public/images/497.jpg +0 -0
  654. package/workspaces/0-skinny-mink-of-management/input/public/images/498.jpg +0 -0
  655. package/workspaces/0-skinny-mink-of-management/input/public/images/499.jpg +0 -0
  656. package/workspaces/0-skinny-mink-of-management/input/public/images/5.jpg +0 -0
  657. package/workspaces/0-skinny-mink-of-management/input/public/images/50.jpg +0 -0
  658. package/workspaces/0-skinny-mink-of-management/input/public/images/501.jpg +0 -0
  659. package/workspaces/0-skinny-mink-of-management/input/public/images/502.jpg +0 -0
  660. package/workspaces/0-skinny-mink-of-management/input/public/images/505.jpg +0 -0
  661. package/workspaces/0-skinny-mink-of-management/input/public/images/506.jpg +0 -0
  662. package/workspaces/0-skinny-mink-of-management/input/public/images/508.jpg +0 -0
  663. package/workspaces/0-skinny-mink-of-management/input/public/images/510.jpg +0 -0
  664. package/workspaces/0-skinny-mink-of-management/input/public/images/511.jpg +0 -0
  665. package/workspaces/0-skinny-mink-of-management/input/public/images/513.jpg +0 -0
  666. package/workspaces/0-skinny-mink-of-management/input/public/images/514.jpg +0 -0
  667. package/workspaces/0-skinny-mink-of-management/input/public/images/516.jpg +0 -0
  668. package/workspaces/0-skinny-mink-of-management/input/public/images/517.jpg +0 -0
  669. package/workspaces/0-skinny-mink-of-management/input/public/images/519.jpg +0 -0
  670. package/workspaces/0-skinny-mink-of-management/input/public/images/520.jpg +0 -0
  671. package/workspaces/0-skinny-mink-of-management/input/public/images/521.jpg +0 -0
  672. package/workspaces/0-skinny-mink-of-management/input/public/images/522.jpg +0 -0
  673. package/workspaces/0-skinny-mink-of-management/input/public/images/523.jpg +0 -0
  674. package/workspaces/0-skinny-mink-of-management/input/public/images/524.jpg +0 -0
  675. package/workspaces/0-skinny-mink-of-management/input/public/images/528.jpg +0 -0
  676. package/workspaces/0-skinny-mink-of-management/input/public/images/530.jpg +0 -0
  677. package/workspaces/0-skinny-mink-of-management/input/public/images/532.jpg +0 -0
  678. package/workspaces/0-skinny-mink-of-management/input/public/images/535.jpg +0 -0
  679. package/workspaces/0-skinny-mink-of-management/input/public/images/538.jpg +0 -0
  680. package/workspaces/0-skinny-mink-of-management/input/public/images/539.jpg +0 -0
  681. package/workspaces/0-skinny-mink-of-management/input/public/images/54.jpg +0 -0
  682. package/workspaces/0-skinny-mink-of-management/input/public/images/542.jpg +0 -0
  683. package/workspaces/0-skinny-mink-of-management/input/public/images/543.jpg +0 -0
  684. package/workspaces/0-skinny-mink-of-management/input/public/images/545.jpg +0 -0
  685. package/workspaces/0-skinny-mink-of-management/input/public/images/547.jpg +0 -0
  686. package/workspaces/0-skinny-mink-of-management/input/public/images/548.jpg +0 -0
  687. package/workspaces/0-skinny-mink-of-management/input/public/images/55.jpg +0 -0
  688. package/workspaces/0-skinny-mink-of-management/input/public/images/550.jpg +0 -0
  689. package/workspaces/0-skinny-mink-of-management/input/public/images/551.jpg +0 -0
  690. package/workspaces/0-skinny-mink-of-management/input/public/images/552.jpg +0 -0
  691. package/workspaces/0-skinny-mink-of-management/input/public/images/553.jpg +0 -0
  692. package/workspaces/0-skinny-mink-of-management/input/public/images/556.jpg +0 -0
  693. package/workspaces/0-skinny-mink-of-management/input/public/images/558.jpg +0 -0
  694. package/workspaces/0-skinny-mink-of-management/input/public/images/559.jpg +0 -0
  695. package/workspaces/0-skinny-mink-of-management/input/public/images/56.jpg +0 -0
  696. package/workspaces/0-skinny-mink-of-management/input/public/images/561.jpg +0 -0
  697. package/workspaces/0-skinny-mink-of-management/input/public/images/562.jpg +0 -0
  698. package/workspaces/0-skinny-mink-of-management/input/public/images/563.jpg +0 -0
  699. package/workspaces/0-skinny-mink-of-management/input/public/images/564.jpg +0 -0
  700. package/workspaces/0-skinny-mink-of-management/input/public/images/566.jpg +0 -0
  701. package/workspaces/0-skinny-mink-of-management/input/public/images/568.jpg +0 -0
  702. package/workspaces/0-skinny-mink-of-management/input/public/images/569.jpg +0 -0
  703. package/workspaces/0-skinny-mink-of-management/input/public/images/570.jpg +0 -0
  704. package/workspaces/0-skinny-mink-of-management/input/public/images/571.jpg +0 -0
  705. package/workspaces/0-skinny-mink-of-management/input/public/images/572.jpg +0 -0
  706. package/workspaces/0-skinny-mink-of-management/input/public/images/573.jpg +0 -0
  707. package/workspaces/0-skinny-mink-of-management/input/public/images/576.jpg +0 -0
  708. package/workspaces/0-skinny-mink-of-management/input/public/images/58.jpg +0 -0
  709. package/workspaces/0-skinny-mink-of-management/input/public/images/581.jpg +0 -0
  710. package/workspaces/0-skinny-mink-of-management/input/public/images/582.jpg +0 -0
  711. package/workspaces/0-skinny-mink-of-management/input/public/images/585.jpg +0 -0
  712. package/workspaces/0-skinny-mink-of-management/input/public/images/588.jpg +0 -0
  713. package/workspaces/0-skinny-mink-of-management/input/public/images/589.jpg +0 -0
  714. package/workspaces/0-skinny-mink-of-management/input/public/images/592.jpg +0 -0
  715. package/workspaces/0-skinny-mink-of-management/input/public/images/593.jpg +0 -0
  716. package/workspaces/0-skinny-mink-of-management/input/public/images/595.jpg +0 -0
  717. package/workspaces/0-skinny-mink-of-management/input/public/images/596.jpg +0 -0
  718. package/workspaces/0-skinny-mink-of-management/input/public/images/597.jpg +0 -0
  719. package/workspaces/0-skinny-mink-of-management/input/public/images/598.jpg +0 -0
  720. package/workspaces/0-skinny-mink-of-management/input/public/images/6.jpg +0 -0
  721. package/workspaces/0-skinny-mink-of-management/input/public/images/60.jpg +0 -0
  722. package/workspaces/0-skinny-mink-of-management/input/public/images/600.jpg +0 -0
  723. package/workspaces/0-skinny-mink-of-management/input/public/images/601.jpg +0 -0
  724. package/workspaces/0-skinny-mink-of-management/input/public/images/603.jpg +0 -0
  725. package/workspaces/0-skinny-mink-of-management/input/public/images/605.jpg +0 -0
  726. package/workspaces/0-skinny-mink-of-management/input/public/images/606.jpg +0 -0
  727. package/workspaces/0-skinny-mink-of-management/input/public/images/609.jpg +0 -0
  728. package/workspaces/0-skinny-mink-of-management/input/public/images/61.jpg +0 -0
  729. package/workspaces/0-skinny-mink-of-management/input/public/images/610.jpg +0 -0
  730. package/workspaces/0-skinny-mink-of-management/input/public/images/614.jpg +0 -0
  731. package/workspaces/0-skinny-mink-of-management/input/public/images/615.jpg +0 -0
  732. package/workspaces/0-skinny-mink-of-management/input/public/images/616.jpg +0 -0
  733. package/workspaces/0-skinny-mink-of-management/input/public/images/618.jpg +0 -0
  734. package/workspaces/0-skinny-mink-of-management/input/public/images/619.jpg +0 -0
  735. package/workspaces/0-skinny-mink-of-management/input/public/images/620.jpg +0 -0
  736. package/workspaces/0-skinny-mink-of-management/input/public/images/621.jpg +0 -0
  737. package/workspaces/0-skinny-mink-of-management/input/public/images/622.jpg +0 -0
  738. package/workspaces/0-skinny-mink-of-management/input/public/images/623.jpg +0 -0
  739. package/workspaces/0-skinny-mink-of-management/input/public/images/628.jpg +0 -0
  740. package/workspaces/0-skinny-mink-of-management/input/public/images/629.jpg +0 -0
  741. package/workspaces/0-skinny-mink-of-management/input/public/images/63.jpg +0 -0
  742. package/workspaces/0-skinny-mink-of-management/input/public/images/630.jpg +0 -0
  743. package/workspaces/0-skinny-mink-of-management/input/public/images/631.jpg +0 -0
  744. package/workspaces/0-skinny-mink-of-management/input/public/images/632.jpg +0 -0
  745. package/workspaces/0-skinny-mink-of-management/input/public/images/633.jpg +0 -0
  746. package/workspaces/0-skinny-mink-of-management/input/public/images/634.jpg +0 -0
  747. package/workspaces/0-skinny-mink-of-management/input/public/images/635.jpg +0 -0
  748. package/workspaces/0-skinny-mink-of-management/input/public/images/636.jpg +0 -0
  749. package/workspaces/0-skinny-mink-of-management/input/public/images/637.jpg +0 -0
  750. package/workspaces/0-skinny-mink-of-management/input/public/images/64.jpg +0 -0
  751. package/workspaces/0-skinny-mink-of-management/input/public/images/641.jpg +0 -0
  752. package/workspaces/0-skinny-mink-of-management/input/public/images/642.jpg +0 -0
  753. package/workspaces/0-skinny-mink-of-management/input/public/images/645.jpg +0 -0
  754. package/workspaces/0-skinny-mink-of-management/input/public/images/646.jpg +0 -0
  755. package/workspaces/0-skinny-mink-of-management/input/public/images/647.jpg +0 -0
  756. package/workspaces/0-skinny-mink-of-management/input/public/images/649.jpg +0 -0
  757. package/workspaces/0-skinny-mink-of-management/input/public/images/651.jpg +0 -0
  758. package/workspaces/0-skinny-mink-of-management/input/public/images/652.jpg +0 -0
  759. package/workspaces/0-skinny-mink-of-management/input/public/images/654.jpg +0 -0
  760. package/workspaces/0-skinny-mink-of-management/input/public/images/656.jpg +0 -0
  761. package/workspaces/0-skinny-mink-of-management/input/public/images/657.jpg +0 -0
  762. package/workspaces/0-skinny-mink-of-management/input/public/images/66.jpg +0 -0
  763. package/workspaces/0-skinny-mink-of-management/input/public/images/660.jpg +0 -0
  764. package/workspaces/0-skinny-mink-of-management/input/public/images/661.jpg +0 -0
  765. package/workspaces/0-skinny-mink-of-management/input/public/images/662.jpg +0 -0
  766. package/workspaces/0-skinny-mink-of-management/input/public/images/663.jpg +0 -0
  767. package/workspaces/0-skinny-mink-of-management/input/public/images/664.jpg +0 -0
  768. package/workspaces/0-skinny-mink-of-management/input/public/images/667.jpg +0 -0
  769. package/workspaces/0-skinny-mink-of-management/input/public/images/669.jpg +0 -0
  770. package/workspaces/0-skinny-mink-of-management/input/public/images/67.jpg +0 -0
  771. package/workspaces/0-skinny-mink-of-management/input/public/images/671.jpg +0 -0
  772. package/workspaces/0-skinny-mink-of-management/input/public/images/672.jpg +0 -0
  773. package/workspaces/0-skinny-mink-of-management/input/public/images/673.jpg +0 -0
  774. package/workspaces/0-skinny-mink-of-management/input/public/images/675.jpg +0 -0
  775. package/workspaces/0-skinny-mink-of-management/input/public/images/676.jpg +0 -0
  776. package/workspaces/0-skinny-mink-of-management/input/public/images/677.jpg +0 -0
  777. package/workspaces/0-skinny-mink-of-management/input/public/images/678.jpg +0 -0
  778. package/workspaces/0-skinny-mink-of-management/input/public/images/680.jpg +0 -0
  779. package/workspaces/0-skinny-mink-of-management/input/public/images/681.jpg +0 -0
  780. package/workspaces/0-skinny-mink-of-management/input/public/images/682.jpg +0 -0
  781. package/workspaces/0-skinny-mink-of-management/input/public/images/684.jpg +0 -0
  782. package/workspaces/0-skinny-mink-of-management/input/public/images/685.jpg +0 -0
  783. package/workspaces/0-skinny-mink-of-management/input/public/images/689.jpg +0 -0
  784. package/workspaces/0-skinny-mink-of-management/input/public/images/69.jpg +0 -0
  785. package/workspaces/0-skinny-mink-of-management/input/public/images/692.jpg +0 -0
  786. package/workspaces/0-skinny-mink-of-management/input/public/images/693.jpg +0 -0
  787. package/workspaces/0-skinny-mink-of-management/input/public/images/694.jpg +0 -0
  788. package/workspaces/0-skinny-mink-of-management/input/public/images/695.jpg +0 -0
  789. package/workspaces/0-skinny-mink-of-management/input/public/images/697.jpg +0 -0
  790. package/workspaces/0-skinny-mink-of-management/input/public/images/698.jpg +0 -0
  791. package/workspaces/0-skinny-mink-of-management/input/public/images/700.jpg +0 -0
  792. package/workspaces/0-skinny-mink-of-management/input/public/images/704.jpg +0 -0
  793. package/workspaces/0-skinny-mink-of-management/input/public/images/706.jpg +0 -0
  794. package/workspaces/0-skinny-mink-of-management/input/public/images/709.jpg +0 -0
  795. package/workspaces/0-skinny-mink-of-management/input/public/images/71.jpg +0 -0
  796. package/workspaces/0-skinny-mink-of-management/input/public/images/710.jpg +0 -0
  797. package/workspaces/0-skinny-mink-of-management/input/public/images/711.jpg +0 -0
  798. package/workspaces/0-skinny-mink-of-management/input/public/images/712.jpg +0 -0
  799. package/workspaces/0-skinny-mink-of-management/input/public/images/713.jpg +0 -0
  800. package/workspaces/0-skinny-mink-of-management/input/public/images/714.jpg +0 -0
  801. package/workspaces/0-skinny-mink-of-management/input/public/images/716.jpg +0 -0
  802. package/workspaces/0-skinny-mink-of-management/input/public/images/717.jpg +0 -0
  803. package/workspaces/0-skinny-mink-of-management/input/public/images/718.jpg +0 -0
  804. package/workspaces/0-skinny-mink-of-management/input/public/images/72.jpg +0 -0
  805. package/workspaces/0-skinny-mink-of-management/input/public/images/720.jpg +0 -0
  806. package/workspaces/0-skinny-mink-of-management/input/public/images/721.jpg +0 -0
  807. package/workspaces/0-skinny-mink-of-management/input/public/images/722.jpg +0 -0
  808. package/workspaces/0-skinny-mink-of-management/input/public/images/724.jpg +0 -0
  809. package/workspaces/0-skinny-mink-of-management/input/public/images/726.jpg +0 -0
  810. package/workspaces/0-skinny-mink-of-management/input/public/images/727.jpg +0 -0
  811. package/workspaces/0-skinny-mink-of-management/input/public/images/728.jpg +0 -0
  812. package/workspaces/0-skinny-mink-of-management/input/public/images/73.jpg +0 -0
  813. package/workspaces/0-skinny-mink-of-management/input/public/images/730.jpg +0 -0
  814. package/workspaces/0-skinny-mink-of-management/input/public/images/732.jpg +0 -0
  815. package/workspaces/0-skinny-mink-of-management/input/public/images/733.jpg +0 -0
  816. package/workspaces/0-skinny-mink-of-management/input/public/images/737.jpg +0 -0
  817. package/workspaces/0-skinny-mink-of-management/input/public/images/738.jpg +0 -0
  818. package/workspaces/0-skinny-mink-of-management/input/public/images/740.jpg +0 -0
  819. package/workspaces/0-skinny-mink-of-management/input/public/images/741.jpg +0 -0
  820. package/workspaces/0-skinny-mink-of-management/input/public/images/742.jpg +0 -0
  821. package/workspaces/0-skinny-mink-of-management/input/public/images/745.jpg +0 -0
  822. package/workspaces/0-skinny-mink-of-management/input/public/images/747.jpg +0 -0
  823. package/workspaces/0-skinny-mink-of-management/input/public/images/748.jpg +0 -0
  824. package/workspaces/0-skinny-mink-of-management/input/public/images/749.jpg +0 -0
  825. package/workspaces/0-skinny-mink-of-management/input/public/images/75.jpg +0 -0
  826. package/workspaces/0-skinny-mink-of-management/input/public/images/752.jpg +0 -0
  827. package/workspaces/0-skinny-mink-of-management/input/public/images/753.jpg +0 -0
  828. package/workspaces/0-skinny-mink-of-management/input/public/images/754.jpg +0 -0
  829. package/workspaces/0-skinny-mink-of-management/input/public/images/755.jpg +0 -0
  830. package/workspaces/0-skinny-mink-of-management/input/public/images/756.jpg +0 -0
  831. package/workspaces/0-skinny-mink-of-management/input/public/images/757.jpg +0 -0
  832. package/workspaces/0-skinny-mink-of-management/input/public/images/758.jpg +0 -0
  833. package/workspaces/0-skinny-mink-of-management/input/public/images/759.jpg +0 -0
  834. package/workspaces/0-skinny-mink-of-management/input/public/images/76.jpg +0 -0
  835. package/workspaces/0-skinny-mink-of-management/input/public/images/760.jpg +0 -0
  836. package/workspaces/0-skinny-mink-of-management/input/public/images/762.jpg +0 -0
  837. package/workspaces/0-skinny-mink-of-management/input/public/images/763.jpg +0 -0
  838. package/workspaces/0-skinny-mink-of-management/input/public/images/765.jpg +0 -0
  839. package/workspaces/0-skinny-mink-of-management/input/public/images/766.jpg +0 -0
  840. package/workspaces/0-skinny-mink-of-management/input/public/images/767.jpg +0 -0
  841. package/workspaces/0-skinny-mink-of-management/input/public/images/768.jpg +0 -0
  842. package/workspaces/0-skinny-mink-of-management/input/public/images/769.jpg +0 -0
  843. package/workspaces/0-skinny-mink-of-management/input/public/images/771.jpg +0 -0
  844. package/workspaces/0-skinny-mink-of-management/input/public/images/772.jpg +0 -0
  845. package/workspaces/0-skinny-mink-of-management/input/public/images/774.jpg +0 -0
  846. package/workspaces/0-skinny-mink-of-management/input/public/images/776.jpg +0 -0
  847. package/workspaces/0-skinny-mink-of-management/input/public/images/777.jpg +0 -0
  848. package/workspaces/0-skinny-mink-of-management/input/public/images/778.jpg +0 -0
  849. package/workspaces/0-skinny-mink-of-management/input/public/images/779.jpg +0 -0
  850. package/workspaces/0-skinny-mink-of-management/input/public/images/78.jpg +0 -0
  851. package/workspaces/0-skinny-mink-of-management/input/public/images/784.jpg +0 -0
  852. package/workspaces/0-skinny-mink-of-management/input/public/images/785.jpg +0 -0
  853. package/workspaces/0-skinny-mink-of-management/input/public/images/787.jpg +0 -0
  854. package/workspaces/0-skinny-mink-of-management/input/public/images/788.jpg +0 -0
  855. package/workspaces/0-skinny-mink-of-management/input/public/images/789.jpg +0 -0
  856. package/workspaces/0-skinny-mink-of-management/input/public/images/792.jpg +0 -0
  857. package/workspaces/0-skinny-mink-of-management/input/public/images/793.jpg +0 -0
  858. package/workspaces/0-skinny-mink-of-management/input/public/images/794.jpg +0 -0
  859. package/workspaces/0-skinny-mink-of-management/input/public/images/796.jpg +0 -0
  860. package/workspaces/0-skinny-mink-of-management/input/public/images/797.jpg +0 -0
  861. package/workspaces/0-skinny-mink-of-management/input/public/images/798.jpg +0 -0
  862. package/workspaces/0-skinny-mink-of-management/input/public/images/8.jpg +0 -0
  863. package/workspaces/0-skinny-mink-of-management/input/public/images/80.jpg +0 -0
  864. package/workspaces/0-skinny-mink-of-management/input/public/images/800.jpg +0 -0
  865. package/workspaces/0-skinny-mink-of-management/input/public/images/801.jpg +0 -0
  866. package/workspaces/0-skinny-mink-of-management/input/public/images/802.jpg +0 -0
  867. package/workspaces/0-skinny-mink-of-management/input/public/images/803.jpg +0 -0
  868. package/workspaces/0-skinny-mink-of-management/input/public/images/805.jpg +0 -0
  869. package/workspaces/0-skinny-mink-of-management/input/public/images/806.jpg +0 -0
  870. package/workspaces/0-skinny-mink-of-management/input/public/images/807.jpg +0 -0
  871. package/workspaces/0-skinny-mink-of-management/input/public/images/808.jpg +0 -0
  872. package/workspaces/0-skinny-mink-of-management/input/public/images/809.jpg +0 -0
  873. package/workspaces/0-skinny-mink-of-management/input/public/images/81.jpg +0 -0
  874. package/workspaces/0-skinny-mink-of-management/input/public/images/810.jpg +0 -0
  875. package/workspaces/0-skinny-mink-of-management/input/public/images/811.jpg +0 -0
  876. package/workspaces/0-skinny-mink-of-management/input/public/images/812.jpg +0 -0
  877. package/workspaces/0-skinny-mink-of-management/input/public/images/813.jpg +0 -0
  878. package/workspaces/0-skinny-mink-of-management/input/public/images/815.jpg +0 -0
  879. package/workspaces/0-skinny-mink-of-management/input/public/images/816.jpg +0 -0
  880. package/workspaces/0-skinny-mink-of-management/input/public/images/82.jpg +0 -0
  881. package/workspaces/0-skinny-mink-of-management/input/public/images/821.jpg +0 -0
  882. package/workspaces/0-skinny-mink-of-management/input/public/images/822.jpg +0 -0
  883. package/workspaces/0-skinny-mink-of-management/input/public/images/823.jpg +0 -0
  884. package/workspaces/0-skinny-mink-of-management/input/public/images/824.jpg +0 -0
  885. package/workspaces/0-skinny-mink-of-management/input/public/images/825.jpg +0 -0
  886. package/workspaces/0-skinny-mink-of-management/input/public/images/826.jpg +0 -0
  887. package/workspaces/0-skinny-mink-of-management/input/public/images/827.jpg +0 -0
  888. package/workspaces/0-skinny-mink-of-management/input/public/images/828.jpg +0 -0
  889. package/workspaces/0-skinny-mink-of-management/input/public/images/83.jpg +0 -0
  890. package/workspaces/0-skinny-mink-of-management/input/public/images/831.jpg +0 -0
  891. package/workspaces/0-skinny-mink-of-management/input/public/images/837.jpg +0 -0
  892. package/workspaces/0-skinny-mink-of-management/input/public/images/838.jpg +0 -0
  893. package/workspaces/0-skinny-mink-of-management/input/public/images/839.jpg +0 -0
  894. package/workspaces/0-skinny-mink-of-management/input/public/images/84.jpg +0 -0
  895. package/workspaces/0-skinny-mink-of-management/input/public/images/840.jpg +0 -0
  896. package/workspaces/0-skinny-mink-of-management/input/public/images/841.jpg +0 -0
  897. package/workspaces/0-skinny-mink-of-management/input/public/images/844.jpg +0 -0
  898. package/workspaces/0-skinny-mink-of-management/input/public/images/847.jpg +0 -0
  899. package/workspaces/0-skinny-mink-of-management/input/public/images/848.jpg +0 -0
  900. package/workspaces/0-skinny-mink-of-management/input/public/images/849.jpg +0 -0
  901. package/workspaces/0-skinny-mink-of-management/input/public/images/85.jpg +0 -0
  902. package/workspaces/0-skinny-mink-of-management/input/public/images/850.jpg +0 -0
  903. package/workspaces/0-skinny-mink-of-management/input/public/images/851.jpg +0 -0
  904. package/workspaces/0-skinny-mink-of-management/input/public/images/852.jpg +0 -0
  905. package/workspaces/0-skinny-mink-of-management/input/public/images/853.jpg +0 -0
  906. package/workspaces/0-skinny-mink-of-management/input/public/images/854.jpg +0 -0
  907. package/workspaces/0-skinny-mink-of-management/input/public/images/855.jpg +0 -0
  908. package/workspaces/0-skinny-mink-of-management/input/public/images/856.jpg +0 -0
  909. package/workspaces/0-skinny-mink-of-management/input/public/images/858.jpg +0 -0
  910. package/workspaces/0-skinny-mink-of-management/input/public/images/859.jpg +0 -0
  911. package/workspaces/0-skinny-mink-of-management/input/public/images/860.jpg +0 -0
  912. package/workspaces/0-skinny-mink-of-management/input/public/images/861.jpg +0 -0
  913. package/workspaces/0-skinny-mink-of-management/input/public/images/862.jpg +0 -0
  914. package/workspaces/0-skinny-mink-of-management/input/public/images/863.jpg +0 -0
  915. package/workspaces/0-skinny-mink-of-management/input/public/images/864.jpg +0 -0
  916. package/workspaces/0-skinny-mink-of-management/input/public/images/865.jpg +0 -0
  917. package/workspaces/0-skinny-mink-of-management/input/public/images/866.jpg +0 -0
  918. package/workspaces/0-skinny-mink-of-management/input/public/images/867.jpg +0 -0
  919. package/workspaces/0-skinny-mink-of-management/input/public/images/868.jpg +0 -0
  920. package/workspaces/0-skinny-mink-of-management/input/public/images/869.jpg +0 -0
  921. package/workspaces/0-skinny-mink-of-management/input/public/images/87.jpg +0 -0
  922. package/workspaces/0-skinny-mink-of-management/input/public/images/870.jpg +0 -0
  923. package/workspaces/0-skinny-mink-of-management/input/public/images/871.jpg +0 -0
  924. package/workspaces/0-skinny-mink-of-management/input/public/images/873.jpg +0 -0
  925. package/workspaces/0-skinny-mink-of-management/input/public/images/874.jpg +0 -0
  926. package/workspaces/0-skinny-mink-of-management/input/public/images/875.jpg +0 -0
  927. package/workspaces/0-skinny-mink-of-management/input/public/images/876.jpg +0 -0
  928. package/workspaces/0-skinny-mink-of-management/input/public/images/877.jpg +0 -0
  929. package/workspaces/0-skinny-mink-of-management/input/public/images/878.jpg +0 -0
  930. package/workspaces/0-skinny-mink-of-management/input/public/images/879.jpg +0 -0
  931. package/workspaces/0-skinny-mink-of-management/input/public/images/88.jpg +0 -0
  932. package/workspaces/0-skinny-mink-of-management/input/public/images/881.jpg +0 -0
  933. package/workspaces/0-skinny-mink-of-management/input/public/images/882.jpg +0 -0
  934. package/workspaces/0-skinny-mink-of-management/input/public/images/883.jpg +0 -0
  935. package/workspaces/0-skinny-mink-of-management/input/public/images/885.jpg +0 -0
  936. package/workspaces/0-skinny-mink-of-management/input/public/images/886.jpg +0 -0
  937. package/workspaces/0-skinny-mink-of-management/input/public/images/892.jpg +0 -0
  938. package/workspaces/0-skinny-mink-of-management/input/public/images/893.jpg +0 -0
  939. package/workspaces/0-skinny-mink-of-management/input/public/images/894.jpg +0 -0
  940. package/workspaces/0-skinny-mink-of-management/input/public/images/896.jpg +0 -0
  941. package/workspaces/0-skinny-mink-of-management/input/public/images/897.jpg +0 -0
  942. package/workspaces/0-skinny-mink-of-management/input/public/images/898.jpg +0 -0
  943. package/workspaces/0-skinny-mink-of-management/input/public/images/899.jpg +0 -0
  944. package/workspaces/0-skinny-mink-of-management/input/public/images/900.jpg +0 -0
  945. package/workspaces/0-skinny-mink-of-management/input/public/images/901.jpg +0 -0
  946. package/workspaces/0-skinny-mink-of-management/input/public/images/904.jpg +0 -0
  947. package/workspaces/0-skinny-mink-of-management/input/public/images/906.jpg +0 -0
  948. package/workspaces/0-skinny-mink-of-management/input/public/images/907.jpg +0 -0
  949. package/workspaces/0-skinny-mink-of-management/input/public/images/908.jpg +0 -0
  950. package/workspaces/0-skinny-mink-of-management/input/public/images/910.jpg +0 -0
  951. package/workspaces/0-skinny-mink-of-management/input/public/images/911.jpg +0 -0
  952. package/workspaces/0-skinny-mink-of-management/input/public/images/912.jpg +0 -0
  953. package/workspaces/0-skinny-mink-of-management/input/public/images/914.jpg +0 -0
  954. package/workspaces/0-skinny-mink-of-management/input/public/images/915.jpg +0 -0
  955. package/workspaces/0-skinny-mink-of-management/input/public/images/916.jpg +0 -0
  956. package/workspaces/0-skinny-mink-of-management/input/public/images/917.jpg +0 -0
  957. package/workspaces/0-skinny-mink-of-management/input/public/images/918.jpg +0 -0
  958. package/workspaces/0-skinny-mink-of-management/input/public/images/919.jpg +0 -0
  959. package/workspaces/0-skinny-mink-of-management/input/public/images/92.jpg +0 -0
  960. package/workspaces/0-skinny-mink-of-management/input/public/images/920.jpg +0 -0
  961. package/workspaces/0-skinny-mink-of-management/input/public/images/923.jpg +0 -0
  962. package/workspaces/0-skinny-mink-of-management/input/public/images/924.jpg +0 -0
  963. package/workspaces/0-skinny-mink-of-management/input/public/images/926.jpg +0 -0
  964. package/workspaces/0-skinny-mink-of-management/input/public/images/927.jpg +0 -0
  965. package/workspaces/0-skinny-mink-of-management/input/public/images/928.jpg +0 -0
  966. package/workspaces/0-skinny-mink-of-management/input/public/images/931.jpg +0 -0
  967. package/workspaces/0-skinny-mink-of-management/input/public/images/932.jpg +0 -0
  968. package/workspaces/0-skinny-mink-of-management/input/public/images/933.jpg +0 -0
  969. package/workspaces/0-skinny-mink-of-management/input/public/images/934.jpg +0 -0
  970. package/workspaces/0-skinny-mink-of-management/input/public/images/936.jpg +0 -0
  971. package/workspaces/0-skinny-mink-of-management/input/public/images/937.jpg +0 -0
  972. package/workspaces/0-skinny-mink-of-management/input/public/images/938.jpg +0 -0
  973. package/workspaces/0-skinny-mink-of-management/input/public/images/939.jpg +0 -0
  974. package/workspaces/0-skinny-mink-of-management/input/public/images/942.jpg +0 -0
  975. package/workspaces/0-skinny-mink-of-management/input/public/images/944.jpg +0 -0
  976. package/workspaces/0-skinny-mink-of-management/input/public/images/948.jpg +0 -0
  977. package/workspaces/0-skinny-mink-of-management/input/public/images/949.jpg +0 -0
  978. package/workspaces/0-skinny-mink-of-management/input/public/images/951.jpg +0 -0
  979. package/workspaces/0-skinny-mink-of-management/input/public/images/952.jpg +0 -0
  980. package/workspaces/0-skinny-mink-of-management/input/public/images/954.jpg +0 -0
  981. package/workspaces/0-skinny-mink-of-management/input/public/images/955.jpg +0 -0
  982. package/workspaces/0-skinny-mink-of-management/input/public/images/956.jpg +0 -0
  983. package/workspaces/0-skinny-mink-of-management/input/public/images/958.jpg +0 -0
  984. package/workspaces/0-skinny-mink-of-management/input/public/images/959.jpg +0 -0
  985. package/workspaces/0-skinny-mink-of-management/input/public/images/960.jpg +0 -0
  986. package/workspaces/0-skinny-mink-of-management/input/public/images/961.jpg +0 -0
  987. package/workspaces/0-skinny-mink-of-management/input/public/images/962.jpg +0 -0
  988. package/workspaces/0-skinny-mink-of-management/input/public/images/963.jpg +0 -0
  989. package/workspaces/0-skinny-mink-of-management/input/public/images/966.jpg +0 -0
  990. package/workspaces/0-skinny-mink-of-management/input/public/images/968.jpg +0 -0
  991. package/workspaces/0-skinny-mink-of-management/input/public/images/969.jpg +0 -0
  992. package/workspaces/0-skinny-mink-of-management/input/public/images/970.jpg +0 -0
  993. package/workspaces/0-skinny-mink-of-management/input/public/images/971.jpg +0 -0
  994. package/workspaces/0-skinny-mink-of-management/input/public/images/972.jpg +0 -0
  995. package/workspaces/0-skinny-mink-of-management/input/public/images/975.jpg +0 -0
  996. package/workspaces/0-skinny-mink-of-management/input/public/images/976.jpg +0 -0
  997. package/workspaces/0-skinny-mink-of-management/input/public/images/978.jpg +0 -0
  998. package/workspaces/0-skinny-mink-of-management/input/public/images/979.jpg +0 -0
  999. package/workspaces/0-skinny-mink-of-management/input/public/images/981.jpg +0 -0
  1000. package/workspaces/0-skinny-mink-of-management/input/public/images/983.jpg +0 -0
  1001. package/workspaces/0-skinny-mink-of-management/input/public/images/985.jpg +0 -0
  1002. package/workspaces/0-skinny-mink-of-management/input/public/images/987.jpg +0 -0
  1003. package/workspaces/0-skinny-mink-of-management/input/public/images/989.jpg +0 -0
  1004. package/workspaces/0-skinny-mink-of-management/input/public/images/990.jpg +0 -0
  1005. package/workspaces/0-skinny-mink-of-management/input/public/images/992.jpg +0 -0
  1006. package/workspaces/0-skinny-mink-of-management/input/public/images/993.jpg +0 -0
  1007. package/workspaces/0-skinny-mink-of-management/input/public/images/994.jpg +0 -0
  1008. package/workspaces/0-skinny-mink-of-management/input/public/images/995.jpg +0 -0
  1009. package/workspaces/0-skinny-mink-of-management/input/public/images/996.jpg +0 -0
  1010. package/workspaces/0-skinny-mink-of-management/input/public/images/999.jpg +0 -0
  1011. package/workspaces/0-skinny-mink-of-management/input/public/sample_submission.csv +0 -100
  1012. package/workspaces/0-skinny-mink-of-management/input/public/test.csv +0 -100
  1013. package/workspaces/0-skinny-mink-of-management/input/public/train.csv +0 -892
  1014. package/workspaces/0-skinny-mink-of-management/working/submission.csv +0 -100
  1015. package/workspaces/santa-2025/EXISTING_SOLUTION_ANALYSIS.md +0 -181
  1016. package/workspaces/santa-2025/FINAL_ANALYSIS_SUMMARY.md +0 -126
  1017. package/workspaces/santa-2025/FINAL_RECOMMENDATION.md +0 -189
  1018. package/workspaces/santa-2025/FINAL_REPORT.md +0 -207
  1019. package/workspaces/santa-2025/INDEX.md +0 -136
  1020. package/workspaces/santa-2025/PROGRESS.md +0 -210
  1021. package/workspaces/santa-2025/QUICK_WINS_ANALYSIS.md +0 -158
  1022. package/workspaces/santa-2025/README.md +0 -165
  1023. package/workspaces/santa-2025/SUMMARY.md +0 -239
  1024. package/workspaces/santa-2025/advanced_optimizer.py +0 -293
  1025. package/workspaces/santa-2025/analysis_summary.txt +0 -69
  1026. package/workspaces/santa-2025/baseline_log.txt +0 -21
  1027. package/workspaces/santa-2025/baseline_solution.py +0 -237
  1028. package/workspaces/santa-2025/baseline_submission.csv +0 -20101
  1029. package/workspaces/santa-2025/competition_data_page.html +0 -131
  1030. package/workspaces/santa-2025/competition_page.html +0 -131
  1031. package/workspaces/santa-2025/create_ensemble.py +0 -160
  1032. package/workspaces/santa-2025/ensemble_submission.csv +0 -20101
  1033. package/workspaces/santa-2025/evaluate_submission.py +0 -173
  1034. package/workspaces/santa-2025/explore_competition.py +0 -62
  1035. package/workspaces/santa-2025/fetch_competition_info.py +0 -57
  1036. package/workspaces/santa-2025/fix_small_configs_fast.py +0 -184
  1037. package/workspaces/santa-2025/improved_log.txt +0 -48
  1038. package/workspaces/santa-2025/improved_solution.py +0 -325
  1039. package/workspaces/santa-2025/improved_submission.csv +0 -20101
  1040. package/workspaces/santa-2025/optimize_small_configs.py +0 -272
  1041. package/workspaces/santa-2025/optimized_n1_to_n6.csv +0 -22
  1042. package/workspaces/santa-2025/optimized_solution.py +0 -393
  1043. package/workspaces/santa-2025/optimized_submission_score70.93.csv +0 -20101
  1044. package/workspaces/santa-2025/puzzle_010.png +0 -0
  1045. package/workspaces/santa-2025/puzzle_020.png +0 -0
  1046. package/workspaces/santa-2025/puzzle_050.png +0 -0
  1047. package/workspaces/santa-2025/puzzle_100.png +0 -0
  1048. package/workspaces/santa-2025/puzzle_150.png +0 -0
  1049. package/workspaces/santa-2025/puzzle_200.png +0 -0
  1050. package/workspaces/santa-2025/requirements.txt +0 -8
  1051. package/workspaces/santa-2025/sample_submission.csv +0 -20101
  1052. package/workspaces/santa-2025/santa-2025-getting-started.ipynb +0 -1
  1053. package/workspaces/santa-2025/santa-2025-getting-started.py +0 -320
  1054. package/workspaces/santa-2025/santa-2025-metric.ipynb +0 -1
  1055. package/workspaces/santa-2025/santa-2025-metric.py +0 -157
  1056. package/workspaces/santa-2025/santa-2025.zip +0 -0
  1057. package/workspaces/santa-2025/test_solution.py +0 -204
  1058. package/workspaces/santa-2025/ultra_optimized_score70.93.csv +0 -20101
  1059. package/workspaces/santa-2025/ultra_optimizer.py +0 -267
  1060. package/workspaces/santa-2025/visualize.py +0 -166
package/src/index.tsx CHANGED
@@ -78,6 +78,53 @@ function formatJson(data: unknown): string {
78
78
  return JSON.stringify(filterInternalFields(data), null, 2);
79
79
  }
80
80
 
81
+ function extractDetailMessage(payload: unknown): string | undefined {
82
+ if (payload === null || payload === undefined) return undefined;
83
+ if (typeof payload === "string") return payload;
84
+
85
+ if (Array.isArray(payload)) {
86
+ const parts = payload
87
+ .map((item) => extractDetailMessage(item))
88
+ .filter((item): item is string => Boolean(item && item.trim()));
89
+ return parts.length > 0 ? parts.join("; ") : undefined;
90
+ }
91
+
92
+ if (typeof payload === "object") {
93
+ const record = payload as Record<string, unknown>;
94
+ if (typeof record.detail === "string") return record.detail;
95
+ if (record.detail !== undefined) {
96
+ const detail = extractDetailMessage(record.detail);
97
+ if (detail) return detail;
98
+ }
99
+ if (typeof record.message === "string") return record.message;
100
+ if (typeof record.error === "string") return record.error;
101
+ if (typeof record.msg === "string") return record.msg;
102
+ if (Array.isArray(record.loc) && typeof record.msg === "string") {
103
+ return `${record.loc.join(".")}: ${record.msg}`;
104
+ }
105
+ }
106
+
107
+ return undefined;
108
+ }
109
+
110
+ function formatApiError(error: string): string {
111
+ const trimmed = error.trim();
112
+ if (!trimmed) return error;
113
+
114
+ const likelyJson =
115
+ (trimmed.startsWith("{") && trimmed.endsWith("}")) ||
116
+ (trimmed.startsWith("[") && trimmed.endsWith("]"));
117
+
118
+ if (!likelyJson) return error;
119
+
120
+ try {
121
+ const parsed = JSON.parse(trimmed) as unknown;
122
+ return extractDetailMessage(parsed) || error;
123
+ } catch {
124
+ return error;
125
+ }
126
+ }
127
+
81
128
  /**
82
129
  * Parse a dataset string in "name[:version]" format into a DatasetRef object.
83
130
  * If version is omitted, defaults to "latest".
@@ -151,7 +198,7 @@ const Loading: React.FC<{ message?: string }> = ({ message }) => (
151
198
 
152
199
  const ErrorMessage: React.FC<{ error: string }> = ({ error }) => (
153
200
  <Box>
154
- <Text color="red">Error: {error}</Text>
201
+ <Text color="red">Error: {formatApiError(error)}</Text>
155
202
  </Box>
156
203
  );
157
204
 
@@ -470,18 +517,103 @@ const AuthStatus: React.FC = () => {
470
517
  const { exit } = useApp();
471
518
  const apiKey = getApiKey();
472
519
  const baseUrl = getBaseUrl();
520
+ const keyFromEnv = Boolean(process.env.PIONEER_API_KEY);
521
+ const [validationState, setValidationState] = useState<
522
+ "no-key" | "checking" | "valid" | "invalid" | "error"
523
+ >(apiKey ? "checking" : "no-key");
524
+ const [validationError, setValidationError] = useState<string | null>(null);
473
525
 
474
526
  useEffect(() => {
475
- setTimeout(() => exit(), 500);
476
- }, [exit]);
527
+ let cancelled = false;
528
+
529
+ if (!apiKey) {
530
+ setValidationState("no-key");
531
+ setValidationError(null);
532
+ return () => {
533
+ cancelled = true;
534
+ };
535
+ }
536
+
537
+ setValidationState("checking");
538
+ setValidationError(null);
539
+
540
+ (async () => {
541
+ const result = await api.validateApiKey(apiKey);
542
+ if (cancelled) return;
543
+
544
+ if (result.ok) {
545
+ setValidationState("valid");
546
+ return;
547
+ }
548
+
549
+ if (result.status === 401 || result.status === 403) {
550
+ setValidationState("invalid");
551
+ setValidationError(result.error ? formatApiError(result.error) : null);
552
+ return;
553
+ }
554
+
555
+ setValidationState("error");
556
+ setValidationError(
557
+ result.error ? formatApiError(result.error) : `HTTP ${result.status}`
558
+ );
559
+ })();
560
+
561
+ return () => {
562
+ cancelled = true;
563
+ };
564
+ }, [apiKey]);
565
+
566
+ useEffect(() => {
567
+ if (validationState === "checking") return;
568
+ const timeout = setTimeout(() => exit(), validationState === "error" ? 2000 : 1200);
569
+ return () => clearTimeout(timeout);
570
+ }, [validationState, exit]);
477
571
 
478
572
  return (
479
573
  <Box flexDirection="column">
480
574
  <Text>Base URL: {baseUrl}</Text>
481
575
  <Text>
482
- Logged in:{" "}
576
+ Logged in (key configured):{" "}
483
577
  <Text color={apiKey ? "green" : "red"}>{apiKey ? "Yes" : "No"}</Text>
484
578
  </Text>
579
+ {apiKey && (
580
+ <Text dimColor>
581
+ Key source: {keyFromEnv ? "PIONEER_API_KEY environment variable" : "saved config"}
582
+ </Text>
583
+ )}
584
+ {apiKey && (
585
+ <Text>
586
+ Key valid for current backend:{" "}
587
+ <Text
588
+ color={
589
+ validationState === "valid"
590
+ ? "green"
591
+ : validationState === "invalid"
592
+ ? "red"
593
+ : validationState === "error"
594
+ ? "yellow"
595
+ : "cyan"
596
+ }
597
+ >
598
+ {validationState === "valid"
599
+ ? "Yes"
600
+ : validationState === "invalid"
601
+ ? "No"
602
+ : validationState === "error"
603
+ ? "Unable to verify"
604
+ : "Checking..."}
605
+ </Text>
606
+ </Text>
607
+ )}
608
+ {validationState === "invalid" && (
609
+ <Text dimColor>
610
+ This API key is not valid for this backend. Dev and prod/local keys are different.
611
+ </Text>
612
+ )}
613
+ {validationError && validationState !== "checking" && (
614
+ <Text dimColor>Details: {validationError}</Text>
615
+ )}
616
+ {!apiKey && <Text dimColor>Run 'pioneer auth login' to configure an API key.</Text>}
485
617
  </Box>
486
618
  );
487
619
  };
@@ -563,17 +695,9 @@ function JobLogsCommand({ jobId }: { jobId: string }) {
563
695
  return <ErrorMessage error={error} />;
564
696
  }
565
697
 
566
- const getLogColor = (level: string): string => {
567
- switch (level) {
568
- case "ERROR":
569
- return "red";
570
- case "WARNING":
571
- return "yellow";
572
- case "DEBUG":
573
- return "gray";
574
- default:
575
- return "white";
576
- }
698
+ const formatLogEntry = (log: api.TrainingLog): string => {
699
+ const ts = new Date(log.timestamp).toLocaleTimeString();
700
+ return `[${ts}] [${log.level}] ${log.message}`;
577
701
  };
578
702
 
579
703
  return (
@@ -582,8 +706,8 @@ function JobLogsCommand({ jobId }: { jobId: string }) {
582
706
  <Text dimColor>No logs available</Text>
583
707
  ) : (
584
708
  logs.map((log) => (
585
- <Text key={log.id} color={getLogColor(log.level)}>
586
- {log.message}
709
+ <Text key={log.id} color={log.level === "ERROR" ? "red" : log.level === "WARNING" ? "yellow" : undefined}>
710
+ {formatLogEntry(log)}
587
711
  </Text>
588
712
  ))
589
713
  )}
@@ -743,6 +867,271 @@ function GenerateCommand<T extends GenerateResult>({
743
867
  );
744
868
  }
745
869
 
870
+ // ─────────────────────────────────────────────────────────────────────────────
871
+ // Notebook Run Command
872
+ // ─────────────────────────────────────────────────────────────────────────────
873
+
874
+ interface NotebookCell {
875
+ cell_type: "code" | "markdown" | "raw";
876
+ source: string[];
877
+ metadata?: Record<string, unknown>;
878
+ }
879
+
880
+ interface NotebookFile {
881
+ cells: NotebookCell[];
882
+ metadata?: Record<string, unknown>;
883
+ nbformat: number;
884
+ nbformat_minor: number;
885
+ }
886
+
887
+ function readNotebookFile(filePath: string): NotebookFile {
888
+ const absPath = path.resolve(filePath);
889
+ if (!fs.existsSync(absPath)) {
890
+ throw new Error(`File not found: ${absPath}`);
891
+ }
892
+ const content = fs.readFileSync(absPath, "utf-8");
893
+ return JSON.parse(content) as NotebookFile;
894
+ }
895
+
896
+ interface NotebookRunCommandProps {
897
+ filePath: string;
898
+ gpu: string;
899
+ loadFelixHelpers: boolean;
900
+ }
901
+
902
+ function NotebookRunCommand({ filePath, gpu, loadFelixHelpers }: NotebookRunCommandProps) {
903
+ const { exit } = useApp();
904
+ const [phase, setPhase] = useState<"reading" | "session" | "running" | "done" | "error">("reading");
905
+ const [sessionId, setSessionId] = useState<string | null>(null);
906
+ const [currentCell, setCurrentCell] = useState(0);
907
+ const [totalCells, setTotalCells] = useState(0);
908
+ const [outputs, setOutputs] = useState<Array<{ cell: number; source: string; result: api.ExecuteCodeResponse | null; error?: string }>>([]);
909
+ const [error, setError] = useState("");
910
+
911
+ useEffect(() => {
912
+ (async () => {
913
+ // 1. Read notebook
914
+ let notebook: NotebookFile;
915
+ try {
916
+ notebook = readNotebookFile(filePath);
917
+ } catch (e) {
918
+ setError(e instanceof Error ? e.message : String(e));
919
+ setPhase("error");
920
+ setTimeout(() => exit(), 500);
921
+ return;
922
+ }
923
+
924
+ const codeCells = notebook.cells.filter((c) => c.cell_type === "code");
925
+ setTotalCells(codeCells.length);
926
+
927
+ if (codeCells.length === 0) {
928
+ setError("No code cells found in notebook");
929
+ setPhase("error");
930
+ setTimeout(() => exit(), 500);
931
+ return;
932
+ }
933
+
934
+ // 2. Create session
935
+ setPhase("session");
936
+ const sessionResult = await api.createNotebookSession({
937
+ gpu,
938
+ load_felix_helpers: loadFelixHelpers,
939
+ });
940
+
941
+ if (!sessionResult.ok || !sessionResult.data) {
942
+ setError(sessionResult.error ?? "Failed to create notebook session");
943
+ setPhase("error");
944
+ setTimeout(() => exit(), 500);
945
+ return;
946
+ }
947
+
948
+ let sid = sessionResult.data.session_id;
949
+ setSessionId(sid);
950
+
951
+ // Poll until session is ready (if status is 'creating')
952
+ if (sessionResult.data.status === "creating") {
953
+ let ready = false;
954
+ for (let attempt = 0; attempt < 60; attempt++) {
955
+ await new Promise((r) => setTimeout(r, 2000));
956
+ const status = await api.getNotebookSessionStatus(sid);
957
+ if (status.ok && status.data?.status === "ready") {
958
+ // Status response returns the real session_id when ready
959
+ sid = status.data.session_id;
960
+ setSessionId(sid);
961
+ ready = true;
962
+ break;
963
+ }
964
+ if (status.ok && status.data?.status === "failed") {
965
+ setError(status.data.error ?? "Session creation failed");
966
+ setPhase("error");
967
+ setTimeout(() => exit(), 500);
968
+ return;
969
+ }
970
+ }
971
+ if (!ready) {
972
+ setError("Session creation timed out after 2 minutes");
973
+ setPhase("error");
974
+ setTimeout(() => exit(), 500);
975
+ return;
976
+ }
977
+ }
978
+
979
+ // 3. Execute cells sequentially
980
+ setPhase("running");
981
+ const cellOutputs: typeof outputs = [];
982
+
983
+ for (let i = 0; i < codeCells.length; i++) {
984
+ setCurrentCell(i + 1);
985
+ const cell = codeCells[i];
986
+ const code = Array.isArray(cell.source) ? cell.source.join("") : String(cell.source);
987
+
988
+ if (!code.trim()) {
989
+ cellOutputs.push({ cell: i + 1, source: code, result: null });
990
+ continue;
991
+ }
992
+
993
+ const execResult = await api.executeNotebookCode({
994
+ code,
995
+ session_id: sid,
996
+ cell_id: `cell-${i}`,
997
+ });
998
+
999
+ if (!execResult.ok) {
1000
+ cellOutputs.push({ cell: i + 1, source: code, result: null, error: execResult.error ?? "Execution failed" });
1001
+ // Continue running remaining cells despite errors
1002
+ } else {
1003
+ cellOutputs.push({ cell: i + 1, source: code, result: execResult.data ?? null });
1004
+ }
1005
+
1006
+ setOutputs([...cellOutputs]);
1007
+ }
1008
+
1009
+ setPhase("done");
1010
+ setTimeout(() => exit(), 1000);
1011
+ })();
1012
+ }, [filePath, gpu, loadFelixHelpers, exit]);
1013
+
1014
+ if (phase === "error") {
1015
+ return <ErrorMessage error={error} />;
1016
+ }
1017
+
1018
+ if (phase === "reading") {
1019
+ return <Loading message="Reading notebook..." />;
1020
+ }
1021
+
1022
+ if (phase === "session") {
1023
+ return <Loading message={`Creating ${gpu} session...`} />;
1024
+ }
1025
+
1026
+ // Render outputs
1027
+ const renderCellOutput = (entry: (typeof outputs)[0]) => {
1028
+ const lines: string[] = [];
1029
+
1030
+ if (entry.error) {
1031
+ lines.push(` Error: ${entry.error}`);
1032
+ return lines.join("\n");
1033
+ }
1034
+
1035
+ if (!entry.result) {
1036
+ lines.push(" (empty cell)");
1037
+ return lines.join("\n");
1038
+ }
1039
+
1040
+ for (const out of entry.result.outputs) {
1041
+ if (out.type === "stream" && out.text) {
1042
+ // Truncate long stream output
1043
+ const text = out.text.length > 2000 ? out.text.slice(0, 2000) + "\n ... (truncated)" : out.text;
1044
+ lines.push(text);
1045
+ } else if (out.type === "execute_result" || out.type === "display_data") {
1046
+ if (out.data?.["text/plain"]) {
1047
+ lines.push(out.data["text/plain"]);
1048
+ } else if (out.text) {
1049
+ lines.push(out.text);
1050
+ }
1051
+ if (out.data?.["image/png"]) {
1052
+ lines.push(" [image output]");
1053
+ }
1054
+ } else if (out.type === "error") {
1055
+ lines.push(` ${out.ename}: ${out.evalue}`);
1056
+ if (out.traceback) {
1057
+ // Strip ANSI codes for cleaner terminal output
1058
+ lines.push(out.traceback.map((l) => l.replace(/\x1b\[[0-9;]*m/g, "")).join("\n"));
1059
+ }
1060
+ }
1061
+ }
1062
+
1063
+ if (entry.result.execution_time_ms) {
1064
+ lines.push(` (${(entry.result.execution_time_ms / 1000).toFixed(1)}s)`);
1065
+ }
1066
+
1067
+ return lines.join("\n") || " (no output)";
1068
+ };
1069
+
1070
+ return (
1071
+ <Box flexDirection="column">
1072
+ {phase === "running" && (
1073
+ <Box>
1074
+ <Text color="yellow"><Spinner type="dots" /></Text>
1075
+ <Text> Running cell {currentCell}/{totalCells}...</Text>
1076
+ </Box>
1077
+ )}
1078
+
1079
+ <Static items={outputs}>
1080
+ {(entry) => (
1081
+ <Box key={entry.cell} flexDirection="column" marginBottom={1}>
1082
+ <Text bold color="cyan">── Cell {entry.cell}/{totalCells} ──</Text>
1083
+ <Text dimColor>{entry.source.split("\n").slice(0, 3).join("\n")}{entry.source.split("\n").length > 3 ? "\n ..." : ""}</Text>
1084
+ <Text color={entry.error || (entry.result && !entry.result.success) ? "red" : undefined}>
1085
+ {renderCellOutput(entry)}
1086
+ </Text>
1087
+ </Box>
1088
+ )}
1089
+ </Static>
1090
+
1091
+ {phase === "done" && (
1092
+ <Box flexDirection="column" marginTop={1}>
1093
+ <Success message={`Notebook complete: ${outputs.length} cells executed`} />
1094
+ {sessionId && <Text dimColor>Session: {sessionId}</Text>}
1095
+ {outputs.some((o) => o.error || (o.result && !o.result.success)) && (
1096
+ <Text color="yellow">Some cells had errors — check output above</Text>
1097
+ )}
1098
+ </Box>
1099
+ )}
1100
+ </Box>
1101
+ );
1102
+ }
1103
+
1104
+ function createBlankNotebook(name: string): string {
1105
+ const notebook: NotebookFile = {
1106
+ cells: [
1107
+ {
1108
+ cell_type: "markdown",
1109
+ source: [`# ${name}\n`],
1110
+ metadata: {},
1111
+ },
1112
+ {
1113
+ cell_type: "code",
1114
+ source: [],
1115
+ metadata: {},
1116
+ },
1117
+ ],
1118
+ metadata: {
1119
+ kernelspec: { display_name: "Python 3", language: "python", name: "python3" },
1120
+ language_info: { name: "python", version: "3.12.0" },
1121
+ },
1122
+ nbformat: 4,
1123
+ nbformat_minor: 4,
1124
+ };
1125
+
1126
+ const filename = name.endsWith(".ipynb") ? name : `${name}.ipynb`;
1127
+ const filePath = path.resolve(filename);
1128
+ if (fs.existsSync(filePath)) {
1129
+ throw new Error(`File already exists: ${filePath}`);
1130
+ }
1131
+ fs.writeFileSync(filePath, JSON.stringify(notebook, null, 1));
1132
+ return filePath;
1133
+ }
1134
+
746
1135
  // ─────────────────────────────────────────────────────────────────────────────
747
1136
  // Helper: Infer format from file extension
748
1137
  // ─────────────────────────────────────────────────────────────────────────────
@@ -830,6 +1219,164 @@ function DatasetListCommand() {
830
1219
  );
831
1220
  }
832
1221
 
1222
+ // ─────────────────────────────────────────────────────────────────────────────
1223
+ // Competition List Command
1224
+ // ─────────────────────────────────────────────────────────────────────────────
1225
+
1226
+ function CompetitionListCommand() {
1227
+ const { exit } = useApp();
1228
+ const [state, setState] = useState<"loading" | "done" | "error">("loading");
1229
+ const [competitions, setCompetitions] = useState<api.CompetitionInfo[]>([]);
1230
+ const [error, setError] = useState("");
1231
+
1232
+ useEffect(() => {
1233
+ (async () => {
1234
+ const result = await api.listCompetitions();
1235
+ if (result.ok && result.data) {
1236
+ setCompetitions(result.data.competitions || []);
1237
+ setState("done");
1238
+ } else {
1239
+ setError(result.error ?? "Unknown error");
1240
+ setState("error");
1241
+ }
1242
+ setTimeout(() => exit(), 500);
1243
+ })();
1244
+ }, [exit]);
1245
+
1246
+ if (state === "loading") {
1247
+ return <Loading message="Loading competitions..." />;
1248
+ }
1249
+
1250
+ if (state === "error") {
1251
+ return <ErrorMessage error={error} />;
1252
+ }
1253
+
1254
+ if (competitions.length === 0) {
1255
+ return <Text dimColor>No active competitions found.</Text>;
1256
+ }
1257
+
1258
+ return (
1259
+ <Box flexDirection="column">
1260
+ <Text bold color="cyan">Active Competitions ({competitions.length})</Text>
1261
+ <Text> </Text>
1262
+ {competitions.map((comp, idx) => (
1263
+ <Box key={comp.dataset_id} flexDirection="column" marginBottom={1}>
1264
+ <Text bold color="yellow">
1265
+ {idx + 1}. {comp.dataset_name}
1266
+ </Text>
1267
+ <Text>
1268
+ {" "}Type: <Text color="magenta">{comp.dataset_type}</Text>
1269
+ {" "}Samples: <Text color="blue">{comp.sample_count ?? "N/A"}</Text>
1270
+ {" "}Entries: <Text color="green">{comp.total_entries}</Text>
1271
+ </Text>
1272
+ {comp.description && (
1273
+ <Text dimColor>{" "}{comp.description}</Text>
1274
+ )}
1275
+ {comp.labels && comp.labels.length > 0 && (
1276
+ <Text>{" "}Labels: <Text color="cyan">{comp.labels.join(", ")}</Text></Text>
1277
+ )}
1278
+ {comp.winner && (
1279
+ <Text>
1280
+ {" "}Winner: <Text color="green" bold>{comp.winner.display_name}</Text>
1281
+ {" "}(F1: <Text color="yellow">{comp.winner.f1_score.toFixed(4)}</Text>)
1282
+ </Text>
1283
+ )}
1284
+ <Text dimColor>{" "}ID: {comp.dataset_id}</Text>
1285
+ </Box>
1286
+ ))}
1287
+ </Box>
1288
+ );
1289
+ }
1290
+
1291
+ // ─────────────────────────────────────────────────────────────────────────────
1292
+ // Leaderboard Command
1293
+ // ─────────────────────────────────────────────────────────────────────────────
1294
+
1295
+ function LeaderboardCommand({ datasetId, limit }: { datasetId: string; limit?: number }) {
1296
+ const { exit } = useApp();
1297
+ const [state, setState] = useState<"loading" | "done" | "error">("loading");
1298
+ const [data, setData] = useState<api.LeaderboardEntriesResponse | null>(null);
1299
+ const [error, setError] = useState("");
1300
+
1301
+ useEffect(() => {
1302
+ (async () => {
1303
+ const result = await api.getLeaderboardEntries(datasetId, limit);
1304
+ if (result.ok && result.data) {
1305
+ setData(result.data);
1306
+ setState("done");
1307
+ } else {
1308
+ setError(result.error ?? "Unknown error");
1309
+ setState("error");
1310
+ }
1311
+ setTimeout(() => exit(), 500);
1312
+ })();
1313
+ }, [datasetId, limit, exit]);
1314
+
1315
+ if (state === "loading") {
1316
+ return <Loading message="Loading leaderboard..." />;
1317
+ }
1318
+
1319
+ if (state === "error") {
1320
+ return <ErrorMessage error={error} />;
1321
+ }
1322
+
1323
+ if (!data || data.entries.length === 0) {
1324
+ return (
1325
+ <Box flexDirection="column">
1326
+ <Text bold color="cyan">Leaderboard: {data?.dataset_name ?? datasetId}</Text>
1327
+ <Text dimColor> No entries yet. Be the first to submit!</Text>
1328
+ </Box>
1329
+ );
1330
+ }
1331
+
1332
+ return (
1333
+ <Box flexDirection="column">
1334
+ <Text bold color="cyan">Leaderboard: {data.dataset_name} ({data.total_entries} entries)</Text>
1335
+ <Text> </Text>
1336
+ {/* Header */}
1337
+ <Box>
1338
+ <Box width={6}><Text bold dimColor>Rank</Text></Box>
1339
+ <Box width={22}><Text bold dimColor>Name</Text></Box>
1340
+ <Box width={22}><Text bold dimColor>Model</Text></Box>
1341
+ <Box width={10}><Text bold dimColor>F1</Text></Box>
1342
+ <Box width={10}><Text bold dimColor>Precision</Text></Box>
1343
+ <Box width={10}><Text bold dimColor>Recall</Text></Box>
1344
+ </Box>
1345
+ {/* Entries */}
1346
+ {data.entries.map((entry, idx) => {
1347
+ const rank = entry.rank ?? idx + 1;
1348
+ const isFirst = rank === 1;
1349
+ return (
1350
+ <Box key={entry.id}>
1351
+ <Box width={6}>
1352
+ <Text color={isFirst ? "yellow" : undefined} bold={isFirst}>
1353
+ {isFirst ? `#${rank}` : `#${rank}`}
1354
+ </Text>
1355
+ </Box>
1356
+ <Box width={22}>
1357
+ <Text color={isFirst ? "yellow" : undefined} bold={isFirst}>
1358
+ {entry.display_name.substring(0, 20)}
1359
+ </Text>
1360
+ </Box>
1361
+ <Box width={22}>
1362
+ <Text color="cyan">{entry.model_name.substring(0, 20)}</Text>
1363
+ </Box>
1364
+ <Box width={10}>
1365
+ <Text color="green" bold>{entry.f1_score.toFixed(4)}</Text>
1366
+ </Box>
1367
+ <Box width={10}>
1368
+ <Text>{entry.precision_score?.toFixed(4) ?? "N/A"}</Text>
1369
+ </Box>
1370
+ <Box width={10}>
1371
+ <Text>{entry.recall_score?.toFixed(4) ?? "N/A"}</Text>
1372
+ </Box>
1373
+ </Box>
1374
+ );
1375
+ })}
1376
+ </Box>
1377
+ );
1378
+ }
1379
+
833
1380
  // ─────────────────────────────────────────────────────────────────────────────
834
1381
  // Job Create Command (with auto-upload for local datasets)
835
1382
  // ─────────────────────────────────────────────────────────────────────────────
@@ -1579,20 +2126,201 @@ function ModelListCommand({ filter }: ModelListCommandProps) {
1579
2126
  }
1580
2127
 
1581
2128
  // ─────────────────────────────────────────────────────────────────────────────
1582
- // Help Components
2129
+ // Model Generate Command (decoder pre-check + better errors)
1583
2130
  // ─────────────────────────────────────────────────────────────────────────────
1584
2131
 
1585
- type HelpContext = "root" | "auth" | "dataset" | "dataset-analyze" | "dataset-edit" | "job" | "model" | "chat" | "eval" | "benchmark";
2132
+ interface ModelGenerateCommandProps {
2133
+ modelId: string;
2134
+ prompt: string;
2135
+ systemMsg?: string;
2136
+ maxTokens: number;
2137
+ temperature: number;
2138
+ }
1586
2139
 
1587
- interface HelpProps {
1588
- context?: HelpContext;
2140
+ function normalizeBaseModels(
2141
+ data: api.BaseModelsResponse | api.BaseModelInfo[] | null | undefined
2142
+ ): api.BaseModelInfo[] {
2143
+ if (!data) return [];
2144
+ if (Array.isArray(data)) return data;
2145
+ if (Array.isArray(data.models)) return data.models;
2146
+ return [];
1589
2147
  }
1590
2148
 
1591
- const Help: React.FC<HelpProps> = ({ context = "root" }) => {
1592
- const { exit } = useApp();
2149
+ function isUuid(value: string): boolean {
2150
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(
2151
+ value
2152
+ );
2153
+ }
1593
2154
 
1594
- useEffect(() => {
1595
- setTimeout(() => exit(), 500);
2155
+ function formatDecoderSuggestions(decoderIds: string[]): string {
2156
+ if (decoderIds.length === 0) return "";
2157
+ return `\nTry one of these decoder models: ${decoderIds.slice(0, 4).join(", ")}`;
2158
+ }
2159
+
2160
+ function ModelGenerateCommand({
2161
+ modelId,
2162
+ prompt,
2163
+ systemMsg,
2164
+ maxTokens,
2165
+ temperature,
2166
+ }: ModelGenerateCommandProps) {
2167
+ const { exit } = useApp();
2168
+ const [state, setState] = useState<"checking" | "running" | "done" | "error">(
2169
+ "checking"
2170
+ );
2171
+ const [data, setData] = useState<api.InferenceResponse | null>(null);
2172
+ const [error, setError] = useState("");
2173
+
2174
+ useEffect(() => {
2175
+ let active = true;
2176
+
2177
+ (async () => {
2178
+ const baseModelsResult = await api.listBaseModels();
2179
+ const baseModels =
2180
+ baseModelsResult.ok && baseModelsResult.data
2181
+ ? normalizeBaseModels(baseModelsResult.data)
2182
+ : [];
2183
+ const decoderModelIds = baseModels
2184
+ .filter((model) => model.type === "decoder")
2185
+ .map((model) => model.id);
2186
+
2187
+ const fail = (message: string) => {
2188
+ if (!active) return;
2189
+ setError(message);
2190
+ setState("error");
2191
+ setTimeout(() => exit(), 500);
2192
+ };
2193
+
2194
+ if (modelId === "base") {
2195
+ fail(
2196
+ "Model 'base' is encoder-only and cannot run decoder generation. Use 'model predict' for encoder tasks." +
2197
+ formatDecoderSuggestions(decoderModelIds)
2198
+ );
2199
+ return;
2200
+ }
2201
+
2202
+ const matchedBaseModel = baseModels.find((model) => model.id === modelId);
2203
+ if (matchedBaseModel && matchedBaseModel.type !== "decoder") {
2204
+ const modelName = matchedBaseModel.label || matchedBaseModel.name || matchedBaseModel.id;
2205
+ fail(
2206
+ `Model '${modelName}' is type '${matchedBaseModel.type}' and is not decoder-compatible.` +
2207
+ formatDecoderSuggestions(decoderModelIds)
2208
+ );
2209
+ return;
2210
+ }
2211
+
2212
+ if (modelId.startsWith("base:") && baseModels.length > 0 && !matchedBaseModel) {
2213
+ fail(
2214
+ `Unknown base model '${modelId}'.` + formatDecoderSuggestions(decoderModelIds)
2215
+ );
2216
+ return;
2217
+ }
2218
+
2219
+ if (isUuid(modelId)) {
2220
+ const jobResult = await api.getJob(modelId);
2221
+ if (jobResult.ok && jobResult.data) {
2222
+ const taskType = jobResult.data.task_type?.toLowerCase();
2223
+ if (taskType && taskType !== "decoder") {
2224
+ fail(
2225
+ `Training job '${modelId}' has task_type '${taskType}', so it is not decoder-compatible.` +
2226
+ formatDecoderSuggestions(decoderModelIds)
2227
+ );
2228
+ return;
2229
+ }
2230
+ }
2231
+ }
2232
+
2233
+ if (!active) return;
2234
+ setState("running");
2235
+
2236
+ const messages: Array<{ role: "system" | "user" | "assistant"; content: string }> = [];
2237
+ if (systemMsg) {
2238
+ messages.push({ role: "system", content: systemMsg });
2239
+ }
2240
+ messages.push({ role: "user", content: prompt });
2241
+
2242
+ const result = await api.runInference({
2243
+ model_id: modelId,
2244
+ task: "generate",
2245
+ messages,
2246
+ max_tokens: maxTokens,
2247
+ temperature,
2248
+ });
2249
+
2250
+ if (!active) return;
2251
+
2252
+ if (result.ok && result.data) {
2253
+ setData(result.data);
2254
+ setState("done");
2255
+ } else {
2256
+ let message = result.error ?? "Unknown error";
2257
+ const normalizedError = formatApiError(message);
2258
+ if (normalizedError.toLowerCase().includes("inference failed")) {
2259
+ message =
2260
+ `${normalizedError}\nDecoder inference request reached the backend but failed to execute.` +
2261
+ formatDecoderSuggestions(decoderModelIds);
2262
+ }
2263
+ setError(message);
2264
+ setState("error");
2265
+ }
2266
+
2267
+ setTimeout(() => exit(), 500);
2268
+ })();
2269
+
2270
+ return () => {
2271
+ active = false;
2272
+ };
2273
+ }, [modelId, prompt, systemMsg, maxTokens, temperature, exit]);
2274
+
2275
+ if (state === "checking") {
2276
+ return <Loading message="Checking decoder model compatibility..." />;
2277
+ }
2278
+
2279
+ if (state === "running") {
2280
+ return <Loading message="Running decoder inference..." />;
2281
+ }
2282
+
2283
+ if (state === "error") {
2284
+ return <ErrorMessage error={error} />;
2285
+ }
2286
+
2287
+ return (
2288
+ <Box flexDirection="column">
2289
+ {data && <JsonOutput data={data} />}
2290
+ </Box>
2291
+ );
2292
+ }
2293
+
2294
+ // ─────────────────────────────────────────────────────────────────────────────
2295
+ // Help Components
2296
+ // ─────────────────────────────────────────────────────────────────────────────
2297
+
2298
+ type HelpContext =
2299
+ | "root"
2300
+ | "auth"
2301
+ | "dataset"
2302
+ | "dataset-analyze"
2303
+ | "dataset-edit"
2304
+ | "project"
2305
+ | "job"
2306
+ | "model"
2307
+ | "chat"
2308
+ | "eval"
2309
+ | "benchmark"
2310
+ | "competition"
2311
+ | "notebook"
2312
+ | "inference"
2313
+ | "adaptive-finetuning";
2314
+
2315
+ interface HelpProps {
2316
+ context?: HelpContext;
2317
+ }
2318
+
2319
+ const Help: React.FC<HelpProps> = ({ context = "root" }) => {
2320
+ const { exit } = useApp();
2321
+
2322
+ useEffect(() => {
2323
+ setTimeout(() => exit(), 500);
1596
2324
  }, [exit]);
1597
2325
 
1598
2326
  // Auth help
@@ -1652,6 +2380,13 @@ const Help: React.FC<HelpProps> = ({ context = "root" }) => {
1652
2380
  <Text> --save true Save to database</Text>
1653
2381
  <Text> --name {"<name>"} Dataset name (required if --save)</Text>
1654
2382
  <Text> </Text>
2383
+ <Text> dataset generate decoder</Text>
2384
+ <Text> --domain {"<desc>"} Domain/task description (required)</Text>
2385
+ <Text> --instruction {"<text>"} System instruction (optional, auto-inferred)</Text>
2386
+ <Text> --num {"<n>"} Number of examples (default: 10)</Text>
2387
+ <Text> --save true Save to database</Text>
2388
+ <Text> --name {"<name>"} Dataset name (required if --save)</Text>
2389
+ <Text> </Text>
1655
2390
  <Text bold> Infer Labels:</Text>
1656
2391
  <Text> dataset infer ner Infer NER labels from description</Text>
1657
2392
  <Text> dataset infer classification Infer classification labels</Text>
@@ -1730,6 +2465,29 @@ const Help: React.FC<HelpProps> = ({ context = "root" }) => {
1730
2465
  );
1731
2466
  }
1732
2467
 
2468
+ // Project help
2469
+ if (context === "project") {
2470
+ return (
2471
+ <Box flexDirection="column">
2472
+ <Text bold>Project Commands:</Text>
2473
+ <Text> project list List all projects</Text>
2474
+ <Text> project get {"<project-id>"} Get project details</Text>
2475
+ <Text> project create Create a project</Text>
2476
+ <Text> --name {"<name>"} Project name (required)</Text>
2477
+ <Text> --icon {"<icon>"} Icon name (optional, default: folder)</Text>
2478
+ <Text> --repo {"<repo-url>"} Repository URL/reference (optional)</Text>
2479
+ <Text> --description {"<text>"} Description (optional)</Text>
2480
+ <Text> --model-id {"<id>"} Selected model ID (optional)</Text>
2481
+ <Text> --example {"<json>"} JSON example payload (optional)</Text>
2482
+ <Text> project update {"<project-id>"} Update project fields</Text>
2483
+ <Text> --name {"<name>"} --icon {"<icon>"} --repo {"<repo-url>"} --description {"<text>"} --model-id {"<id>"}</Text>
2484
+ <Text> project delete {"<project-id>"} Delete a project</Text>
2485
+ <Text> project dataset-count {"<project-id>"} Show attached dataset count</Text>
2486
+ <Text> project quality-metrics {"<project-id>"} Show LLMAJ pass/fail metrics</Text>
2487
+ </Box>
2488
+ );
2489
+ }
2490
+
1733
2491
  // Job help
1734
2492
  if (context === "job") {
1735
2493
  return (
@@ -1762,6 +2520,16 @@ const Help: React.FC<HelpProps> = ({ context = "root" }) => {
1762
2520
  <Text> model delete {"<job-id>"} Undeploy a model by training job ID</Text>
1763
2521
  <Text> model download {"<job-id>"} Get model download URL by job ID</Text>
1764
2522
  <Text> </Text>
2523
+ <Text bold> Inference:</Text>
2524
+ <Text> model predict {"<job-id>"} --text {"<text>"} --labels {"<labels>"} Run NER inference</Text>
2525
+ <Text> --task {"<task>"} Task: extract_entities, classify_text, extract_json (default: extract_entities)</Text>
2526
+ <Text> --threshold {"<n>"} Confidence threshold 0-1 (default: 0.5)</Text>
2527
+ <Text> model generate {"<model-id>"} --prompt {"<text>"} Run decoder generation</Text>
2528
+ <Text> --system {"<text>"} System message (optional)</Text>
2529
+ <Text> --max-tokens {"<n>"} Max tokens to generate (default: 256)</Text>
2530
+ <Text> --temperature {"<n>"} Sampling temperature (default: 0.7)</Text>
2531
+ <Text dimColor> model-id can be a decoder training job UUID or base:{"<provider/model>"}</Text>
2532
+ <Text> </Text>
1765
2533
  <Text bold> Upload:</Text>
1766
2534
  <Text> model upload {"<job-id>"} --to hf Upload trained model to Hugging Face</Text>
1767
2535
  <Text> --repo {"<repo>"} HF repo (required, e.g., username/model)</Text>
@@ -1772,6 +2540,30 @@ const Help: React.FC<HelpProps> = ({ context = "root" }) => {
1772
2540
  );
1773
2541
  }
1774
2542
 
2543
+ // Inference help
2544
+ if (context === "inference") {
2545
+ return (
2546
+ <Box flexDirection="column">
2547
+ <Text bold>Inference Commands:</Text>
2548
+ <Text> model predict {"<model-id>"} --text {"<text>"} --labels {"<labels>"}</Text>
2549
+ <Text> Run encoder inference (NER, classification, JSON extraction)</Text>
2550
+ <Text> Use "base" as model-id for the base GLiNER2 model</Text>
2551
+ <Text> </Text>
2552
+ <Text> model generate {"<model-id>"} --prompt {"<text>"}</Text>
2553
+ <Text> Run decoder text generation on a decoder model</Text>
2554
+ <Text> Example base IDs: base:Qwen/Qwen3-8B, base:meta-llama/Llama-3.1-8B-Instruct</Text>
2555
+ <Text> </Text>
2556
+ <Text bold> Options:</Text>
2557
+ <Text> --task {"<task>"} extract_entities | classify_text | extract_json | schema</Text>
2558
+ <Text> --labels {"<labels>"} Comma-separated labels for extraction/classification</Text>
2559
+ <Text> --threshold {"<n>"} Confidence threshold (0-1, default: 0.5)</Text>
2560
+ <Text> --system {"<text>"} System message for decoder generation</Text>
2561
+ <Text> --max-tokens {"<n>"} Max tokens for generation (default: 256)</Text>
2562
+ <Text> --temperature {"<n>"} Sampling temperature (default: 0.7)</Text>
2563
+ </Box>
2564
+ );
2565
+ }
2566
+
1775
2567
  // Chat help
1776
2568
  if (context === "chat") {
1777
2569
  return (
@@ -1822,6 +2614,55 @@ const Help: React.FC<HelpProps> = ({ context = "root" }) => {
1822
2614
  );
1823
2615
  }
1824
2616
 
2617
+ // Adaptive fine-tuning help
2618
+ if (context === "adaptive-finetuning") {
2619
+ return (
2620
+ <Box flexDirection="column">
2621
+ <Text bold>Adaptive Fine-tuning Commands:</Text>
2622
+ <Text> adaptive-finetuning chat Send a request to the adaptive FT agent</Text>
2623
+ <Text> --message {"<text>"} Instruction (required)</Text>
2624
+ <Text> --conversation-id {"<id>"} Continue an existing conversation</Text>
2625
+ <Text> --filters {"<json>"} Optional query filters JSON</Text>
2626
+ <Text> --history {"<json>"} Optional message history JSON</Text>
2627
+ <Text> </Text>
2628
+ <Text dimColor> Alias: aft</Text>
2629
+ <Text dimColor> Example: pioneer adaptive-finetuning chat --message "Analyze failures from last 24h and propose retraining plan"</Text>
2630
+ </Box>
2631
+ );
2632
+ }
2633
+
2634
+ // Competition help
2635
+ if (context === "competition") {
2636
+ return (
2637
+ <Box flexDirection="column">
2638
+ <Text bold>Competition Commands:</Text>
2639
+ <Text> competition list List active competitions</Text>
2640
+ <Text> competition show {"<dataset-id>"} View sample data for a competition</Text>
2641
+ <Text> competition leaderboard {"<dataset-id>"} View leaderboard rankings</Text>
2642
+ <Text> --limit {"<n>"} Number of entries (default: 10)</Text>
2643
+ <Text> competition submit {"<dataset-id>"} Submit evaluation to leaderboard</Text>
2644
+ <Text> --eval-id {"<id>"} Evaluation ID (required)</Text>
2645
+ <Text> --name {"<name>"} Display name (required)</Text>
2646
+ </Box>
2647
+ );
2648
+ }
2649
+
2650
+ // Notebook help
2651
+ if (context === "notebook") {
2652
+ return (
2653
+ <Box flexDirection="column">
2654
+ <Text bold>Notebook Commands:</Text>
2655
+ <Text> </Text>
2656
+ <Text> notebook run {"<file>"} Run all cells in a .ipynb notebook</Text>
2657
+ <Text> --gpu {"<type>"} GPU type: cpu, t4, a10g, a100, h100 (default: cpu)</Text>
2658
+ <Text> --no-felix Don't inject Felix helper functions</Text>
2659
+ <Text> notebook create {"<name>"} Create a blank notebook</Text>
2660
+ <Text> notebook sessions List active notebook sessions</Text>
2661
+ <Text> notebook stop {"<session-id>"} Terminate a notebook session</Text>
2662
+ </Box>
2663
+ );
2664
+ }
2665
+
1825
2666
  // Root help - overview only
1826
2667
  return (
1827
2668
  <Box flexDirection="column">
@@ -1834,10 +2675,14 @@ const Help: React.FC<HelpProps> = ({ context = "root" }) => {
1834
2675
  <Text> chat Start interactive chat agent</Text>
1835
2676
  <Text> auth Authentication (login, logout, status)</Text>
1836
2677
  <Text> dataset Manage datasets (list, generate, edit, analyze)</Text>
2678
+ <Text> project Manage projects</Text>
1837
2679
  <Text> job Manage training jobs</Text>
1838
2680
  <Text> model Manage models</Text>
1839
2681
  <Text> eval Model evaluations on datasets</Text>
1840
2682
  <Text> benchmark Run benchmark evaluations</Text>
2683
+ <Text> notebook Run and manage Jupyter notebooks</Text>
2684
+ <Text> competition Competitions and leaderboards</Text>
2685
+ <Text> adaptive-finetuning Adaptive fine-tuning agent</Text>
1841
2686
  <Text> telemetry Manage anonymous usage analytics</Text>
1842
2687
  <Text> </Text>
1843
2688
  <Text dimColor>Run 'pioneer {"<command>"} --help' for details on a specific command.</Text>
@@ -2179,6 +3024,9 @@ const App: React.FC<AppProps> = ({ command, flags }) => {
2179
3024
  }
2180
3025
 
2181
3026
  const hfToken = getHfToken(hfTokenFlag);
3027
+ if (!hfToken) {
3028
+ return <ErrorMessage error="HuggingFace token is required. Set HF_TOKEN env var or use --hf-token flag." />;
3029
+ }
2182
3030
 
2183
3031
  return (
2184
3032
  <ApiCommand
@@ -2186,7 +3034,7 @@ const App: React.FC<AppProps> = ({ command, flags }) => {
2186
3034
  api.pullDatasetFromHub({
2187
3035
  repo_id: repo,
2188
3036
  hf_token: hfToken,
2189
- dataset_name: datasetName,
3037
+ name: datasetName,
2190
3038
  revision,
2191
3039
  })
2192
3040
  }
@@ -2336,6 +3184,29 @@ const App: React.FC<AppProps> = ({ command, flags }) => {
2336
3184
  );
2337
3185
  }
2338
3186
 
3187
+ if (subAction === "decoder") {
3188
+ const instruction = flags["instruction"];
3189
+ if (!domainDescription) {
3190
+ return <ErrorMessage error="--domain is required for decoder generation" />;
3191
+ }
3192
+ return (
3193
+ <GenerateCommand
3194
+ action={() =>
3195
+ api.generateDecoder({
3196
+ domain_description: domainDescription!,
3197
+ instruction,
3198
+ num_examples: numExamples,
3199
+ save_dataset: saveDataset,
3200
+ dataset_name: datasetName,
3201
+ })
3202
+ }
3203
+ datasetName={datasetName || "decoder-dataset"}
3204
+ datasetType="custom"
3205
+ saveToRemote={saveDataset}
3206
+ />
3207
+ );
3208
+ }
3209
+
2339
3210
  return <Help context="dataset" />;
2340
3211
  }
2341
3212
 
@@ -2378,6 +3249,136 @@ const App: React.FC<AppProps> = ({ command, flags }) => {
2378
3249
  return <Help context="dataset" />;
2379
3250
  }
2380
3251
 
3252
+ // Project commands
3253
+ if (group === "project") {
3254
+ if (flags.help === "true" || !action || action === "help") {
3255
+ return <Help context="project" />;
3256
+ }
3257
+
3258
+ if (action === "list") {
3259
+ return <ApiCommand action={api.listProjects} />;
3260
+ }
3261
+
3262
+ if (action === "get") {
3263
+ const projectId = rest[0];
3264
+ if (!projectId) {
3265
+ return <ErrorMessage error="Project ID required: project get <project-id>" />;
3266
+ }
3267
+ return <ApiCommand action={() => api.getProject(projectId)} />;
3268
+ }
3269
+
3270
+ if (action === "create") {
3271
+ const name = flags["name"];
3272
+ const icon = flags["icon"];
3273
+ const repo = flags["repo"];
3274
+ const description = flags["description"];
3275
+ const modelId = flags["model-id"];
3276
+ const exampleStr = flags["example"];
3277
+
3278
+ if (!name) {
3279
+ return <ErrorMessage error="--name is required for project creation" />;
3280
+ }
3281
+
3282
+ let example: Record<string, unknown> | undefined;
3283
+ if (exampleStr) {
3284
+ try {
3285
+ const parsed = JSON.parse(exampleStr) as unknown;
3286
+ if (!parsed || Array.isArray(parsed) || typeof parsed !== "object") {
3287
+ return <ErrorMessage error="--example must be a JSON object" />;
3288
+ }
3289
+ example = parsed as Record<string, unknown>;
3290
+ } catch {
3291
+ return <ErrorMessage error="--example must be valid JSON" />;
3292
+ }
3293
+ }
3294
+
3295
+ return (
3296
+ <ApiCommand
3297
+ action={() =>
3298
+ api.createProject({
3299
+ name,
3300
+ ...(icon ? { icon } : {}),
3301
+ ...(repo ? { repo } : {}),
3302
+ ...(description ? { description } : {}),
3303
+ ...(modelId ? { selected_model_id: modelId } : {}),
3304
+ ...(example ? { example } : {}),
3305
+ })
3306
+ }
3307
+ successMessage="Project created"
3308
+ />
3309
+ );
3310
+ }
3311
+
3312
+ if (action === "update") {
3313
+ const projectId = rest[0];
3314
+ if (!projectId) {
3315
+ return <ErrorMessage error="Project ID required: project update <project-id>" />;
3316
+ }
3317
+
3318
+ const name = flags["name"];
3319
+ const icon = flags["icon"];
3320
+ const repo = flags["repo"];
3321
+ const description = flags["description"];
3322
+ const modelId = flags["model-id"];
3323
+
3324
+ if (!name && !icon && !repo && !description && !modelId) {
3325
+ return (
3326
+ <ErrorMessage error="Provide at least one field to update: --name, --icon, --repo, --description, or --model-id" />
3327
+ );
3328
+ }
3329
+
3330
+ return (
3331
+ <ApiCommand
3332
+ action={() =>
3333
+ api.updateProject(projectId, {
3334
+ ...(name ? { name } : {}),
3335
+ ...(icon ? { icon } : {}),
3336
+ ...(repo ? { repo } : {}),
3337
+ ...(description ? { description } : {}),
3338
+ ...(modelId ? { selected_model_id: modelId } : {}),
3339
+ })
3340
+ }
3341
+ successMessage="Project updated"
3342
+ />
3343
+ );
3344
+ }
3345
+
3346
+ if (action === "delete") {
3347
+ const projectId = rest[0];
3348
+ if (!projectId) {
3349
+ return <ErrorMessage error="Project ID required: project delete <project-id>" />;
3350
+ }
3351
+ return (
3352
+ <ApiCommand
3353
+ action={() => api.deleteProject(projectId)}
3354
+ successMessage={`Project ${projectId} deleted`}
3355
+ />
3356
+ );
3357
+ }
3358
+
3359
+ if (action === "dataset-count" || action === "count") {
3360
+ const projectId = rest[0];
3361
+ if (!projectId) {
3362
+ return (
3363
+ <ErrorMessage error="Project ID required: project dataset-count <project-id>" />
3364
+ );
3365
+ }
3366
+ return <ApiCommand action={() => api.getProjectDatasetCount(projectId)} />;
3367
+ }
3368
+
3369
+ if (action === "quality-metrics" || action === "quality") {
3370
+ const projectId = rest[0];
3371
+ if (!projectId) {
3372
+ return (
3373
+ <ErrorMessage error="Project ID required: project quality-metrics <project-id>" />
3374
+ );
3375
+ }
3376
+ return <ApiCommand action={() => api.getProjectQualityMetrics(projectId)} />;
3377
+ }
3378
+
3379
+ return <Help context="project" />;
3380
+ }
3381
+
2381
3382
  // Job commands
2382
3383
  if (group === "job") {
2383
3384
  if (flags.help === "true" || !action || action === "help") {
@@ -2550,6 +3551,62 @@ const App: React.FC<AppProps> = ({ command, flags }) => {
2550
3551
 
2551
3552
  return <ErrorMessage error="--to is required. Supported destinations: hf" />;
2552
3553
  }
3554
+ // Model predict command (encoder inference)
3555
+ if (action === "predict") {
3556
+ const modelId = rest[0];
3557
+ if (!modelId) {
3558
+ return <ErrorMessage error="Model ID required. Usage: model predict <model-id> --text <text> --labels <labels>" />;
3559
+ }
3560
+ const text = flags["text"];
3561
+ const labelsStr = flags["labels"];
3562
+ if (!text) {
3563
+ return <ErrorMessage error="--text is required for inference" />;
3564
+ }
3565
+ if (!labelsStr) {
3566
+ return <ErrorMessage error="--labels is required (comma-separated, e.g., PERSON,ORG,LOCATION)" />;
3567
+ }
3568
+ const labels = labelsStr.split(",").map((l: string) => l.trim());
3569
+ const task = (flags["task"] || "extract_entities") as "extract_entities" | "classify_text" | "extract_json" | "schema";
3570
+ const threshold = flags["threshold"] ? parseFloat(flags["threshold"]) : 0.5;
3571
+
3572
+ return (
3573
+ <ApiCommand
3574
+ action={() =>
3575
+ api.runInference({
3576
+ model_id: modelId,
3577
+ task,
3578
+ text,
3579
+ schema: labels,
3580
+ threshold,
3581
+ include_confidence: true,
3582
+ })
3583
+ }
3584
+ />
3585
+ );
3586
+ }
3587
+ // Model generate command (decoder inference)
3588
+ if (action === "generate") {
3589
+ const modelId = rest[0];
3590
+ if (!modelId) {
3591
+ return <ErrorMessage error="Model ID required. Usage: model generate <model-id> --prompt <text>" />;
3592
+ }
3593
+ const prompt = flags["prompt"];
3594
+ if (!prompt) {
3595
+ return <ErrorMessage error="--prompt is required for text generation" />;
3596
+ }
3597
+ const systemMsg = flags["system"];
3598
+ const maxTokens = flags["max-tokens"] ? parseInt(flags["max-tokens"]) : 256;
3599
+ const temperature = flags["temperature"] ? parseFloat(flags["temperature"]) : 0.7;
3600
+ return (
3601
+ <ModelGenerateCommand
3602
+ modelId={modelId}
3603
+ prompt={prompt}
3604
+ systemMsg={systemMsg}
3605
+ maxTokens={maxTokens}
3606
+ temperature={temperature}
3607
+ />
3608
+ );
3609
+ }
2553
3610
  return <Help context="model" />;
2554
3611
  }
2555
3612
 
@@ -2593,9 +3650,9 @@ const App: React.FC<AppProps> = ({ command, flags }) => {
2593
3650
  api.createEvaluation({
2594
3651
  model_id: modelId,
2595
3652
  dataset,
2596
- task_type: taskType,
2597
- text_column: textColumn,
2598
- label_column: labelColumn,
3653
+ ...(taskType ? { task_type: taskType } : {}),
3654
+ ...(textColumn ? { text_column: textColumn } : {}),
3655
+ ...(labelColumn ? { label_column: labelColumn } : {}),
2599
3656
  })
2600
3657
  }
2601
3658
  successMessage="Evaluation created"
@@ -2653,6 +3710,154 @@ const App: React.FC<AppProps> = ({ command, flags }) => {
2653
3710
  return <Help context="benchmark" />;
2654
3711
  }
2655
3712
 
3713
+ // Notebook commands
3714
+ if (group === "notebook") {
3715
+ if (flags.help === "true" || !action || action === "help") {
3716
+ return <Help context="notebook" />;
3717
+ }
3718
+
3719
+ if (action === "run") {
3720
+ const file = rest[0];
3721
+ if (!file) {
3722
+ return <ErrorMessage error="File path required: notebook run <file.ipynb>" />;
3723
+ }
3724
+ const gpu = flags.gpu || "cpu";
3725
+ const loadFelixHelpers = flags["no-felix"] !== "true";
3726
+ return <NotebookRunCommand filePath={file} gpu={gpu} loadFelixHelpers={loadFelixHelpers} />;
3727
+ }
3728
+
3729
+ if (action === "create") {
3730
+ const name = rest[0] || flags.name;
3731
+ if (!name) {
3732
+ return <ErrorMessage error="Name required: notebook create <name>" />;
3733
+ }
3734
+ try {
3735
+ const filePath = createBlankNotebook(name);
3736
+ return <Success message={`Created notebook: ${filePath}`} />;
3737
+ } catch (e) {
3738
+ return <ErrorMessage error={e instanceof Error ? e.message : String(e)} />;
3739
+ }
3740
+ }
3741
+
3742
+ if (action === "sessions") {
3743
+ return <ApiCommand action={api.listNotebookSessions} />;
3744
+ }
3745
+
3746
+ if (action === "stop") {
3747
+ const sessionId = rest[0];
3748
+ if (!sessionId) {
3749
+ return <ErrorMessage error="Session ID required: notebook stop <session-id>" />;
3750
+ }
3751
+ return (
3752
+ <ApiCommand
3753
+ action={() => api.terminateNotebookSession(sessionId)}
3754
+ successMessage={`Session ${sessionId} terminated`}
3755
+ />
3756
+ );
3757
+ }
3758
+
3759
+ return <Help context="notebook" />;
3760
+ }
3761
+
3762
+ // Adaptive fine-tuning commands
3763
+ if (group === "adaptive-finetuning" || group === "aft") {
3764
+ if (flags.help === "true" || action === "help") {
3765
+ return <Help context="adaptive-finetuning" />;
3766
+ }
3767
+
3768
+ let message = flags.message;
3769
+ if (!message) {
3770
+ const rawParts = action === "chat" ? rest : [action, ...rest];
3771
+ message = rawParts.filter(Boolean).join(" ").trim();
3772
+ }
3773
+
3774
+ if (!message) {
3775
+ return (
3776
+ <ErrorMessage
3777
+ error={'Message required. Usage: adaptive-finetuning chat --message "Analyze failures and propose retraining plan"'}
3778
+ />
3779
+ );
3780
+ }
3781
+
3782
+ let history: api.AdaptiveFinetuningHistoryItem[] | undefined;
3783
+ if (flags.history) {
3784
+ try {
3785
+ const parsed = JSON.parse(flags.history) as unknown;
3786
+ if (!Array.isArray(parsed)) {
3787
+ return <ErrorMessage error="--history must be a JSON array" />;
3788
+ }
3789
+ history = parsed as api.AdaptiveFinetuningHistoryItem[];
3790
+ } catch {
3791
+ return <ErrorMessage error="--history must be valid JSON" />;
3792
+ }
3793
+ }
3794
+
3795
+ let filters: api.AdaptiveFinetuningQueryFilters | undefined;
3796
+ if (flags.filters) {
3797
+ try {
3798
+ const parsed = JSON.parse(flags.filters) as unknown;
3799
+ if (!parsed || Array.isArray(parsed) || typeof parsed !== "object") {
3800
+ return <ErrorMessage error="--filters must be a JSON object" />;
3801
+ }
3802
+ filters = parsed as api.AdaptiveFinetuningQueryFilters;
3803
+ } catch {
3804
+ return <ErrorMessage error="--filters must be valid JSON" />;
3805
+ }
3806
+ }
3807
+
3808
+ return (
3809
+ <ApiCommand
3810
+ action={() =>
3811
+ api.adaptiveFinetuningChat({
3812
+ message,
3813
+ ...(flags["conversation-id"] ? { conversation_id: flags["conversation-id"] } : {}),
3814
+ ...(history ? { history } : {}),
3815
+ ...(filters ? { filters } : {}),
3816
+ })
3817
+ }
3818
+ successMessage="Adaptive fine-tuning response received"
3819
+ />
3820
+ );
3821
+ }
3822
+
3823
+ // Competition commands
3824
+ if (group === "competition") {
3825
+ if (flags.help === "true" || !action || action === "help") {
3826
+ return <Help context="competition" />;
3827
+ }
3828
+ if (action === "list") {
3829
+ return <CompetitionListCommand />;
3830
+ }
3831
+ if (action === "show" && rest[0]) {
3832
+ return <ApiCommand action={() => api.getCompetitionSamples(rest[0])} />;
3833
+ }
3834
+ if (action === "leaderboard" && rest[0]) {
3835
+ const limit = flags["limit"] ? parseInt(flags["limit"], 10) : undefined;
3836
+ return <LeaderboardCommand datasetId={rest[0]} limit={limit} />;
3837
+ }
3838
+ if (action === "submit" && rest[0]) {
3839
+ const evalId = flags["eval-id"];
3840
+ const displayName = flags["name"];
3841
+
3842
+ if (!evalId || !displayName) {
3843
+ return <ErrorMessage error="--eval-id and --name are required" />;
3844
+ }
3845
+
3846
+ return (
3847
+ <ApiCommand
3848
+ action={() =>
3849
+ api.submitToLeaderboard(rest[0], {
3850
+ evaluation_id: evalId,
3851
+ display_name: displayName,
3852
+ })
3853
+ }
3854
+ successMessage="Submitted to leaderboard"
3855
+ />
3856
+ );
3857
+ }
3858
+ return <Help context="competition" />;
3859
+ }
3860
+
2656
3861
  return <Help />;
2657
3862
  };
2658
3863