@cofy-x/dsh-console 0.1.0-alpha.2 → 0.1.0-alpha.21

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 (700) hide show
  1. package/README.md +28 -6
  2. package/THIRD_PARTY_NOTICES.md +47 -31
  3. package/bin/dsh-console.js +270 -17
  4. package/cordis.patch.yml +22 -0
  5. package/dist/CHANGELOG.md +274 -0
  6. package/dist/{chunk-JFPTU3O3.js → chunk-23HFFDMB.js} +12739 -7587
  7. package/dist/{chunk-N3EQS35J.js → chunk-GNENCGXA.js} +53 -11
  8. package/dist/chunk-WTD7XY24.js +32 -0
  9. package/dist/dsh/index.d.ts +13 -0
  10. package/dist/dsh/index.js +3 -2
  11. package/dist/dsh/startup.d.ts +5 -0
  12. package/dist/dsh/startup.js +45 -6
  13. package/dist/index.js +3 -2
  14. package/dist/presets/cordis.patch.yml +154 -0
  15. package/dist/presets/minimal.patch.yml +61 -0
  16. package/dist/presets/ptc.patch.yml +152 -0
  17. package/dist/presets/standard.patch.yml +146 -0
  18. package/dist/ui/components/layout/resources/pokemon/1.txt +10 -0
  19. package/dist/ui/components/layout/resources/pokemon/10.txt +8 -0
  20. package/dist/ui/components/layout/resources/pokemon/100.txt +7 -0
  21. package/dist/ui/components/layout/resources/pokemon/10002.txt +12 -0
  22. package/dist/ui/components/layout/resources/pokemon/10004.txt +12 -0
  23. package/dist/ui/components/layout/resources/pokemon/10005.txt +12 -0
  24. package/dist/ui/components/layout/resources/pokemon/10006.txt +11 -0
  25. package/dist/ui/components/layout/resources/pokemon/10013.txt +10 -0
  26. package/dist/ui/components/layout/resources/pokemon/10014.txt +11 -0
  27. package/dist/ui/components/layout/resources/pokemon/10015.txt +12 -0
  28. package/dist/ui/components/layout/resources/pokemon/10016.txt +12 -0
  29. package/dist/ui/components/layout/resources/pokemon/10017.txt +12 -0
  30. package/dist/ui/components/layout/resources/pokemon/10018.txt +12 -0
  31. package/dist/ui/components/layout/resources/pokemon/10027.txt +9 -0
  32. package/dist/ui/components/layout/resources/pokemon/10028.txt +10 -0
  33. package/dist/ui/components/layout/resources/pokemon/10029.txt +11 -0
  34. package/dist/ui/components/layout/resources/pokemon/10030.txt +11 -0
  35. package/dist/ui/components/layout/resources/pokemon/10039.txt +11 -0
  36. package/dist/ui/components/layout/resources/pokemon/10042.txt +12 -0
  37. package/dist/ui/components/layout/resources/pokemon/10051.txt +12 -0
  38. package/dist/ui/components/layout/resources/pokemon/10055.txt +12 -0
  39. package/dist/ui/components/layout/resources/pokemon/10059.txt +12 -0
  40. package/dist/ui/components/layout/resources/pokemon/10062.txt +12 -0
  41. package/dist/ui/components/layout/resources/pokemon/10063.txt +12 -0
  42. package/dist/ui/components/layout/resources/pokemon/10064.txt +12 -0
  43. package/dist/ui/components/layout/resources/pokemon/10067.txt +12 -0
  44. package/dist/ui/components/layout/resources/pokemon/10074.txt +12 -0
  45. package/dist/ui/components/layout/resources/pokemon/10076.txt +12 -0
  46. package/dist/ui/components/layout/resources/pokemon/10077.txt +11 -0
  47. package/dist/ui/components/layout/resources/pokemon/10078.txt +12 -0
  48. package/dist/ui/components/layout/resources/pokemon/10080.txt +10 -0
  49. package/dist/ui/components/layout/resources/pokemon/10082.txt +10 -0
  50. package/dist/ui/components/layout/resources/pokemon/10083.txt +10 -0
  51. package/dist/ui/components/layout/resources/pokemon/10084.txt +10 -0
  52. package/dist/ui/components/layout/resources/pokemon/10085.txt +10 -0
  53. package/dist/ui/components/layout/resources/pokemon/10088.txt +12 -0
  54. package/dist/ui/components/layout/resources/pokemon/101.txt +8 -0
  55. package/dist/ui/components/layout/resources/pokemon/102.txt +9 -0
  56. package/dist/ui/components/layout/resources/pokemon/104.txt +10 -0
  57. package/dist/ui/components/layout/resources/pokemon/108.txt +9 -0
  58. package/dist/ui/components/layout/resources/pokemon/11.txt +9 -0
  59. package/dist/ui/components/layout/resources/pokemon/111.txt +10 -0
  60. package/dist/ui/components/layout/resources/pokemon/113.txt +10 -0
  61. package/dist/ui/components/layout/resources/pokemon/114.txt +9 -0
  62. package/dist/ui/components/layout/resources/pokemon/116.txt +9 -0
  63. package/dist/ui/components/layout/resources/pokemon/117.txt +10 -0
  64. package/dist/ui/components/layout/resources/pokemon/118.txt +10 -0
  65. package/dist/ui/components/layout/resources/pokemon/120.txt +9 -0
  66. package/dist/ui/components/layout/resources/pokemon/129.txt +12 -0
  67. package/dist/ui/components/layout/resources/pokemon/13.txt +9 -0
  68. package/dist/ui/components/layout/resources/pokemon/132.txt +7 -0
  69. package/dist/ui/components/layout/resources/pokemon/133-starter.txt +11 -0
  70. package/dist/ui/components/layout/resources/pokemon/133.txt +9 -0
  71. package/dist/ui/components/layout/resources/pokemon/137.txt +9 -0
  72. package/dist/ui/components/layout/resources/pokemon/138.txt +9 -0
  73. package/dist/ui/components/layout/resources/pokemon/139.txt +11 -0
  74. package/dist/ui/components/layout/resources/pokemon/14.txt +9 -0
  75. package/dist/ui/components/layout/resources/pokemon/140.txt +7 -0
  76. package/dist/ui/components/layout/resources/pokemon/147.txt +9 -0
  77. package/dist/ui/components/layout/resources/pokemon/148.txt +11 -0
  78. package/dist/ui/components/layout/resources/pokemon/15.txt +12 -0
  79. package/dist/ui/components/layout/resources/pokemon/152.txt +10 -0
  80. package/dist/ui/components/layout/resources/pokemon/153.txt +12 -0
  81. package/dist/ui/components/layout/resources/pokemon/155.txt +9 -0
  82. package/dist/ui/components/layout/resources/pokemon/156.txt +10 -0
  83. package/dist/ui/components/layout/resources/pokemon/158.txt +9 -0
  84. package/dist/ui/components/layout/resources/pokemon/16.txt +9 -0
  85. package/dist/ui/components/layout/resources/pokemon/162.txt +11 -0
  86. package/dist/ui/components/layout/resources/pokemon/163.txt +10 -0
  87. package/dist/ui/components/layout/resources/pokemon/165.txt +9 -0
  88. package/dist/ui/components/layout/resources/pokemon/166.txt +11 -0
  89. package/dist/ui/components/layout/resources/pokemon/167.txt +7 -0
  90. package/dist/ui/components/layout/resources/pokemon/168.txt +11 -0
  91. package/dist/ui/components/layout/resources/pokemon/169.txt +12 -0
  92. package/dist/ui/components/layout/resources/pokemon/17.txt +10 -0
  93. package/dist/ui/components/layout/resources/pokemon/170.txt +10 -0
  94. package/dist/ui/components/layout/resources/pokemon/171.txt +12 -0
  95. package/dist/ui/components/layout/resources/pokemon/172-spiky-eared.txt +10 -0
  96. package/dist/ui/components/layout/resources/pokemon/172.txt +10 -0
  97. package/dist/ui/components/layout/resources/pokemon/173.txt +8 -0
  98. package/dist/ui/components/layout/resources/pokemon/174.txt +9 -0
  99. package/dist/ui/components/layout/resources/pokemon/175.txt +9 -0
  100. package/dist/ui/components/layout/resources/pokemon/176.txt +11 -0
  101. package/dist/ui/components/layout/resources/pokemon/177.txt +9 -0
  102. package/dist/ui/components/layout/resources/pokemon/179.txt +10 -0
  103. package/dist/ui/components/layout/resources/pokemon/180.txt +11 -0
  104. package/dist/ui/components/layout/resources/pokemon/183.txt +9 -0
  105. package/dist/ui/components/layout/resources/pokemon/187.txt +10 -0
  106. package/dist/ui/components/layout/resources/pokemon/188.txt +9 -0
  107. package/dist/ui/components/layout/resources/pokemon/189.txt +11 -0
  108. package/dist/ui/components/layout/resources/pokemon/19-alola.txt +11 -0
  109. package/dist/ui/components/layout/resources/pokemon/19.txt +11 -0
  110. package/dist/ui/components/layout/resources/pokemon/190.txt +10 -0
  111. package/dist/ui/components/layout/resources/pokemon/191.txt +9 -0
  112. package/dist/ui/components/layout/resources/pokemon/192.txt +11 -0
  113. package/dist/ui/components/layout/resources/pokemon/193.txt +8 -0
  114. package/dist/ui/components/layout/resources/pokemon/194.txt +9 -0
  115. package/dist/ui/components/layout/resources/pokemon/198.txt +11 -0
  116. package/dist/ui/components/layout/resources/pokemon/20-alola.txt +11 -0
  117. package/dist/ui/components/layout/resources/pokemon/20.txt +11 -0
  118. package/dist/ui/components/layout/resources/pokemon/200.txt +10 -0
  119. package/dist/ui/components/layout/resources/pokemon/201-a.txt +11 -0
  120. package/dist/ui/components/layout/resources/pokemon/201-b.txt +11 -0
  121. package/dist/ui/components/layout/resources/pokemon/201-c.txt +10 -0
  122. package/dist/ui/components/layout/resources/pokemon/201-d.txt +10 -0
  123. package/dist/ui/components/layout/resources/pokemon/201-e.txt +10 -0
  124. package/dist/ui/components/layout/resources/pokemon/201-exclamation.txt +10 -0
  125. package/dist/ui/components/layout/resources/pokemon/201-f.txt +10 -0
  126. package/dist/ui/components/layout/resources/pokemon/201-g.txt +11 -0
  127. package/dist/ui/components/layout/resources/pokemon/201-h.txt +10 -0
  128. package/dist/ui/components/layout/resources/pokemon/201-i.txt +10 -0
  129. package/dist/ui/components/layout/resources/pokemon/201-j.txt +10 -0
  130. package/dist/ui/components/layout/resources/pokemon/201-k.txt +10 -0
  131. package/dist/ui/components/layout/resources/pokemon/201-l.txt +10 -0
  132. package/dist/ui/components/layout/resources/pokemon/201-m.txt +10 -0
  133. package/dist/ui/components/layout/resources/pokemon/201-n.txt +7 -0
  134. package/dist/ui/components/layout/resources/pokemon/201-o.txt +10 -0
  135. package/dist/ui/components/layout/resources/pokemon/201-p.txt +10 -0
  136. package/dist/ui/components/layout/resources/pokemon/201-q.txt +8 -0
  137. package/dist/ui/components/layout/resources/pokemon/201-question.txt +11 -0
  138. package/dist/ui/components/layout/resources/pokemon/201-r.txt +9 -0
  139. package/dist/ui/components/layout/resources/pokemon/201-s.txt +12 -0
  140. package/dist/ui/components/layout/resources/pokemon/201-t.txt +10 -0
  141. package/dist/ui/components/layout/resources/pokemon/201-u.txt +8 -0
  142. package/dist/ui/components/layout/resources/pokemon/201-v.txt +9 -0
  143. package/dist/ui/components/layout/resources/pokemon/201-w.txt +9 -0
  144. package/dist/ui/components/layout/resources/pokemon/201-x.txt +7 -0
  145. package/dist/ui/components/layout/resources/pokemon/201-y.txt +10 -0
  146. package/dist/ui/components/layout/resources/pokemon/201-z.txt +10 -0
  147. package/dist/ui/components/layout/resources/pokemon/201.txt +11 -0
  148. package/dist/ui/components/layout/resources/pokemon/203.txt +12 -0
  149. package/dist/ui/components/layout/resources/pokemon/204.txt +10 -0
  150. package/dist/ui/components/layout/resources/pokemon/205.txt +9 -0
  151. package/dist/ui/components/layout/resources/pokemon/207.txt +12 -0
  152. package/dist/ui/components/layout/resources/pokemon/209.txt +10 -0
  153. package/dist/ui/components/layout/resources/pokemon/21.txt +8 -0
  154. package/dist/ui/components/layout/resources/pokemon/210.txt +12 -0
  155. package/dist/ui/components/layout/resources/pokemon/211.txt +11 -0
  156. package/dist/ui/components/layout/resources/pokemon/215.txt +11 -0
  157. package/dist/ui/components/layout/resources/pokemon/216.txt +10 -0
  158. package/dist/ui/components/layout/resources/pokemon/217.txt +12 -0
  159. package/dist/ui/components/layout/resources/pokemon/218.txt +11 -0
  160. package/dist/ui/components/layout/resources/pokemon/219.txt +11 -0
  161. package/dist/ui/components/layout/resources/pokemon/22.txt +11 -0
  162. package/dist/ui/components/layout/resources/pokemon/220.txt +7 -0
  163. package/dist/ui/components/layout/resources/pokemon/221.txt +11 -0
  164. package/dist/ui/components/layout/resources/pokemon/222-galar.txt +10 -0
  165. package/dist/ui/components/layout/resources/pokemon/222.txt +10 -0
  166. package/dist/ui/components/layout/resources/pokemon/223.txt +8 -0
  167. package/dist/ui/components/layout/resources/pokemon/226.txt +10 -0
  168. package/dist/ui/components/layout/resources/pokemon/228.txt +10 -0
  169. package/dist/ui/components/layout/resources/pokemon/229.txt +12 -0
  170. package/dist/ui/components/layout/resources/pokemon/23.txt +11 -0
  171. package/dist/ui/components/layout/resources/pokemon/231.txt +8 -0
  172. package/dist/ui/components/layout/resources/pokemon/232.txt +11 -0
  173. package/dist/ui/components/layout/resources/pokemon/235.txt +11 -0
  174. package/dist/ui/components/layout/resources/pokemon/236.txt +11 -0
  175. package/dist/ui/components/layout/resources/pokemon/238.txt +10 -0
  176. package/dist/ui/components/layout/resources/pokemon/239.txt +10 -0
  177. package/dist/ui/components/layout/resources/pokemon/240.txt +10 -0
  178. package/dist/ui/components/layout/resources/pokemon/244.txt +12 -0
  179. package/dist/ui/components/layout/resources/pokemon/246.txt +10 -0
  180. package/dist/ui/components/layout/resources/pokemon/247.txt +10 -0
  181. package/dist/ui/components/layout/resources/pokemon/25-alola-cap.txt +11 -0
  182. package/dist/ui/components/layout/resources/pokemon/25-hoenn-cap.txt +11 -0
  183. package/dist/ui/components/layout/resources/pokemon/25-kalos-cap.txt +11 -0
  184. package/dist/ui/components/layout/resources/pokemon/25-original-cap.txt +11 -0
  185. package/dist/ui/components/layout/resources/pokemon/25-partner-cap.txt +11 -0
  186. package/dist/ui/components/layout/resources/pokemon/25-sinnoh-cap.txt +11 -0
  187. package/dist/ui/components/layout/resources/pokemon/25-starter.txt +12 -0
  188. package/dist/ui/components/layout/resources/pokemon/25-unova-cap.txt +11 -0
  189. package/dist/ui/components/layout/resources/pokemon/25-world-cap.txt +11 -0
  190. package/dist/ui/components/layout/resources/pokemon/251.txt +9 -0
  191. package/dist/ui/components/layout/resources/pokemon/252.txt +11 -0
  192. package/dist/ui/components/layout/resources/pokemon/253.txt +11 -0
  193. package/dist/ui/components/layout/resources/pokemon/255.txt +10 -0
  194. package/dist/ui/components/layout/resources/pokemon/258.txt +9 -0
  195. package/dist/ui/components/layout/resources/pokemon/259.txt +11 -0
  196. package/dist/ui/components/layout/resources/pokemon/261.txt +9 -0
  197. package/dist/ui/components/layout/resources/pokemon/262.txt +11 -0
  198. package/dist/ui/components/layout/resources/pokemon/263-galar.txt +8 -0
  199. package/dist/ui/components/layout/resources/pokemon/263.txt +8 -0
  200. package/dist/ui/components/layout/resources/pokemon/264-galar.txt +10 -0
  201. package/dist/ui/components/layout/resources/pokemon/264.txt +10 -0
  202. package/dist/ui/components/layout/resources/pokemon/265.txt +9 -0
  203. package/dist/ui/components/layout/resources/pokemon/266.txt +9 -0
  204. package/dist/ui/components/layout/resources/pokemon/267.txt +12 -0
  205. package/dist/ui/components/layout/resources/pokemon/268.txt +9 -0
  206. package/dist/ui/components/layout/resources/pokemon/269.txt +10 -0
  207. package/dist/ui/components/layout/resources/pokemon/27-alola.txt +9 -0
  208. package/dist/ui/components/layout/resources/pokemon/27.txt +9 -0
  209. package/dist/ui/components/layout/resources/pokemon/270.txt +8 -0
  210. package/dist/ui/components/layout/resources/pokemon/271.txt +11 -0
  211. package/dist/ui/components/layout/resources/pokemon/273.txt +9 -0
  212. package/dist/ui/components/layout/resources/pokemon/274.txt +12 -0
  213. package/dist/ui/components/layout/resources/pokemon/276.txt +8 -0
  214. package/dist/ui/components/layout/resources/pokemon/277.txt +10 -0
  215. package/dist/ui/components/layout/resources/pokemon/278.txt +7 -0
  216. package/dist/ui/components/layout/resources/pokemon/28-alola.txt +12 -0
  217. package/dist/ui/components/layout/resources/pokemon/280.txt +9 -0
  218. package/dist/ui/components/layout/resources/pokemon/281.txt +12 -0
  219. package/dist/ui/components/layout/resources/pokemon/283.txt +10 -0
  220. package/dist/ui/components/layout/resources/pokemon/284.txt +12 -0
  221. package/dist/ui/components/layout/resources/pokemon/285.txt +8 -0
  222. package/dist/ui/components/layout/resources/pokemon/287.txt +8 -0
  223. package/dist/ui/components/layout/resources/pokemon/288.txt +11 -0
  224. package/dist/ui/components/layout/resources/pokemon/29.txt +10 -0
  225. package/dist/ui/components/layout/resources/pokemon/290.txt +7 -0
  226. package/dist/ui/components/layout/resources/pokemon/293.txt +8 -0
  227. package/dist/ui/components/layout/resources/pokemon/294.txt +12 -0
  228. package/dist/ui/components/layout/resources/pokemon/296.txt +10 -0
  229. package/dist/ui/components/layout/resources/pokemon/297.txt +12 -0
  230. package/dist/ui/components/layout/resources/pokemon/298.txt +10 -0
  231. package/dist/ui/components/layout/resources/pokemon/299.txt +9 -0
  232. package/dist/ui/components/layout/resources/pokemon/30.txt +11 -0
  233. package/dist/ui/components/layout/resources/pokemon/300.txt +10 -0
  234. package/dist/ui/components/layout/resources/pokemon/301.txt +11 -0
  235. package/dist/ui/components/layout/resources/pokemon/304.txt +6 -0
  236. package/dist/ui/components/layout/resources/pokemon/305.txt +9 -0
  237. package/dist/ui/components/layout/resources/pokemon/306.txt +12 -0
  238. package/dist/ui/components/layout/resources/pokemon/307.txt +10 -0
  239. package/dist/ui/components/layout/resources/pokemon/309.txt +8 -0
  240. package/dist/ui/components/layout/resources/pokemon/311.txt +10 -0
  241. package/dist/ui/components/layout/resources/pokemon/312.txt +10 -0
  242. package/dist/ui/components/layout/resources/pokemon/313.txt +10 -0
  243. package/dist/ui/components/layout/resources/pokemon/314.txt +10 -0
  244. package/dist/ui/components/layout/resources/pokemon/315.txt +11 -0
  245. package/dist/ui/components/layout/resources/pokemon/316.txt +9 -0
  246. package/dist/ui/components/layout/resources/pokemon/317.txt +9 -0
  247. package/dist/ui/components/layout/resources/pokemon/318.txt +10 -0
  248. package/dist/ui/components/layout/resources/pokemon/32.txt +10 -0
  249. package/dist/ui/components/layout/resources/pokemon/320.txt +12 -0
  250. package/dist/ui/components/layout/resources/pokemon/322.txt +9 -0
  251. package/dist/ui/components/layout/resources/pokemon/323.txt +11 -0
  252. package/dist/ui/components/layout/resources/pokemon/325.txt +10 -0
  253. package/dist/ui/components/layout/resources/pokemon/326.txt +10 -0
  254. package/dist/ui/components/layout/resources/pokemon/327-blank.txt +11 -0
  255. package/dist/ui/components/layout/resources/pokemon/327-filled.txt +11 -0
  256. package/dist/ui/components/layout/resources/pokemon/327.txt +11 -0
  257. package/dist/ui/components/layout/resources/pokemon/328.txt +10 -0
  258. package/dist/ui/components/layout/resources/pokemon/329.txt +10 -0
  259. package/dist/ui/components/layout/resources/pokemon/33.txt +11 -0
  260. package/dist/ui/components/layout/resources/pokemon/331.txt +9 -0
  261. package/dist/ui/components/layout/resources/pokemon/333.txt +8 -0
  262. package/dist/ui/components/layout/resources/pokemon/334.txt +12 -0
  263. package/dist/ui/components/layout/resources/pokemon/335.txt +11 -0
  264. package/dist/ui/components/layout/resources/pokemon/336.txt +10 -0
  265. package/dist/ui/components/layout/resources/pokemon/337.txt +12 -0
  266. package/dist/ui/components/layout/resources/pokemon/339.txt +7 -0
  267. package/dist/ui/components/layout/resources/pokemon/341.txt +10 -0
  268. package/dist/ui/components/layout/resources/pokemon/343.txt +11 -0
  269. package/dist/ui/components/layout/resources/pokemon/345.txt +10 -0
  270. package/dist/ui/components/layout/resources/pokemon/346.txt +12 -0
  271. package/dist/ui/components/layout/resources/pokemon/347.txt +10 -0
  272. package/dist/ui/components/layout/resources/pokemon/348.txt +12 -0
  273. package/dist/ui/components/layout/resources/pokemon/349.txt +11 -0
  274. package/dist/ui/components/layout/resources/pokemon/35.txt +10 -0
  275. package/dist/ui/components/layout/resources/pokemon/351-rainy.txt +11 -0
  276. package/dist/ui/components/layout/resources/pokemon/351-snowy.txt +12 -0
  277. package/dist/ui/components/layout/resources/pokemon/351-sunny.txt +10 -0
  278. package/dist/ui/components/layout/resources/pokemon/351.txt +10 -0
  279. package/dist/ui/components/layout/resources/pokemon/352.txt +10 -0
  280. package/dist/ui/components/layout/resources/pokemon/353.txt +10 -0
  281. package/dist/ui/components/layout/resources/pokemon/354.txt +10 -0
  282. package/dist/ui/components/layout/resources/pokemon/355.txt +11 -0
  283. package/dist/ui/components/layout/resources/pokemon/356.txt +12 -0
  284. package/dist/ui/components/layout/resources/pokemon/358.txt +11 -0
  285. package/dist/ui/components/layout/resources/pokemon/360.txt +11 -0
  286. package/dist/ui/components/layout/resources/pokemon/361.txt +10 -0
  287. package/dist/ui/components/layout/resources/pokemon/363.txt +8 -0
  288. package/dist/ui/components/layout/resources/pokemon/364.txt +9 -0
  289. package/dist/ui/components/layout/resources/pokemon/365.txt +11 -0
  290. package/dist/ui/components/layout/resources/pokemon/366.txt +10 -0
  291. package/dist/ui/components/layout/resources/pokemon/367.txt +12 -0
  292. package/dist/ui/components/layout/resources/pokemon/368.txt +11 -0
  293. package/dist/ui/components/layout/resources/pokemon/369.txt +11 -0
  294. package/dist/ui/components/layout/resources/pokemon/37-alola.txt +11 -0
  295. package/dist/ui/components/layout/resources/pokemon/37.txt +10 -0
  296. package/dist/ui/components/layout/resources/pokemon/370.txt +9 -0
  297. package/dist/ui/components/layout/resources/pokemon/371.txt +10 -0
  298. package/dist/ui/components/layout/resources/pokemon/372.txt +11 -0
  299. package/dist/ui/components/layout/resources/pokemon/373.txt +12 -0
  300. package/dist/ui/components/layout/resources/pokemon/374.txt +9 -0
  301. package/dist/ui/components/layout/resources/pokemon/375.txt +11 -0
  302. package/dist/ui/components/layout/resources/pokemon/376.txt +12 -0
  303. package/dist/ui/components/layout/resources/pokemon/377.txt +12 -0
  304. package/dist/ui/components/layout/resources/pokemon/378.txt +12 -0
  305. package/dist/ui/components/layout/resources/pokemon/379.txt +11 -0
  306. package/dist/ui/components/layout/resources/pokemon/380.txt +11 -0
  307. package/dist/ui/components/layout/resources/pokemon/381.txt +11 -0
  308. package/dist/ui/components/layout/resources/pokemon/382.txt +11 -0
  309. package/dist/ui/components/layout/resources/pokemon/383.txt +12 -0
  310. package/dist/ui/components/layout/resources/pokemon/385.txt +10 -0
  311. package/dist/ui/components/layout/resources/pokemon/386-defense.txt +12 -0
  312. package/dist/ui/components/layout/resources/pokemon/386.txt +11 -0
  313. package/dist/ui/components/layout/resources/pokemon/387.txt +11 -0
  314. package/dist/ui/components/layout/resources/pokemon/388.txt +11 -0
  315. package/dist/ui/components/layout/resources/pokemon/389.txt +12 -0
  316. package/dist/ui/components/layout/resources/pokemon/39.txt +10 -0
  317. package/dist/ui/components/layout/resources/pokemon/390.txt +11 -0
  318. package/dist/ui/components/layout/resources/pokemon/391.txt +12 -0
  319. package/dist/ui/components/layout/resources/pokemon/392.txt +12 -0
  320. package/dist/ui/components/layout/resources/pokemon/393.txt +10 -0
  321. package/dist/ui/components/layout/resources/pokemon/394.txt +11 -0
  322. package/dist/ui/components/layout/resources/pokemon/396.txt +9 -0
  323. package/dist/ui/components/layout/resources/pokemon/397.txt +12 -0
  324. package/dist/ui/components/layout/resources/pokemon/399.txt +8 -0
  325. package/dist/ui/components/layout/resources/pokemon/400.txt +11 -0
  326. package/dist/ui/components/layout/resources/pokemon/401.txt +11 -0
  327. package/dist/ui/components/layout/resources/pokemon/402.txt +12 -0
  328. package/dist/ui/components/layout/resources/pokemon/403.txt +11 -0
  329. package/dist/ui/components/layout/resources/pokemon/404.txt +11 -0
  330. package/dist/ui/components/layout/resources/pokemon/406.txt +9 -0
  331. package/dist/ui/components/layout/resources/pokemon/408.txt +10 -0
  332. package/dist/ui/components/layout/resources/pokemon/409.txt +12 -0
  333. package/dist/ui/components/layout/resources/pokemon/41.txt +10 -0
  334. package/dist/ui/components/layout/resources/pokemon/410.txt +10 -0
  335. package/dist/ui/components/layout/resources/pokemon/411.txt +12 -0
  336. package/dist/ui/components/layout/resources/pokemon/412-plant.txt +11 -0
  337. package/dist/ui/components/layout/resources/pokemon/412-sandy.txt +12 -0
  338. package/dist/ui/components/layout/resources/pokemon/412-trash.txt +12 -0
  339. package/dist/ui/components/layout/resources/pokemon/412.txt +11 -0
  340. package/dist/ui/components/layout/resources/pokemon/413-plant.txt +12 -0
  341. package/dist/ui/components/layout/resources/pokemon/413-sandy.txt +12 -0
  342. package/dist/ui/components/layout/resources/pokemon/413-trash.txt +12 -0
  343. package/dist/ui/components/layout/resources/pokemon/413.txt +12 -0
  344. package/dist/ui/components/layout/resources/pokemon/414-plant.txt +10 -0
  345. package/dist/ui/components/layout/resources/pokemon/414.txt +10 -0
  346. package/dist/ui/components/layout/resources/pokemon/415.txt +9 -0
  347. package/dist/ui/components/layout/resources/pokemon/417.txt +12 -0
  348. package/dist/ui/components/layout/resources/pokemon/418.txt +10 -0
  349. package/dist/ui/components/layout/resources/pokemon/419.txt +11 -0
  350. package/dist/ui/components/layout/resources/pokemon/420.txt +9 -0
  351. package/dist/ui/components/layout/resources/pokemon/422-east.txt +10 -0
  352. package/dist/ui/components/layout/resources/pokemon/422-west.txt +10 -0
  353. package/dist/ui/components/layout/resources/pokemon/422.txt +10 -0
  354. package/dist/ui/components/layout/resources/pokemon/425.txt +11 -0
  355. package/dist/ui/components/layout/resources/pokemon/427.txt +11 -0
  356. package/dist/ui/components/layout/resources/pokemon/43.txt +10 -0
  357. package/dist/ui/components/layout/resources/pokemon/430.txt +11 -0
  358. package/dist/ui/components/layout/resources/pokemon/431.txt +11 -0
  359. package/dist/ui/components/layout/resources/pokemon/432.txt +11 -0
  360. package/dist/ui/components/layout/resources/pokemon/433.txt +10 -0
  361. package/dist/ui/components/layout/resources/pokemon/434.txt +10 -0
  362. package/dist/ui/components/layout/resources/pokemon/436.txt +8 -0
  363. package/dist/ui/components/layout/resources/pokemon/438.txt +10 -0
  364. package/dist/ui/components/layout/resources/pokemon/439.txt +11 -0
  365. package/dist/ui/components/layout/resources/pokemon/44.txt +11 -0
  366. package/dist/ui/components/layout/resources/pokemon/440.txt +10 -0
  367. package/dist/ui/components/layout/resources/pokemon/441.txt +11 -0
  368. package/dist/ui/components/layout/resources/pokemon/442.txt +10 -0
  369. package/dist/ui/components/layout/resources/pokemon/443.txt +10 -0
  370. package/dist/ui/components/layout/resources/pokemon/444.txt +11 -0
  371. package/dist/ui/components/layout/resources/pokemon/445.txt +11 -0
  372. package/dist/ui/components/layout/resources/pokemon/446.txt +10 -0
  373. package/dist/ui/components/layout/resources/pokemon/447.txt +9 -0
  374. package/dist/ui/components/layout/resources/pokemon/449.txt +9 -0
  375. package/dist/ui/components/layout/resources/pokemon/450.txt +12 -0
  376. package/dist/ui/components/layout/resources/pokemon/451.txt +11 -0
  377. package/dist/ui/components/layout/resources/pokemon/453.txt +9 -0
  378. package/dist/ui/components/layout/resources/pokemon/455.txt +12 -0
  379. package/dist/ui/components/layout/resources/pokemon/456.txt +9 -0
  380. package/dist/ui/components/layout/resources/pokemon/457.txt +12 -0
  381. package/dist/ui/components/layout/resources/pokemon/458.txt +9 -0
  382. package/dist/ui/components/layout/resources/pokemon/459.txt +10 -0
  383. package/dist/ui/components/layout/resources/pokemon/46.txt +10 -0
  384. package/dist/ui/components/layout/resources/pokemon/466.txt +12 -0
  385. package/dist/ui/components/layout/resources/pokemon/467.txt +11 -0
  386. package/dist/ui/components/layout/resources/pokemon/469.txt +11 -0
  387. package/dist/ui/components/layout/resources/pokemon/47.txt +11 -0
  388. package/dist/ui/components/layout/resources/pokemon/472.txt +11 -0
  389. package/dist/ui/components/layout/resources/pokemon/476.txt +12 -0
  390. package/dist/ui/components/layout/resources/pokemon/480.txt +11 -0
  391. package/dist/ui/components/layout/resources/pokemon/481.txt +11 -0
  392. package/dist/ui/components/layout/resources/pokemon/482.txt +12 -0
  393. package/dist/ui/components/layout/resources/pokemon/485.txt +10 -0
  394. package/dist/ui/components/layout/resources/pokemon/486.txt +12 -0
  395. package/dist/ui/components/layout/resources/pokemon/487-altered.txt +12 -0
  396. package/dist/ui/components/layout/resources/pokemon/487.txt +12 -0
  397. package/dist/ui/components/layout/resources/pokemon/489.txt +9 -0
  398. package/dist/ui/components/layout/resources/pokemon/490.txt +10 -0
  399. package/dist/ui/components/layout/resources/pokemon/492-land.txt +8 -0
  400. package/dist/ui/components/layout/resources/pokemon/492-sky.txt +11 -0
  401. package/dist/ui/components/layout/resources/pokemon/492.txt +8 -0
  402. package/dist/ui/components/layout/resources/pokemon/494.txt +11 -0
  403. package/dist/ui/components/layout/resources/pokemon/495.txt +9 -0
  404. package/dist/ui/components/layout/resources/pokemon/496.txt +10 -0
  405. package/dist/ui/components/layout/resources/pokemon/497.txt +11 -0
  406. package/dist/ui/components/layout/resources/pokemon/498.txt +9 -0
  407. package/dist/ui/components/layout/resources/pokemon/499.txt +11 -0
  408. package/dist/ui/components/layout/resources/pokemon/5.txt +12 -0
  409. package/dist/ui/components/layout/resources/pokemon/50-alola.txt +9 -0
  410. package/dist/ui/components/layout/resources/pokemon/50.txt +7 -0
  411. package/dist/ui/components/layout/resources/pokemon/501.txt +9 -0
  412. package/dist/ui/components/layout/resources/pokemon/502.txt +12 -0
  413. package/dist/ui/components/layout/resources/pokemon/503.txt +12 -0
  414. package/dist/ui/components/layout/resources/pokemon/504.txt +9 -0
  415. package/dist/ui/components/layout/resources/pokemon/505.txt +11 -0
  416. package/dist/ui/components/layout/resources/pokemon/506.txt +9 -0
  417. package/dist/ui/components/layout/resources/pokemon/507.txt +11 -0
  418. package/dist/ui/components/layout/resources/pokemon/509.txt +11 -0
  419. package/dist/ui/components/layout/resources/pokemon/51-alola.txt +12 -0
  420. package/dist/ui/components/layout/resources/pokemon/511.txt +11 -0
  421. package/dist/ui/components/layout/resources/pokemon/513.txt +10 -0
  422. package/dist/ui/components/layout/resources/pokemon/514.txt +11 -0
  423. package/dist/ui/components/layout/resources/pokemon/515.txt +11 -0
  424. package/dist/ui/components/layout/resources/pokemon/516.txt +11 -0
  425. package/dist/ui/components/layout/resources/pokemon/517.txt +7 -0
  426. package/dist/ui/components/layout/resources/pokemon/519.txt +8 -0
  427. package/dist/ui/components/layout/resources/pokemon/52-alola.txt +11 -0
  428. package/dist/ui/components/layout/resources/pokemon/52-galar.txt +11 -0
  429. package/dist/ui/components/layout/resources/pokemon/52.txt +11 -0
  430. package/dist/ui/components/layout/resources/pokemon/520.txt +10 -0
  431. package/dist/ui/components/layout/resources/pokemon/522.txt +11 -0
  432. package/dist/ui/components/layout/resources/pokemon/523.txt +12 -0
  433. package/dist/ui/components/layout/resources/pokemon/524.txt +9 -0
  434. package/dist/ui/components/layout/resources/pokemon/525.txt +11 -0
  435. package/dist/ui/components/layout/resources/pokemon/527.txt +8 -0
  436. package/dist/ui/components/layout/resources/pokemon/529.txt +9 -0
  437. package/dist/ui/components/layout/resources/pokemon/53-alola.txt +11 -0
  438. package/dist/ui/components/layout/resources/pokemon/531.txt +11 -0
  439. package/dist/ui/components/layout/resources/pokemon/532.txt +10 -0
  440. package/dist/ui/components/layout/resources/pokemon/533.txt +12 -0
  441. package/dist/ui/components/layout/resources/pokemon/535.txt +7 -0
  442. package/dist/ui/components/layout/resources/pokemon/536.txt +9 -0
  443. package/dist/ui/components/layout/resources/pokemon/54.txt +11 -0
  444. package/dist/ui/components/layout/resources/pokemon/540.txt +9 -0
  445. package/dist/ui/components/layout/resources/pokemon/541.txt +8 -0
  446. package/dist/ui/components/layout/resources/pokemon/542.txt +11 -0
  447. package/dist/ui/components/layout/resources/pokemon/543.txt +7 -0
  448. package/dist/ui/components/layout/resources/pokemon/544.txt +8 -0
  449. package/dist/ui/components/layout/resources/pokemon/546.txt +7 -0
  450. package/dist/ui/components/layout/resources/pokemon/548.txt +9 -0
  451. package/dist/ui/components/layout/resources/pokemon/550-blue-striped.txt +12 -0
  452. package/dist/ui/components/layout/resources/pokemon/550-red-striped.txt +12 -0
  453. package/dist/ui/components/layout/resources/pokemon/550.txt +12 -0
  454. package/dist/ui/components/layout/resources/pokemon/551.txt +8 -0
  455. package/dist/ui/components/layout/resources/pokemon/552.txt +11 -0
  456. package/dist/ui/components/layout/resources/pokemon/554-galar.txt +8 -0
  457. package/dist/ui/components/layout/resources/pokemon/554.txt +8 -0
  458. package/dist/ui/components/layout/resources/pokemon/555-zen.txt +12 -0
  459. package/dist/ui/components/layout/resources/pokemon/557.txt +9 -0
  460. package/dist/ui/components/layout/resources/pokemon/559.txt +8 -0
  461. package/dist/ui/components/layout/resources/pokemon/56.txt +10 -0
  462. package/dist/ui/components/layout/resources/pokemon/562-galar.txt +8 -0
  463. package/dist/ui/components/layout/resources/pokemon/562.txt +8 -0
  464. package/dist/ui/components/layout/resources/pokemon/564.txt +8 -0
  465. package/dist/ui/components/layout/resources/pokemon/565.txt +11 -0
  466. package/dist/ui/components/layout/resources/pokemon/566.txt +8 -0
  467. package/dist/ui/components/layout/resources/pokemon/567.txt +11 -0
  468. package/dist/ui/components/layout/resources/pokemon/568.txt +9 -0
  469. package/dist/ui/components/layout/resources/pokemon/57.txt +12 -0
  470. package/dist/ui/components/layout/resources/pokemon/570.txt +9 -0
  471. package/dist/ui/components/layout/resources/pokemon/572.txt +10 -0
  472. package/dist/ui/components/layout/resources/pokemon/574.txt +9 -0
  473. package/dist/ui/components/layout/resources/pokemon/575.txt +10 -0
  474. package/dist/ui/components/layout/resources/pokemon/577.txt +7 -0
  475. package/dist/ui/components/layout/resources/pokemon/578.txt +10 -0
  476. package/dist/ui/components/layout/resources/pokemon/58.txt +11 -0
  477. package/dist/ui/components/layout/resources/pokemon/580.txt +10 -0
  478. package/dist/ui/components/layout/resources/pokemon/581.txt +11 -0
  479. package/dist/ui/components/layout/resources/pokemon/582.txt +8 -0
  480. package/dist/ui/components/layout/resources/pokemon/583.txt +11 -0
  481. package/dist/ui/components/layout/resources/pokemon/585-autumn.txt +11 -0
  482. package/dist/ui/components/layout/resources/pokemon/585-spring.txt +11 -0
  483. package/dist/ui/components/layout/resources/pokemon/585-summer.txt +11 -0
  484. package/dist/ui/components/layout/resources/pokemon/585-winter.txt +11 -0
  485. package/dist/ui/components/layout/resources/pokemon/585.txt +11 -0
  486. package/dist/ui/components/layout/resources/pokemon/586-spring.txt +12 -0
  487. package/dist/ui/components/layout/resources/pokemon/586-summer.txt +12 -0
  488. package/dist/ui/components/layout/resources/pokemon/586-winter.txt +12 -0
  489. package/dist/ui/components/layout/resources/pokemon/586.txt +12 -0
  490. package/dist/ui/components/layout/resources/pokemon/588.txt +9 -0
  491. package/dist/ui/components/layout/resources/pokemon/590.txt +9 -0
  492. package/dist/ui/components/layout/resources/pokemon/592.txt +10 -0
  493. package/dist/ui/components/layout/resources/pokemon/594.txt +11 -0
  494. package/dist/ui/components/layout/resources/pokemon/595.txt +8 -0
  495. package/dist/ui/components/layout/resources/pokemon/597.txt +8 -0
  496. package/dist/ui/components/layout/resources/pokemon/599.txt +8 -0
  497. package/dist/ui/components/layout/resources/pokemon/60.txt +8 -0
  498. package/dist/ui/components/layout/resources/pokemon/600.txt +10 -0
  499. package/dist/ui/components/layout/resources/pokemon/602.txt +6 -0
  500. package/dist/ui/components/layout/resources/pokemon/603.txt +10 -0
  501. package/dist/ui/components/layout/resources/pokemon/604.txt +11 -0
  502. package/dist/ui/components/layout/resources/pokemon/605.txt +10 -0
  503. package/dist/ui/components/layout/resources/pokemon/607.txt +9 -0
  504. package/dist/ui/components/layout/resources/pokemon/608.txt +9 -0
  505. package/dist/ui/components/layout/resources/pokemon/61.txt +10 -0
  506. package/dist/ui/components/layout/resources/pokemon/610.txt +10 -0
  507. package/dist/ui/components/layout/resources/pokemon/611.txt +11 -0
  508. package/dist/ui/components/layout/resources/pokemon/613.txt +9 -0
  509. package/dist/ui/components/layout/resources/pokemon/615.txt +10 -0
  510. package/dist/ui/components/layout/resources/pokemon/616.txt +8 -0
  511. package/dist/ui/components/layout/resources/pokemon/618--galar.txt +11 -0
  512. package/dist/ui/components/layout/resources/pokemon/618.txt +11 -0
  513. package/dist/ui/components/layout/resources/pokemon/619.txt +10 -0
  514. package/dist/ui/components/layout/resources/pokemon/622.txt +9 -0
  515. package/dist/ui/components/layout/resources/pokemon/624.txt +10 -0
  516. package/dist/ui/components/layout/resources/pokemon/627.txt +11 -0
  517. package/dist/ui/components/layout/resources/pokemon/629.txt +10 -0
  518. package/dist/ui/components/layout/resources/pokemon/63.txt +11 -0
  519. package/dist/ui/components/layout/resources/pokemon/632.txt +11 -0
  520. package/dist/ui/components/layout/resources/pokemon/633.txt +10 -0
  521. package/dist/ui/components/layout/resources/pokemon/634.txt +11 -0
  522. package/dist/ui/components/layout/resources/pokemon/636.txt +10 -0
  523. package/dist/ui/components/layout/resources/pokemon/648-aria.txt +11 -0
  524. package/dist/ui/components/layout/resources/pokemon/648-pirouette.txt +12 -0
  525. package/dist/ui/components/layout/resources/pokemon/648.txt +11 -0
  526. package/dist/ui/components/layout/resources/pokemon/649-burn.txt +12 -0
  527. package/dist/ui/components/layout/resources/pokemon/649-chill.txt +12 -0
  528. package/dist/ui/components/layout/resources/pokemon/649-douse.txt +12 -0
  529. package/dist/ui/components/layout/resources/pokemon/649-shock.txt +12 -0
  530. package/dist/ui/components/layout/resources/pokemon/649.txt +12 -0
  531. package/dist/ui/components/layout/resources/pokemon/650.txt +11 -0
  532. package/dist/ui/components/layout/resources/pokemon/651.txt +11 -0
  533. package/dist/ui/components/layout/resources/pokemon/652.txt +12 -0
  534. package/dist/ui/components/layout/resources/pokemon/653.txt +10 -0
  535. package/dist/ui/components/layout/resources/pokemon/654.txt +11 -0
  536. package/dist/ui/components/layout/resources/pokemon/655.txt +12 -0
  537. package/dist/ui/components/layout/resources/pokemon/656.txt +10 -0
  538. package/dist/ui/components/layout/resources/pokemon/657.txt +11 -0
  539. package/dist/ui/components/layout/resources/pokemon/658-ash.txt +12 -0
  540. package/dist/ui/components/layout/resources/pokemon/658.txt +11 -0
  541. package/dist/ui/components/layout/resources/pokemon/66.txt +10 -0
  542. package/dist/ui/components/layout/resources/pokemon/661.txt +8 -0
  543. package/dist/ui/components/layout/resources/pokemon/662.txt +10 -0
  544. package/dist/ui/components/layout/resources/pokemon/664.txt +11 -0
  545. package/dist/ui/components/layout/resources/pokemon/665.txt +9 -0
  546. package/dist/ui/components/layout/resources/pokemon/667.txt +10 -0
  547. package/dist/ui/components/layout/resources/pokemon/669-blue.txt +9 -0
  548. package/dist/ui/components/layout/resources/pokemon/669-orange.txt +9 -0
  549. package/dist/ui/components/layout/resources/pokemon/669-red.txt +9 -0
  550. package/dist/ui/components/layout/resources/pokemon/669-white.txt +9 -0
  551. package/dist/ui/components/layout/resources/pokemon/669-yellow.txt +9 -0
  552. package/dist/ui/components/layout/resources/pokemon/669.txt +9 -0
  553. package/dist/ui/components/layout/resources/pokemon/67.txt +11 -0
  554. package/dist/ui/components/layout/resources/pokemon/670-blue.txt +11 -0
  555. package/dist/ui/components/layout/resources/pokemon/670-eternal.txt +11 -0
  556. package/dist/ui/components/layout/resources/pokemon/670-orange.txt +11 -0
  557. package/dist/ui/components/layout/resources/pokemon/670-red.txt +11 -0
  558. package/dist/ui/components/layout/resources/pokemon/670-white.txt +11 -0
  559. package/dist/ui/components/layout/resources/pokemon/670-yellow.txt +11 -0
  560. package/dist/ui/components/layout/resources/pokemon/670.txt +11 -0
  561. package/dist/ui/components/layout/resources/pokemon/672.txt +9 -0
  562. package/dist/ui/components/layout/resources/pokemon/673.txt +11 -0
  563. package/dist/ui/components/layout/resources/pokemon/674.txt +10 -0
  564. package/dist/ui/components/layout/resources/pokemon/677.txt +9 -0
  565. package/dist/ui/components/layout/resources/pokemon/679.txt +12 -0
  566. package/dist/ui/components/layout/resources/pokemon/680.txt +12 -0
  567. package/dist/ui/components/layout/resources/pokemon/682.txt +8 -0
  568. package/dist/ui/components/layout/resources/pokemon/684.txt +8 -0
  569. package/dist/ui/components/layout/resources/pokemon/686.txt +10 -0
  570. package/dist/ui/components/layout/resources/pokemon/688.txt +12 -0
  571. package/dist/ui/components/layout/resources/pokemon/69.txt +8 -0
  572. package/dist/ui/components/layout/resources/pokemon/690.txt +11 -0
  573. package/dist/ui/components/layout/resources/pokemon/692.txt +9 -0
  574. package/dist/ui/components/layout/resources/pokemon/694.txt +9 -0
  575. package/dist/ui/components/layout/resources/pokemon/696.txt +9 -0
  576. package/dist/ui/components/layout/resources/pokemon/697.txt +11 -0
  577. package/dist/ui/components/layout/resources/pokemon/698.txt +12 -0
  578. package/dist/ui/components/layout/resources/pokemon/7.txt +9 -0
  579. package/dist/ui/components/layout/resources/pokemon/70.txt +10 -0
  580. package/dist/ui/components/layout/resources/pokemon/703.txt +7 -0
  581. package/dist/ui/components/layout/resources/pokemon/704.txt +7 -0
  582. package/dist/ui/components/layout/resources/pokemon/705.txt +11 -0
  583. package/dist/ui/components/layout/resources/pokemon/708.txt +11 -0
  584. package/dist/ui/components/layout/resources/pokemon/710-average.txt +10 -0
  585. package/dist/ui/components/layout/resources/pokemon/710-large.txt +10 -0
  586. package/dist/ui/components/layout/resources/pokemon/710-small.txt +9 -0
  587. package/dist/ui/components/layout/resources/pokemon/710-super.txt +11 -0
  588. package/dist/ui/components/layout/resources/pokemon/710.txt +10 -0
  589. package/dist/ui/components/layout/resources/pokemon/711-small.txt +11 -0
  590. package/dist/ui/components/layout/resources/pokemon/712.txt +9 -0
  591. package/dist/ui/components/layout/resources/pokemon/714.txt +10 -0
  592. package/dist/ui/components/layout/resources/pokemon/719.txt +11 -0
  593. package/dist/ui/components/layout/resources/pokemon/72.txt +11 -0
  594. package/dist/ui/components/layout/resources/pokemon/720.txt +10 -0
  595. package/dist/ui/components/layout/resources/pokemon/722.txt +9 -0
  596. package/dist/ui/components/layout/resources/pokemon/723.txt +11 -0
  597. package/dist/ui/components/layout/resources/pokemon/725.txt +11 -0
  598. package/dist/ui/components/layout/resources/pokemon/726.txt +12 -0
  599. package/dist/ui/components/layout/resources/pokemon/728.txt +10 -0
  600. package/dist/ui/components/layout/resources/pokemon/729.txt +12 -0
  601. package/dist/ui/components/layout/resources/pokemon/731.txt +11 -0
  602. package/dist/ui/components/layout/resources/pokemon/732.txt +11 -0
  603. package/dist/ui/components/layout/resources/pokemon/733.txt +11 -0
  604. package/dist/ui/components/layout/resources/pokemon/734.txt +8 -0
  605. package/dist/ui/components/layout/resources/pokemon/735.txt +12 -0
  606. package/dist/ui/components/layout/resources/pokemon/736.txt +7 -0
  607. package/dist/ui/components/layout/resources/pokemon/737.txt +10 -0
  608. package/dist/ui/components/layout/resources/pokemon/739.txt +11 -0
  609. package/dist/ui/components/layout/resources/pokemon/74-alola.txt +8 -0
  610. package/dist/ui/components/layout/resources/pokemon/74.txt +8 -0
  611. package/dist/ui/components/layout/resources/pokemon/740.txt +12 -0
  612. package/dist/ui/components/layout/resources/pokemon/741-baile.txt +10 -0
  613. package/dist/ui/components/layout/resources/pokemon/741-pau.txt +11 -0
  614. package/dist/ui/components/layout/resources/pokemon/741-pom-pom.txt +10 -0
  615. package/dist/ui/components/layout/resources/pokemon/741-sensu.txt +12 -0
  616. package/dist/ui/components/layout/resources/pokemon/741.txt +10 -0
  617. package/dist/ui/components/layout/resources/pokemon/742.txt +10 -0
  618. package/dist/ui/components/layout/resources/pokemon/744-own-tempo.txt +11 -0
  619. package/dist/ui/components/layout/resources/pokemon/744.txt +11 -0
  620. package/dist/ui/components/layout/resources/pokemon/746-solo.txt +7 -0
  621. package/dist/ui/components/layout/resources/pokemon/746.txt +7 -0
  622. package/dist/ui/components/layout/resources/pokemon/747.txt +10 -0
  623. package/dist/ui/components/layout/resources/pokemon/749.txt +12 -0
  624. package/dist/ui/components/layout/resources/pokemon/75-alola.txt +12 -0
  625. package/dist/ui/components/layout/resources/pokemon/75.txt +11 -0
  626. package/dist/ui/components/layout/resources/pokemon/751.txt +10 -0
  627. package/dist/ui/components/layout/resources/pokemon/753.txt +10 -0
  628. package/dist/ui/components/layout/resources/pokemon/755.txt +12 -0
  629. package/dist/ui/components/layout/resources/pokemon/757.txt +9 -0
  630. package/dist/ui/components/layout/resources/pokemon/759.txt +10 -0
  631. package/dist/ui/components/layout/resources/pokemon/761.txt +10 -0
  632. package/dist/ui/components/layout/resources/pokemon/762.txt +12 -0
  633. package/dist/ui/components/layout/resources/pokemon/767.txt +7 -0
  634. package/dist/ui/components/layout/resources/pokemon/769.txt +11 -0
  635. package/dist/ui/components/layout/resources/pokemon/77-galar.txt +11 -0
  636. package/dist/ui/components/layout/resources/pokemon/77.txt +12 -0
  637. package/dist/ui/components/layout/resources/pokemon/771.txt +10 -0
  638. package/dist/ui/components/layout/resources/pokemon/774-blue.txt +9 -0
  639. package/dist/ui/components/layout/resources/pokemon/774-green.txt +9 -0
  640. package/dist/ui/components/layout/resources/pokemon/774-indigo.txt +9 -0
  641. package/dist/ui/components/layout/resources/pokemon/774-orange.txt +9 -0
  642. package/dist/ui/components/layout/resources/pokemon/774-red.txt +9 -0
  643. package/dist/ui/components/layout/resources/pokemon/774-violet.txt +9 -0
  644. package/dist/ui/components/layout/resources/pokemon/774-yellow.txt +9 -0
  645. package/dist/ui/components/layout/resources/pokemon/774.txt +9 -0
  646. package/dist/ui/components/layout/resources/pokemon/775-form-1.txt +10 -0
  647. package/dist/ui/components/layout/resources/pokemon/775.txt +10 -0
  648. package/dist/ui/components/layout/resources/pokemon/779.txt +10 -0
  649. package/dist/ui/components/layout/resources/pokemon/782.txt +12 -0
  650. package/dist/ui/components/layout/resources/pokemon/789.txt +10 -0
  651. package/dist/ui/components/layout/resources/pokemon/79-galar.txt +7 -0
  652. package/dist/ui/components/layout/resources/pokemon/79.txt +11 -0
  653. package/dist/ui/components/layout/resources/pokemon/790.txt +10 -0
  654. package/dist/ui/components/layout/resources/pokemon/793.txt +12 -0
  655. package/dist/ui/components/layout/resources/pokemon/8.txt +11 -0
  656. package/dist/ui/components/layout/resources/pokemon/808.txt +9 -0
  657. package/dist/ui/components/layout/resources/pokemon/81.txt +8 -0
  658. package/dist/ui/components/layout/resources/pokemon/810.txt +12 -0
  659. package/dist/ui/components/layout/resources/pokemon/819.txt +11 -0
  660. package/dist/ui/components/layout/resources/pokemon/821.txt +8 -0
  661. package/dist/ui/components/layout/resources/pokemon/825.txt +11 -0
  662. package/dist/ui/components/layout/resources/pokemon/827.txt +11 -0
  663. package/dist/ui/components/layout/resources/pokemon/829.txt +9 -0
  664. package/dist/ui/components/layout/resources/pokemon/83.txt +11 -0
  665. package/dist/ui/components/layout/resources/pokemon/831.txt +10 -0
  666. package/dist/ui/components/layout/resources/pokemon/833.txt +12 -0
  667. package/dist/ui/components/layout/resources/pokemon/835.txt +10 -0
  668. package/dist/ui/components/layout/resources/pokemon/837.txt +9 -0
  669. package/dist/ui/components/layout/resources/pokemon/838.txt +12 -0
  670. package/dist/ui/components/layout/resources/pokemon/84.txt +9 -0
  671. package/dist/ui/components/layout/resources/pokemon/840.txt +9 -0
  672. package/dist/ui/components/layout/resources/pokemon/843.txt +10 -0
  673. package/dist/ui/components/layout/resources/pokemon/846.txt +8 -0
  674. package/dist/ui/components/layout/resources/pokemon/847.txt +10 -0
  675. package/dist/ui/components/layout/resources/pokemon/848.txt +11 -0
  676. package/dist/ui/components/layout/resources/pokemon/850.txt +5 -0
  677. package/dist/ui/components/layout/resources/pokemon/854.txt +7 -0
  678. package/dist/ui/components/layout/resources/pokemon/856.txt +12 -0
  679. package/dist/ui/components/layout/resources/pokemon/857.txt +11 -0
  680. package/dist/ui/components/layout/resources/pokemon/859.txt +10 -0
  681. package/dist/ui/components/layout/resources/pokemon/86.txt +12 -0
  682. package/dist/ui/components/layout/resources/pokemon/860.txt +12 -0
  683. package/dist/ui/components/layout/resources/pokemon/868.txt +9 -0
  684. package/dist/ui/components/layout/resources/pokemon/871.txt +9 -0
  685. package/dist/ui/components/layout/resources/pokemon/872.txt +7 -0
  686. package/dist/ui/components/layout/resources/pokemon/877-hangry.txt +11 -0
  687. package/dist/ui/components/layout/resources/pokemon/877.txt +11 -0
  688. package/dist/ui/components/layout/resources/pokemon/878.txt +11 -0
  689. package/dist/ui/components/layout/resources/pokemon/88-alola.txt +9 -0
  690. package/dist/ui/components/layout/resources/pokemon/88.txt +9 -0
  691. package/dist/ui/components/layout/resources/pokemon/885.txt +9 -0
  692. package/dist/ui/components/layout/resources/pokemon/886.txt +12 -0
  693. package/dist/ui/components/layout/resources/pokemon/891.txt +11 -0
  694. package/dist/ui/components/layout/resources/pokemon/90.txt +9 -0
  695. package/dist/ui/components/layout/resources/pokemon/92.txt +11 -0
  696. package/dist/ui/components/layout/resources/pokemon/96.txt +11 -0
  697. package/dist/ui/components/layout/resources/pokemon/98.txt +11 -0
  698. package/dist/ui/components/layout/resources/pokemon/manifest.json +9 -0
  699. package/dist/ui/renderers.js +1 -1
  700. package/package.json +115 -41
package/README.md CHANGED
@@ -6,25 +6,39 @@
6
6
 
7
7
  ## Install
8
8
 
9
- DSH Console requires Node.js 24 or newer and a working DSH provider configuration.
9
+ DSH Console requires Node.js 24 or newer, supports DeepSeek Harness `0.2.0-rc.2` through the maximum tested version `0.2.0-rc.2`, and needs a working DSH provider configuration. Console follows audited DSH releases; the compatible prerelease can differ from npm `latest`, so install the exact audited pair:
10
+
11
+ Plugin admission on newer releases is still governed by DSH compatibility checks; Console never grants version exemptions or bypasses Host restrictions.
10
12
 
11
13
  ```sh
12
- npm install --global @deepseek-ai/dsh @cofy-x/dsh-console
14
+ npm install --global @deepseek-ai/dsh@0.2.0-rc.2 @cofy-x/dsh-console@0.1.0-alpha.21
13
15
  dsh-console --prompt "hello"
14
16
  ```
15
17
 
16
- Public Alpha releases are intentionally available through npm's default `latest` channel for a simple installation path, while the published version keeps its `-alpha.x` prerelease identifier so the maturity level remains explicit.
18
+ The launcher resolves the actual `dsh` executable on `PATH` and validates its version before changing the Console profile. Check it with `dsh --version` and `command -v dsh` on macOS/Linux, `(Get-Command dsh).Source` in PowerShell, or `where dsh` in Command Prompt. Older DSH releases are blocked with the exact repair command; newer unaudited releases receive a non-blocking warning.
19
+
20
+ Public Alpha releases retain prerelease versions while the current published Console remains available through npm's default install path. The published launcher reconciles its package into the DSH profile; `pnpm start` from a source checkout resolves that checkout and is a separate development path.
17
21
 
18
22
  ## Use
19
23
 
20
- The launcher initializes or locates the `dsh-console` DSH profile and starts an interactive terminal session. Useful commands include:
24
+ The launcher initializes its owned `dsh-console` DSH profile, aligns the profile package with the launcher version, and starts an interactive terminal session. It can continue persisted work before the TUI starts:
25
+
26
+ ```sh
27
+ dsh-console --continue
28
+ dsh-console --resume dsh-console-01234567-89ab-cdef-0123-456789abcdef --prompt "continue this work"
29
+ ```
30
+
31
+ Startup continuation is scoped to persisted Console conversations and their persistent forks in the current directory. Useful interactive commands include:
21
32
 
22
33
  ```text
23
34
  /model Select the active DSH model
24
35
  /new Start a fresh conversation
25
- /sessions Browse resumable sessions for the current directory
26
- /resume Resume a session
36
+ /sessions Search, preview, rename, resume, or fork workspace Sessions
37
+ /jobs Inspect and stop background jobs for the interactive Session
38
+ /goals Inspect and manage the Session goal and its round limit
27
39
  /tools Inspect tools exposed by the active DSH agent
40
+ /skills Inspect user-invocable Skills for the active DSH agent
41
+ /preset Show or change the blank Session's DSH Agent preset
28
42
  /permission Select the active DSH permission preset
29
43
  /theme Select the terminal theme
30
44
  /settings Edit Console settings
@@ -32,4 +46,12 @@ The launcher initializes or locates the `dsh-console` DSH profile and starts an
32
46
 
33
47
  DSH owns provider credentials, model routing, session logs, and attachments. DSH Console does not maintain a separate authentication or session database.
34
48
 
49
+ In `/sessions`, press `/` to search and Enter to preview a Session. Forking offers completed Turn boundaries, preserves the source composition and model route, and creates a durable conversation without changing files. `/jobs` never consumes the Agent's output cursor; output remains in DSH's `job_output` flow. `/goals` distinguishes durable phase from process-local activation: restored goals remain disarmed until you explicitly resume them. Native `/goal ...` commands and their attachment support remain available.
50
+
51
+ Full-text search opens a DSH-managed, rebuildable SQLite index under `DSH_HOME` on the first search, not at startup. Session logs remain the durable source of truth. A user profile that explicitly disables the DSH search provider keeps that override.
52
+
53
+ ## Existing DSH profiles
54
+
55
+ The launcher defaults to its managed `dsh-console` profile. Select an existing DSH profile with `dsh-console --profile my-profile --prompt "hello"`, or set `DSH_CONSOLE_PROFILE=my-profile` as an environment default; the explicit option wins. Create the profile through DSH first (`dsh plugin --profile my-profile add @cofy-x/dsh-console@0.1.0-alpha.21` requires `pnpm` on `PATH`). Console reconciles only its own bundle, then forwards remaining arguments to DSH. DSH owns provider, credential, package, and patch configuration. Profiles under one `DSH_HOME` share Sessions, credentials, settings, and attachments; use another `DSH_HOME` for isolation. A missing or invalid selected profile fails without falling back.
56
+
35
57
  See the [GitHub repository](https://github.com/cofy-x/dsh-console) for source development, architecture, alpha boundaries, and license attribution details.
@@ -1,5 +1,21 @@
1
1
  # Third-Party Notices
2
2
 
3
+ ## DeepSeek Harness preset resources
4
+
5
+ The generated `dist/presets/*.patch.yml` files are copied unchanged from the public exports of the audited `@deepseek-ai/dsh-web-app` package. Their license follows.
6
+
7
+ MIT License
8
+
9
+ Copyright (c) 2026 DeepSeek
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+
17
+ ## Other dependencies
18
+
3
19
  DSH Console retains and adapts portions of the terminal UI and supporting
4
20
  utilities from [Gemini CLI](https://github.com/google-gemini/gemini-cli),
5
21
  Copyright 2025 Google LLC, licensed under Apache-2.0. Files derived from that
@@ -9,37 +25,37 @@ original work are Copyright cofy-x.
9
25
  The npm package keeps third-party runtime packages external. They are resolved
10
26
  by the package manager and retain their own license files and notices.
11
27
 
12
- | Dependency | License |
13
- | --- | --- |
14
- | `@deepseek-ai/dsh-cmdline` | MIT |
15
- | `@deepseek-ai/schemastery` | MIT |
16
- | `@xterm/headless` | MIT |
17
- | `ansi-escapes` | MIT |
18
- | `ansi-regex` | MIT |
19
- | `chalk` | MIT |
20
- | `chardet` | MIT |
21
- | `clipboardy` | MIT |
22
- | `commander` | MIT |
23
- | `comment-json` | MIT |
24
- | `diff` | BSD-3-Clause |
25
- | `dotenv` | BSD-2-Clause |
26
- | `fdir` | MIT |
27
- | `fzf` | BSD-3-Clause |
28
- | `ignore` | MIT |
29
- | `ink` (`@jrichman/ink`) | MIT |
30
- | `ink-gradient` | MIT |
31
- | `ink-spinner` | MIT |
32
- | `lowlight` | MIT |
33
- | `mnemonist` | MIT |
34
- | `picomatch` | MIT |
35
- | `react` | MIT |
36
- | `string-width` | MIT |
37
- | `strip-ansi` | MIT |
38
- | `strip-json-comments` | MIT |
39
- | `tinygradient` | MIT |
40
- | `undici` | MIT |
41
- | `yargs` | MIT |
42
- | `zod` | MIT |
28
+ | Dependency | License |
29
+ | -------------------------- | ------------ |
30
+ | `@deepseek-ai/dsh-cmdline` | MIT |
31
+ | `@deepseek-ai/schemastery` | MIT |
32
+ | `@xterm/headless` | MIT |
33
+ | `ansi-escapes` | MIT |
34
+ | `ansi-regex` | MIT |
35
+ | `chalk` | MIT |
36
+ | `chardet` | MIT |
37
+ | `clipboardy` | MIT |
38
+ | `commander` | MIT |
39
+ | `comment-json` | MIT |
40
+ | `diff` | BSD-3-Clause |
41
+ | `dotenv` | BSD-2-Clause |
42
+ | `fdir` | MIT |
43
+ | `fzf` | BSD-3-Clause |
44
+ | `ignore` | MIT |
45
+ | `ink` (`@jrichman/ink`) | MIT |
46
+ | `ink-gradient` | MIT |
47
+ | `ink-spinner` | MIT |
48
+ | `lowlight` | MIT |
49
+ | `mnemonist` | MIT |
50
+ | `picomatch` | MIT |
51
+ | `react` | MIT |
52
+ | `string-width` | MIT |
53
+ | `strip-ansi` | MIT |
54
+ | `strip-json-comments` | MIT |
55
+ | `tinygradient` | MIT |
56
+ | `undici` | MIT |
57
+ | `yargs` | MIT |
58
+ | `zod` | MIT |
43
59
 
44
60
  DeepSeek Harness services are supplied by the active DSH profile through the
45
61
  optional peer dependencies declared in `@cofy-x/dsh-console`. Those packages
@@ -6,60 +6,313 @@
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
8
 
9
- import { existsSync, readFileSync } from 'node:fs';
9
+ import {
10
+ accessSync,
11
+ constants,
12
+ existsSync,
13
+ readFileSync,
14
+ realpathSync,
15
+ statSync,
16
+ } from 'node:fs';
10
17
  import { homedir } from 'node:os';
11
- import { dirname, join } from 'node:path';
12
- import { spawnSync } from 'node:child_process';
18
+ import { delimiter, dirname, join, resolve } from 'node:path';
13
19
  import { fileURLToPath } from 'node:url';
20
+ import crossSpawn from 'cross-spawn';
21
+ import semver from 'semver';
14
22
 
15
23
  const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)));
16
- const manifest = JSON.parse(readFileSync(join(packageRoot, 'package.json'), 'utf8'));
17
- const profile = 'dsh-console';
24
+ const manifest = JSON.parse(
25
+ readFileSync(join(packageRoot, 'package.json'), 'utf8'),
26
+ );
27
+ const packageName = '@cofy-x/dsh-console';
28
+ const defaultProfile = 'dsh-console';
18
29
  const RESTART_EXIT_CODE = 199;
19
30
  const forwardedArgs = process.argv.slice(2);
31
+ const compatibility = manifest.dsh?.compatibility;
20
32
 
21
33
  // Package managers preserve the conventional argument separator when running
22
34
  // scripts. It separates package-manager options and is not part of the CLI's
23
35
  // argument surface.
24
36
  if (forwardedArgs[0] === '--') forwardedArgs.shift();
25
37
 
38
+ let cliProfile;
39
+ let hasCliProfile = false;
40
+ if (forwardedArgs[0] === '--profile') {
41
+ hasCliProfile = true;
42
+ forwardedArgs.shift();
43
+ cliProfile = forwardedArgs.shift();
44
+ } else if (forwardedArgs[0]?.startsWith('--profile=')) {
45
+ hasCliProfile = true;
46
+ cliProfile = forwardedArgs.shift().slice('--profile='.length);
47
+ }
48
+ if (hasCliProfile && (!cliProfile || cliProfile.startsWith('-'))) {
49
+ fail(['dsh-console: --profile requires a DSH profile name.']);
50
+ }
51
+ if (
52
+ forwardedArgs[0] === '--profile' ||
53
+ forwardedArgs[0]?.startsWith('--profile=')
54
+ ) {
55
+ fail(['dsh-console: select a DSH profile only once.']);
56
+ }
57
+
26
58
  if (forwardedArgs[0] === '--version' || forwardedArgs[0] === '-V') {
27
59
  process.stdout.write(`${manifest.version}\n`);
28
60
  process.exit(0);
29
61
  }
30
62
 
63
+ function fail(lines) {
64
+ process.stderr.write(`${lines.join('\n')}\n`);
65
+ process.exit(1);
66
+ }
67
+
68
+ const profile = hasCliProfile
69
+ ? cliProfile
70
+ : process.env.DSH_CONSOLE_PROFILE || defaultProfile;
71
+ if (
72
+ profile === '.' ||
73
+ profile === '..' ||
74
+ profile === 'node_modules' ||
75
+ profile.includes('/') ||
76
+ profile.includes('\\')
77
+ ) {
78
+ fail([`dsh-console: invalid DSH profile name ${JSON.stringify(profile)}.`]);
79
+ }
80
+ if (profile.toLowerCase() === 'desktop') {
81
+ fail([
82
+ 'dsh-console: the desktop profile is managed by DeepSeek Harness Desktop.',
83
+ ]);
84
+ }
85
+
86
+ const minimumDshVersion = semver.valid(compatibility?.minimum);
87
+ const maximumTestedDshVersion = semver.valid(compatibility?.maximumTested);
88
+ if (
89
+ !minimumDshVersion ||
90
+ !maximumTestedDshVersion ||
91
+ semver.gt(minimumDshVersion, maximumTestedDshVersion)
92
+ ) {
93
+ fail(['dsh-console: invalid DSH compatibility metadata in package.json.']);
94
+ }
95
+
96
+ const installDshCommand = `npm install --global @deepseek-ai/dsh@${minimumDshVersion}`;
97
+
98
+ function environmentValue(name) {
99
+ const entry = Object.entries(process.env).find(
100
+ ([key]) => key.toLowerCase() === name.toLowerCase(),
101
+ );
102
+ return entry?.[1];
103
+ }
104
+
105
+ function resolveDshExecutable() {
106
+ const searchPath = environmentValue('PATH');
107
+ if (!searchPath) return undefined;
108
+
109
+ const names = ['dsh'];
110
+ if (process.platform === 'win32') {
111
+ const extensions = (environmentValue('PATHEXT') || '.COM;.EXE;.BAT;.CMD')
112
+ .split(delimiter)
113
+ .filter(Boolean);
114
+ names.push(...extensions.map((extension) => `dsh${extension}`));
115
+ }
116
+
117
+ let inaccessible;
118
+ for (const directory of searchPath.split(delimiter)) {
119
+ const root = resolve(directory || process.cwd());
120
+ for (const name of names) {
121
+ const candidate = join(root, name);
122
+ try {
123
+ if (!statSync(candidate).isFile()) continue;
124
+ if (process.platform !== 'win32') accessSync(candidate, constants.X_OK);
125
+ return candidate;
126
+ } catch (error) {
127
+ if (existsSync(candidate) && error?.code === 'EACCES') {
128
+ inaccessible ||= candidate;
129
+ }
130
+ }
131
+ }
132
+ }
133
+ return inaccessible;
134
+ }
135
+
136
+ function parseDshVersion(output) {
137
+ const match = output.match(
138
+ /(?:^|[^0-9A-Za-z-])v?(\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?)(?=$|[^0-9A-Za-z-])/,
139
+ );
140
+ return match ? semver.valid(match[1]) : null;
141
+ }
142
+
143
+ function remediation(executable = 'not found on PATH') {
144
+ return [
145
+ `DSH executable: ${executable}`,
146
+ `Minimum supported version: ${minimumDshVersion}`,
147
+ `Install the compatible release: ${installDshCommand}`,
148
+ 'Then verify: dsh --version',
149
+ ];
150
+ }
151
+
152
+ const dshExecutable = resolveDshExecutable();
153
+ if (!dshExecutable) {
154
+ fail([
155
+ 'dsh-console: DeepSeek Harness is required but dsh was not found.',
156
+ ...remediation(),
157
+ ]);
158
+ }
159
+
160
+ const versionResult = crossSpawn.sync(dshExecutable, ['--version'], {
161
+ encoding: 'utf8',
162
+ env: process.env,
163
+ stdio: ['ignore', 'pipe', 'pipe'],
164
+ });
165
+ if (versionResult.error) {
166
+ fail([
167
+ 'dsh-console: unable to execute DeepSeek Harness.',
168
+ ...remediation(dshExecutable),
169
+ `Reason: ${versionResult.error.message}`,
170
+ ]);
171
+ }
172
+ if (versionResult.signal || versionResult.status !== 0) {
173
+ fail([
174
+ 'dsh-console: dsh --version did not complete successfully.',
175
+ ...remediation(dshExecutable),
176
+ `Exit: ${versionResult.signal || String(versionResult.status)}`,
177
+ ]);
178
+ }
179
+
180
+ const versionOutput = `${versionResult.stdout || ''}\n${versionResult.stderr || ''}`;
181
+ const detectedDshVersion = parseDshVersion(versionOutput);
182
+ if (!detectedDshVersion) {
183
+ const summary = versionOutput.trim().replace(/\s+/g, ' ').slice(0, 160);
184
+ fail([
185
+ 'dsh-console: dsh --version returned an unrecognized version.',
186
+ ...remediation(dshExecutable),
187
+ `Output: ${summary ? JSON.stringify(summary) : '(empty)'}`,
188
+ ]);
189
+ }
190
+ if (semver.lt(detectedDshVersion, minimumDshVersion)) {
191
+ fail([
192
+ 'dsh-console: the selected DeepSeek Harness release is too old.',
193
+ `DSH executable: ${dshExecutable}`,
194
+ `Detected version: ${detectedDshVersion}`,
195
+ `Minimum supported version: ${minimumDshVersion}`,
196
+ `Install the compatible release: ${installDshCommand}`,
197
+ 'Then verify: dsh --version',
198
+ ]);
199
+ }
200
+ if (semver.gt(detectedDshVersion, maximumTestedDshVersion)) {
201
+ process.stderr.write(
202
+ `dsh-console: warning: DSH ${detectedDshVersion} at ${dshExecutable} is newer than the maximum tested version ${maximumTestedDshVersion}; continuing without a formal compatibility guarantee.\n`,
203
+ );
204
+ }
205
+
31
206
  const dshHome = process.env.DSH_HOME || join(homedir(), '.dsh');
207
+ const profileRoot = join(dshHome, 'profiles', profile);
208
+ const profileManifest = join(profileRoot, 'package.json');
32
209
  const installedManifest = join(
33
- dshHome,
34
- 'profiles',
35
- profile,
210
+ profileRoot,
36
211
  'node_modules',
37
212
  '@cofy-x',
38
213
  'dsh-console',
39
214
  'package.json',
40
215
  );
216
+ if (profile !== defaultProfile && !existsSync(profileManifest)) {
217
+ fail([
218
+ `dsh-console: DSH profile ${JSON.stringify(profile)} does not exist.`,
219
+ `Create it first with: dsh plugin --profile ${JSON.stringify(profile)} add <package>`,
220
+ `Profile directory: ${profileRoot}`,
221
+ ]);
222
+ }
223
+
224
+ function readJson(path) {
225
+ try {
226
+ return JSON.parse(readFileSync(path, 'utf8'));
227
+ } catch {
228
+ return undefined;
229
+ }
230
+ }
231
+
232
+ function profileNeedsInstall({ explicitPackageSpec, localCheckout }) {
233
+ if (explicitPackageSpec) return true;
234
+
235
+ const installed = readJson(installedManifest);
236
+ if (installed?.name !== packageName || installed.version !== manifest.version)
237
+ return true;
238
+
239
+ if (localCheckout) {
240
+ try {
241
+ return (
242
+ realpathSync(dirname(installedManifest)) !== realpathSync(packageRoot)
243
+ );
244
+ } catch {
245
+ return true;
246
+ }
247
+ }
248
+
249
+ const configured = readJson(profileManifest)?.dependencies?.[packageName];
250
+ return configured !== manifest.version;
251
+ }
41
252
 
42
253
  function run(command, args) {
43
- const result = spawnSync(command, args, { stdio: 'inherit', env: process.env });
254
+ const result = crossSpawn.sync(command, args, {
255
+ stdio: 'inherit',
256
+ env: process.env,
257
+ });
44
258
  if (result.error) {
45
- process.stderr.write(`dsh-console: unable to run ${command}: ${result.error.message}\n`);
259
+ process.stderr.write(
260
+ `dsh-console: unable to run ${command}: ${result.error.message}\n`,
261
+ );
46
262
  process.exit(1);
47
263
  }
48
264
  if (result.signal) process.kill(process.pid, result.signal);
49
265
  return result.status ?? 1;
50
266
  }
51
267
 
52
- if (!existsSync(installedManifest)) {
53
- const localCheckout = existsSync(join(packageRoot, 'src'));
54
- const packageSpec =
55
- process.env.DSH_CONSOLE_PACKAGE_SPEC ||
56
- (localCheckout ? packageRoot : `@cofy-x/dsh-console@${manifest.version}`);
57
- const status = run('dsh', ['plugin', '--profile', profile, 'add', packageSpec]);
268
+ const localCheckout = existsSync(join(packageRoot, 'src'));
269
+ const explicitPackageSpec = process.env.DSH_CONSOLE_PACKAGE_SPEC;
270
+ const packageSpec =
271
+ explicitPackageSpec ||
272
+ (localCheckout ? packageRoot : `${packageName}@${manifest.version}`);
273
+
274
+ const needsInstall = profileNeedsInstall({
275
+ explicitPackageSpec,
276
+ localCheckout,
277
+ });
278
+ if (needsInstall && profile !== defaultProfile) {
279
+ // Ask DSH to validate the existing bundle stack before package mutation.
280
+ // Its default dump does not boot the app or parse the user patch.
281
+ const inspection = crossSpawn.sync(
282
+ dshExecutable,
283
+ ['--profile', profile, '--dump-default-config'],
284
+ {
285
+ encoding: 'utf8',
286
+ env: process.env,
287
+ stdio: ['ignore', 'ignore', 'pipe'],
288
+ },
289
+ );
290
+ if (inspection.error || inspection.signal || inspection.status !== 0) {
291
+ const reason =
292
+ inspection.error?.message ||
293
+ inspection.stderr?.trim().slice(0, 500) ||
294
+ inspection.signal ||
295
+ `exit ${String(inspection.status)}`;
296
+ fail([
297
+ `dsh-console: DSH profile ${JSON.stringify(profile)} could not be loaded; no Console package was installed.`,
298
+ `Reason: ${reason}`,
299
+ ]);
300
+ }
301
+ }
302
+
303
+ if (needsInstall) {
304
+ const status = run(dshExecutable, [
305
+ 'plugin',
306
+ '--profile',
307
+ profile,
308
+ 'add',
309
+ packageSpec,
310
+ ]);
58
311
  if (status !== 0) process.exit(status);
59
312
  }
60
313
 
61
314
  let status;
62
315
  do {
63
- status = run('dsh', ['--profile', profile, ...forwardedArgs]);
316
+ status = run(dshExecutable, ['--profile', profile, ...forwardedArgs]);
64
317
  } while (status === RESTART_EXIT_CODE);
65
318
  process.exit(status);
package/cordis.patch.yml CHANGED
@@ -2,7 +2,26 @@
2
2
  - id: hmr
3
3
  disabled: true
4
4
 
5
+ # Keep startup lazy; DSH owns and rebuilds this derived search index.
6
+ # Config patches replace the whole row, so retain an explicit durable path.
7
+ - id: session-query-sqlite
8
+ config:
9
+ path: !!js dshHomePath('dsh-console-session-search.sqlite')
10
+ openAt: first-search
11
+
5
12
  - insert:
13
+ # Standard and Cordis presets sample this Host-owned setting when they
14
+ # install delegation tools for a Session.
15
+ - id: subagent-model-selection-settings
16
+ name: '@deepseek-ai/dsh-tool-subagent/model-selection-settings'
17
+
18
+ # Console owns a per-Session Agent composition, including its scoped Skills.
19
+ # dsh-base does not mount the preset roster, so the Console bundle must.
20
+ - id: agent-preset-registry
21
+ name: '@deepseek-ai/dsh-agent-preset-registry'
22
+ config:
23
+ default: standard
24
+
6
25
  - id: dsh-console-startup
7
26
  name: '@cofy-x/dsh-console/dsh/startup'
8
27
 
@@ -12,3 +31,6 @@
12
31
  config:
13
32
  prompt: !!js ctx.dshConsoleStartup.prompt
14
33
  debug: !!js ctx.dshConsoleStartup.debug
34
+ pokemon: !!js ctx.dshConsoleStartup.pokemon
35
+ continueSession: !!js ctx.dshConsoleStartup.continueSession
36
+ resumeSessionId: !!js ctx.dshConsoleStartup.resumeSessionId