skill-universe 1.1.0

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 (334) hide show
  1. package/README.md +24 -0
  2. package/bin/skillc.mjs +3 -0
  3. package/build/dev/javascript/argv/_gleam_artefacts/argv.cache +0 -0
  4. package/build/dev/javascript/argv/_gleam_artefacts/argv.cache_inline +0 -0
  5. package/build/dev/javascript/argv/_gleam_artefacts/argv.cache_meta +0 -0
  6. package/build/dev/javascript/argv/argv.erl +12 -0
  7. package/build/dev/javascript/argv/argv.mjs +31 -0
  8. package/build/dev/javascript/argv/argv_ffi.erl +27 -0
  9. package/build/dev/javascript/argv/argv_ffi.mjs +20 -0
  10. package/build/dev/javascript/argv/gleam.mjs +1 -0
  11. package/build/dev/javascript/filepath/_gleam_artefacts/filepath.cache +0 -0
  12. package/build/dev/javascript/filepath/_gleam_artefacts/filepath.cache_inline +0 -0
  13. package/build/dev/javascript/filepath/_gleam_artefacts/filepath.cache_meta +0 -0
  14. package/build/dev/javascript/filepath/filepath.erl +425 -0
  15. package/build/dev/javascript/filepath/filepath.mjs +529 -0
  16. package/build/dev/javascript/filepath/filepath_ffi.erl +9 -0
  17. package/build/dev/javascript/filepath/filepath_ffi.mjs +6 -0
  18. package/build/dev/javascript/filepath/gleam.mjs +1 -0
  19. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache +0 -0
  20. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_inline +0 -0
  21. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta +0 -0
  22. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bool.cache +0 -0
  23. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_inline +0 -0
  24. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta +0 -0
  25. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bytes_tree.cache +0 -0
  26. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bytes_tree.cache_inline +0 -0
  27. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bytes_tree.cache_meta +0 -0
  28. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dict.cache +0 -0
  29. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_inline +0 -0
  30. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta +0 -0
  31. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache +0 -0
  32. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_inline +0 -0
  33. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta +0 -0
  34. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic@decode.cache +0 -0
  35. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic@decode.cache_inline +0 -0
  36. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic@decode.cache_meta +0 -0
  37. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@float.cache +0 -0
  38. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@float.cache_inline +0 -0
  39. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta +0 -0
  40. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@function.cache +0 -0
  41. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@function.cache_inline +0 -0
  42. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta +0 -0
  43. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@int.cache +0 -0
  44. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@int.cache_inline +0 -0
  45. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta +0 -0
  46. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@io.cache +0 -0
  47. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@io.cache_inline +0 -0
  48. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta +0 -0
  49. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@list.cache +0 -0
  50. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@list.cache_inline +0 -0
  51. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta +0 -0
  52. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@option.cache +0 -0
  53. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@option.cache_inline +0 -0
  54. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta +0 -0
  55. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@order.cache +0 -0
  56. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@order.cache_inline +0 -0
  57. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta +0 -0
  58. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@pair.cache +0 -0
  59. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_inline +0 -0
  60. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta +0 -0
  61. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@result.cache +0 -0
  62. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@result.cache_inline +0 -0
  63. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta +0 -0
  64. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@set.cache +0 -0
  65. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@set.cache_inline +0 -0
  66. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta +0 -0
  67. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string.cache +0 -0
  68. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string.cache_inline +0 -0
  69. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta +0 -0
  70. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string_tree.cache +0 -0
  71. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string_tree.cache_inline +0 -0
  72. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string_tree.cache_meta +0 -0
  73. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@uri.cache +0 -0
  74. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_inline +0 -0
  75. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta +0 -0
  76. package/build/dev/javascript/gleam_stdlib/dict.mjs +710 -0
  77. package/build/dev/javascript/gleam_stdlib/gleam/bit_array.mjs +285 -0
  78. package/build/dev/javascript/gleam_stdlib/gleam/bool.mjs +313 -0
  79. package/build/dev/javascript/gleam_stdlib/gleam/bytes_tree.mjs +225 -0
  80. package/build/dev/javascript/gleam_stdlib/gleam/dict.mjs +456 -0
  81. package/build/dev/javascript/gleam_stdlib/gleam/dynamic/decode.mjs +985 -0
  82. package/build/dev/javascript/gleam_stdlib/gleam/dynamic.mjs +35 -0
  83. package/build/dev/javascript/gleam_stdlib/gleam/float.mjs +572 -0
  84. package/build/dev/javascript/gleam_stdlib/gleam/function.mjs +6 -0
  85. package/build/dev/javascript/gleam_stdlib/gleam/int.mjs +832 -0
  86. package/build/dev/javascript/gleam_stdlib/gleam/io.mjs +8 -0
  87. package/build/dev/javascript/gleam_stdlib/gleam/list.mjs +3160 -0
  88. package/build/dev/javascript/gleam_stdlib/gleam/option.mjs +418 -0
  89. package/build/dev/javascript/gleam_stdlib/gleam/order.mjs +178 -0
  90. package/build/dev/javascript/gleam_stdlib/gleam/pair.mjs +102 -0
  91. package/build/dev/javascript/gleam_stdlib/gleam/result.mjs +480 -0
  92. package/build/dev/javascript/gleam_stdlib/gleam/set.mjs +416 -0
  93. package/build/dev/javascript/gleam_stdlib/gleam/string.mjs +723 -0
  94. package/build/dev/javascript/gleam_stdlib/gleam/string_tree.mjs +133 -0
  95. package/build/dev/javascript/gleam_stdlib/gleam/uri.mjs +1155 -0
  96. package/build/dev/javascript/gleam_stdlib/gleam.mjs +1 -0
  97. package/build/dev/javascript/gleam_stdlib/gleam@bit_array.erl +347 -0
  98. package/build/dev/javascript/gleam_stdlib/gleam@bool.erl +352 -0
  99. package/build/dev/javascript/gleam_stdlib/gleam@bytes_tree.erl +211 -0
  100. package/build/dev/javascript/gleam_stdlib/gleam@dict.erl +521 -0
  101. package/build/dev/javascript/gleam_stdlib/gleam@dynamic.erl +106 -0
  102. package/build/dev/javascript/gleam_stdlib/gleam@dynamic@decode.erl +1112 -0
  103. package/build/dev/javascript/gleam_stdlib/gleam@float.erl +764 -0
  104. package/build/dev/javascript/gleam_stdlib/gleam@function.erl +18 -0
  105. package/build/dev/javascript/gleam_stdlib/gleam@int.erl +1004 -0
  106. package/build/dev/javascript/gleam_stdlib/gleam@io.erl +80 -0
  107. package/build/dev/javascript/gleam_stdlib/gleam@list.erl +2832 -0
  108. package/build/dev/javascript/gleam_stdlib/gleam@option.erl +413 -0
  109. package/build/dev/javascript/gleam_stdlib/gleam@order.erl +200 -0
  110. package/build/dev/javascript/gleam_stdlib/gleam@pair.erl +110 -0
  111. package/build/dev/javascript/gleam_stdlib/gleam@result.erl +532 -0
  112. package/build/dev/javascript/gleam_stdlib/gleam@set.erl +433 -0
  113. package/build/dev/javascript/gleam_stdlib/gleam@string.erl +1012 -0
  114. package/build/dev/javascript/gleam_stdlib/gleam@string_tree.erl +207 -0
  115. package/build/dev/javascript/gleam_stdlib/gleam@uri.erl +1049 -0
  116. package/build/dev/javascript/gleam_stdlib/gleam_stdlib.erl +529 -0
  117. package/build/dev/javascript/gleam_stdlib/gleam_stdlib.mjs +1050 -0
  118. package/build/dev/javascript/gleam_version +1 -0
  119. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit.cache +0 -0
  120. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit.cache_inline +0 -0
  121. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit.cache_meta +0 -0
  122. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@gleam_panic.cache +0 -0
  123. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@gleam_panic.cache_inline +0 -0
  124. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@gleam_panic.cache_meta +0 -0
  125. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@reporting.cache +0 -0
  126. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@reporting.cache_inline +0 -0
  127. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@reporting.cache_meta +0 -0
  128. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@should.cache +0 -0
  129. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@should.cache_inline +0 -0
  130. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@should.cache_meta +0 -0
  131. package/build/dev/javascript/gleeunit/gleam.mjs +1 -0
  132. package/build/dev/javascript/gleeunit/gleeunit/internal/gleam_panic.mjs +180 -0
  133. package/build/dev/javascript/gleeunit/gleeunit/internal/gleeunit_gleam_panic_ffi.erl +49 -0
  134. package/build/dev/javascript/gleeunit/gleeunit/internal/gleeunit_gleam_panic_ffi.mjs +91 -0
  135. package/build/dev/javascript/gleeunit/gleeunit/internal/reporting.mjs +256 -0
  136. package/build/dev/javascript/gleeunit/gleeunit/should.mjs +135 -0
  137. package/build/dev/javascript/gleeunit/gleeunit.erl +89 -0
  138. package/build/dev/javascript/gleeunit/gleeunit.mjs +62 -0
  139. package/build/dev/javascript/gleeunit/gleeunit@internal@gleam_panic.erl +56 -0
  140. package/build/dev/javascript/gleeunit/gleeunit@internal@reporting.erl +343 -0
  141. package/build/dev/javascript/gleeunit/gleeunit@should.erl +153 -0
  142. package/build/dev/javascript/gleeunit/gleeunit_ffi.erl +21 -0
  143. package/build/dev/javascript/gleeunit/gleeunit_ffi.mjs +100 -0
  144. package/build/dev/javascript/gleeunit/gleeunit_progress.erl +72 -0
  145. package/build/dev/javascript/prelude.mjs +1575 -0
  146. package/build/dev/javascript/simplifile/_gleam_artefacts/simplifile.cache +0 -0
  147. package/build/dev/javascript/simplifile/_gleam_artefacts/simplifile.cache_inline +0 -0
  148. package/build/dev/javascript/simplifile/_gleam_artefacts/simplifile.cache_meta +0 -0
  149. package/build/dev/javascript/simplifile/gleam.mjs +1 -0
  150. package/build/dev/javascript/simplifile/simplifile.erl +893 -0
  151. package/build/dev/javascript/simplifile/simplifile.mjs +893 -0
  152. package/build/dev/javascript/simplifile/simplifile_erl.erl +244 -0
  153. package/build/dev/javascript/simplifile/simplifile_js.mjs +400 -0
  154. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache +0 -0
  155. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache_inline +0 -0
  156. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache_meta +0 -0
  157. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache_warnings +0 -0
  158. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache +0 -0
  159. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache_inline +0 -0
  160. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache_meta +0 -0
  161. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache_warnings +0 -0
  162. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache +0 -0
  163. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache_inline +0 -0
  164. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache_meta +0 -0
  165. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache_warnings +0 -0
  166. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache +0 -0
  167. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache_inline +0 -0
  168. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache_meta +0 -0
  169. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache_warnings +0 -0
  170. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache +0 -0
  171. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache_inline +0 -0
  172. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache_meta +0 -0
  173. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache_warnings +0 -0
  174. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache +0 -0
  175. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache_inline +0 -0
  176. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache_meta +0 -0
  177. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache_warnings +0 -0
  178. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache +0 -0
  179. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache_inline +0 -0
  180. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache_meta +0 -0
  181. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache_warnings +0 -0
  182. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache +0 -0
  183. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache_inline +0 -0
  184. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache_meta +0 -0
  185. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache_warnings +0 -0
  186. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache +0 -0
  187. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache_inline +0 -0
  188. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache_meta +0 -0
  189. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache_warnings +0 -0
  190. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache +0 -0
  191. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache_inline +0 -0
  192. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache_meta +0 -0
  193. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache_warnings +0 -0
  194. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache +0 -0
  195. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache_inline +0 -0
  196. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache_meta +0 -0
  197. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache_warnings +0 -0
  198. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache +0 -0
  199. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache_inline +0 -0
  200. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache_meta +0 -0
  201. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache_warnings +0 -0
  202. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache +0 -0
  203. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache_inline +0 -0
  204. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache_meta +0 -0
  205. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache_warnings +0 -0
  206. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache +0 -0
  207. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache_inline +0 -0
  208. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache_meta +0 -0
  209. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache_warnings +0 -0
  210. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache +0 -0
  211. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache_inline +0 -0
  212. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache_meta +0 -0
  213. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache_warnings +0 -0
  214. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache +0 -0
  215. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache_inline +0 -0
  216. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache_meta +0 -0
  217. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache_warnings +0 -0
  218. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache +0 -0
  219. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache_inline +0 -0
  220. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache_meta +0 -0
  221. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache_warnings +0 -0
  222. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache +0 -0
  223. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache_inline +0 -0
  224. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache_meta +0 -0
  225. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache_warnings +0 -0
  226. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache +0 -0
  227. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache_inline +0 -0
  228. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache_meta +0 -0
  229. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache_warnings +0 -0
  230. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache +0 -0
  231. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache_inline +0 -0
  232. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache_meta +0 -0
  233. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache_warnings +0 -0
  234. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache +0 -0
  235. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache_inline +0 -0
  236. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache_meta +0 -0
  237. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache_warnings +0 -0
  238. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache +0 -0
  239. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache_inline +0 -0
  240. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache_meta +0 -0
  241. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache_warnings +0 -0
  242. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache +0 -0
  243. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache_inline +0 -0
  244. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache_meta +0 -0
  245. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache_warnings +0 -0
  246. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache +0 -0
  247. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache_inline +0 -0
  248. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache_meta +0 -0
  249. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache_warnings +0 -0
  250. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache +0 -0
  251. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache_inline +0 -0
  252. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache_meta +0 -0
  253. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache_warnings +0 -0
  254. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache +0 -0
  255. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache_inline +0 -0
  256. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache_meta +0 -0
  257. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache_warnings +0 -0
  258. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache +0 -0
  259. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache_inline +0 -0
  260. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache_meta +0 -0
  261. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache_warnings +0 -0
  262. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache +0 -0
  263. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache_inline +0 -0
  264. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache_meta +0 -0
  265. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache_warnings +0 -0
  266. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache +0 -0
  267. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache_inline +0 -0
  268. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache_meta +0 -0
  269. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache_warnings +0 -0
  270. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache +0 -0
  271. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache_inline +0 -0
  272. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache_meta +0 -0
  273. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache_warnings +0 -0
  274. package/build/dev/javascript/skillc/cli_test.mjs +461 -0
  275. package/build/dev/javascript/skillc/compiler_test.mjs +3089 -0
  276. package/build/dev/javascript/skillc/config_test.mjs +308 -0
  277. package/build/dev/javascript/skillc/gleam.main.mjs +2 -0
  278. package/build/dev/javascript/skillc/gleam.mjs +1 -0
  279. package/build/dev/javascript/skillc/importer_test.mjs +1643 -0
  280. package/build/dev/javascript/skillc/parser_test.mjs +1601 -0
  281. package/build/dev/javascript/skillc/path_test.mjs +26 -0
  282. package/build/dev/javascript/skillc/provider_test.mjs +221 -0
  283. package/build/dev/javascript/skillc/registry_test.mjs +359 -0
  284. package/build/dev/javascript/skillc/scaffold_test.mjs +405 -0
  285. package/build/dev/javascript/skillc/skillc/compiler.mjs +724 -0
  286. package/build/dev/javascript/skillc/skillc/config.mjs +172 -0
  287. package/build/dev/javascript/skillc/skillc/error.mjs +145 -0
  288. package/build/dev/javascript/skillc/skillc/fs.mjs +40 -0
  289. package/build/dev/javascript/skillc/skillc/importer.mjs +975 -0
  290. package/build/dev/javascript/skillc/skillc/parser.mjs +427 -0
  291. package/build/dev/javascript/skillc/skillc/path.mjs +52 -0
  292. package/build/dev/javascript/skillc/skillc/platform.mjs +44 -0
  293. package/build/dev/javascript/skillc/skillc/provider.mjs +86 -0
  294. package/build/dev/javascript/skillc/skillc/registry.mjs +701 -0
  295. package/build/dev/javascript/skillc/skillc/scaffold.mjs +117 -0
  296. package/build/dev/javascript/skillc/skillc/semver.mjs +293 -0
  297. package/build/dev/javascript/skillc/skillc/shell.mjs +14 -0
  298. package/build/dev/javascript/skillc/skillc/template.mjs +1177 -0
  299. package/build/dev/javascript/skillc/skillc/types.mjs +249 -0
  300. package/build/dev/javascript/skillc/skillc/version_constraint.mjs +290 -0
  301. package/build/dev/javascript/skillc/skillc/yaml.mjs +51 -0
  302. package/build/dev/javascript/skillc/skillc.mjs +873 -0
  303. package/build/dev/javascript/skillc/skillc_ffi.mjs +30 -0
  304. package/build/dev/javascript/skillc/skillc_test.mjs +5 -0
  305. package/build/dev/javascript/skillc/template_test.mjs +1638 -0
  306. package/build/dev/javascript/skillc/version_constraint_test.mjs +1325 -0
  307. package/build/dev/javascript/yay/_gleam_artefacts/yay.cache +0 -0
  308. package/build/dev/javascript/yay/_gleam_artefacts/yay.cache_inline +0 -0
  309. package/build/dev/javascript/yay/_gleam_artefacts/yay.cache_meta +0 -0
  310. package/build/dev/javascript/yay/gleam.mjs +1 -0
  311. package/build/dev/javascript/yay/yaml_ffi.erl +106 -0
  312. package/build/dev/javascript/yay/yaml_ffi.mjs +373 -0
  313. package/build/dev/javascript/yay/yay.erl +1218 -0
  314. package/build/dev/javascript/yay/yay.mjs +1403 -0
  315. package/package.json +28 -0
  316. package/src/skillc/compiler.gleam +561 -0
  317. package/src/skillc/config.gleam +91 -0
  318. package/src/skillc/error.gleam +37 -0
  319. package/src/skillc/fs.gleam +31 -0
  320. package/src/skillc/importer.gleam +709 -0
  321. package/src/skillc/parser.gleam +279 -0
  322. package/src/skillc/path.gleam +30 -0
  323. package/src/skillc/platform.gleam +25 -0
  324. package/src/skillc/provider.gleam +58 -0
  325. package/src/skillc/registry.gleam +472 -0
  326. package/src/skillc/scaffold.gleam +112 -0
  327. package/src/skillc/semver.gleam +165 -0
  328. package/src/skillc/shell.gleam +12 -0
  329. package/src/skillc/template.gleam +885 -0
  330. package/src/skillc/types.gleam +93 -0
  331. package/src/skillc/version_constraint.gleam +163 -0
  332. package/src/skillc/yaml.gleam +27 -0
  333. package/src/skillc.gleam +466 -0
  334. package/src/skillc_ffi.mjs +30 -0
@@ -0,0 +1,701 @@
1
+ import * as $list from "../../gleam_stdlib/gleam/list.mjs";
2
+ import * as $option from "../../gleam_stdlib/gleam/option.mjs";
3
+ import { None, Some } from "../../gleam_stdlib/gleam/option.mjs";
4
+ import * as $result from "../../gleam_stdlib/gleam/result.mjs";
5
+ import * as $string from "../../gleam_stdlib/gleam/string.mjs";
6
+ import * as $simplifile from "../../simplifile/simplifile.mjs";
7
+ import { Ok, Error, toList, Empty as $Empty } from "../gleam.mjs";
8
+ import * as $compiler from "../skillc/compiler.mjs";
9
+ import * as $error from "../skillc/error.mjs";
10
+ import { RegistryError, map_file_error } from "../skillc/error.mjs";
11
+ import * as $parser from "../skillc/parser.mjs";
12
+ import * as $path from "../skillc/path.mjs";
13
+ import * as $platform from "../skillc/platform.mjs";
14
+ import * as $semver from "../skillc/semver.mjs";
15
+ import * as $shell from "../skillc/shell.mjs";
16
+ import * as $types from "../skillc/types.mjs";
17
+ import * as $version_constraint from "../skillc/version_constraint.mjs";
18
+
19
+ export function parse_repo_url(url) {
20
+ let url$1 = $string.trim(url);
21
+ let _block;
22
+ let $ = $string.contains(url$1, "@");
23
+ if ($) {
24
+ let $1 = $string.split_once(url$1, ":");
25
+ if ($1 instanceof Ok) {
26
+ let path = $1[0][1];
27
+ _block = path;
28
+ } else {
29
+ _block = url$1;
30
+ }
31
+ } else {
32
+ _block = url$1;
33
+ }
34
+ let url$2 = _block;
35
+ let _block$1;
36
+ let $1 = $string.split(url$2, "github.com/");
37
+ if ($1 instanceof $Empty) {
38
+ _block$1 = url$2;
39
+ } else {
40
+ let $2 = $1.tail;
41
+ if ($2 instanceof $Empty) {
42
+ _block$1 = url$2;
43
+ } else {
44
+ let $3 = $2.tail;
45
+ if ($3 instanceof $Empty) {
46
+ let path = $2.head;
47
+ _block$1 = path;
48
+ } else {
49
+ _block$1 = url$2;
50
+ }
51
+ }
52
+ }
53
+ let url$3 = _block$1;
54
+ let _block$2;
55
+ let $2 = $string.ends_with(url$3, ".git");
56
+ if ($2) {
57
+ _block$2 = $string.drop_end(url$3, 4);
58
+ } else {
59
+ _block$2 = url$3;
60
+ }
61
+ let url$4 = _block$2;
62
+ let $3 = $string.ends_with(url$4, "/");
63
+ if ($3) {
64
+ return $string.drop_end(url$4, 1);
65
+ } else {
66
+ return url$4;
67
+ }
68
+ }
69
+
70
+ export function parse_install_spec(spec) {
71
+ let _block;
72
+ let $1 = $string.split_once(spec, "@");
73
+ if ($1 instanceof Ok) {
74
+ let p = $1[0][0];
75
+ let v = $1[0][1];
76
+ _block = [p, new Some(v)];
77
+ } else {
78
+ _block = [spec, new None()];
79
+ }
80
+ let $ = _block;
81
+ let path;
82
+ let version;
83
+ path = $[0];
84
+ version = $[1];
85
+ let segments = $string.split(path, "/");
86
+ if (segments instanceof $Empty) {
87
+ return [path, new None(), version];
88
+ } else {
89
+ let $2 = segments.tail;
90
+ if ($2 instanceof $Empty) {
91
+ return [path, new None(), version];
92
+ } else {
93
+ let $3 = $2.tail;
94
+ if ($3 instanceof $Empty) {
95
+ return [path, new None(), version];
96
+ } else {
97
+ let $4 = $3.tail;
98
+ if ($4 instanceof $Empty) {
99
+ let owner = segments.head;
100
+ let repo = $2.head;
101
+ let skill_name = $3.head;
102
+ return [(owner + "/") + repo, new Some(skill_name), version];
103
+ } else {
104
+ return [path, new None(), version];
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+
111
+ function find_skill_dir(base_dir) {
112
+ let $ = $simplifile.is_file(base_dir + "/skill.yaml");
113
+ if ($ instanceof Ok) {
114
+ let $1 = $[0];
115
+ if ($1) {
116
+ return new Ok(base_dir);
117
+ } else {
118
+ let $2 = $simplifile.read_directory(base_dir);
119
+ if ($2 instanceof Ok) {
120
+ let entries = $2[0];
121
+ let found = $list.find(
122
+ entries,
123
+ (entry) => {
124
+ let $3 = $simplifile.is_file(
125
+ ((base_dir + "/") + entry) + "/skill.yaml",
126
+ );
127
+ if ($3 instanceof Ok) {
128
+ let $4 = $3[0];
129
+ if ($4) {
130
+ return true;
131
+ } else {
132
+ return false;
133
+ }
134
+ } else {
135
+ return false;
136
+ }
137
+ },
138
+ );
139
+ if (found instanceof Ok) {
140
+ let entry = found[0];
141
+ return new Ok((base_dir + "/") + entry);
142
+ } else {
143
+ return new Error(
144
+ new RegistryError("No skill.yaml found in extracted archive"),
145
+ );
146
+ }
147
+ } else {
148
+ return new Error(
149
+ new RegistryError("Failed to read extracted directory"),
150
+ );
151
+ }
152
+ }
153
+ } else {
154
+ let $1 = $simplifile.read_directory(base_dir);
155
+ if ($1 instanceof Ok) {
156
+ let entries = $1[0];
157
+ let found = $list.find(
158
+ entries,
159
+ (entry) => {
160
+ let $2 = $simplifile.is_file(
161
+ ((base_dir + "/") + entry) + "/skill.yaml",
162
+ );
163
+ if ($2 instanceof Ok) {
164
+ let $3 = $2[0];
165
+ if ($3) {
166
+ return true;
167
+ } else {
168
+ return false;
169
+ }
170
+ } else {
171
+ return false;
172
+ }
173
+ },
174
+ );
175
+ if (found instanceof Ok) {
176
+ let entry = found[0];
177
+ return new Ok((base_dir + "/") + entry);
178
+ } else {
179
+ return new Error(
180
+ new RegistryError("No skill.yaml found in extracted archive"),
181
+ );
182
+ }
183
+ } else {
184
+ return new Error(new RegistryError("Failed to read extracted directory"));
185
+ }
186
+ }
187
+ }
188
+
189
+ export function list_installed(output_dir) {
190
+ let $ = $simplifile.read_directory(output_dir);
191
+ if ($ instanceof Ok) {
192
+ let entries = $[0];
193
+ let skills = $list.flat_map(
194
+ entries,
195
+ (provider_dir) => {
196
+ let provider_path = (output_dir + "/") + provider_dir;
197
+ let $1 = $simplifile.read_directory(provider_path);
198
+ if ($1 instanceof Ok) {
199
+ let skill_entries = $1[0];
200
+ return $list.filter_map(
201
+ skill_entries,
202
+ (skill_name) => {
203
+ let skill_md_path = ((provider_path + "/") + skill_name) + "/SKILL.md";
204
+ let $2 = $simplifile.is_file(skill_md_path);
205
+ if ($2 instanceof Ok) {
206
+ let $3 = $2[0];
207
+ if ($3) {
208
+ return new Ok(
209
+ (((" " + skill_name) + " (") + provider_dir) + ")",
210
+ );
211
+ } else {
212
+ return new Error(undefined);
213
+ }
214
+ } else {
215
+ return new Error(undefined);
216
+ }
217
+ },
218
+ );
219
+ } else {
220
+ return toList([]);
221
+ }
222
+ },
223
+ );
224
+ if (skills instanceof $Empty) {
225
+ return new Ok("No skills installed in " + output_dir);
226
+ } else {
227
+ return new Ok("Installed skills:\n" + $string.join(skills, "\n"));
228
+ }
229
+ } else {
230
+ return new Ok("No skills installed in " + output_dir);
231
+ }
232
+ }
233
+
234
+ function check_install_dependencies(skill_dir, output_dir) {
235
+ let $ = $simplifile.read(skill_dir + "/skill.yaml");
236
+ if ($ instanceof Ok) {
237
+ let content = $[0];
238
+ let $1 = $parser.parse_skill_yaml(content);
239
+ if ($1 instanceof Ok) {
240
+ let skill = $1[0];
241
+ let warnings = $compiler.check_dependencies(skill, output_dir);
242
+ if (warnings instanceof $Empty) {
243
+ return "";
244
+ } else {
245
+ let lines = $list.filter_map(
246
+ warnings,
247
+ (w) => {
248
+ if (w instanceof $types.MissingDependency) {
249
+ let dep = w.dependency;
250
+ return new Ok(
251
+ ((("\nWarning: missing dependency '" + dep.name) + "' (") + $version_constraint.to_string(
252
+ dep.version,
253
+ )) + ")",
254
+ );
255
+ } else {
256
+ return new Error(undefined);
257
+ }
258
+ },
259
+ );
260
+ return $string.join(lines, "");
261
+ }
262
+ } else {
263
+ return "";
264
+ }
265
+ } else {
266
+ return "";
267
+ }
268
+ }
269
+
270
+ function require_gh() {
271
+ let _pipe = $shell.exec("gh --version");
272
+ let _pipe$1 = $result.map(_pipe, (_) => { return undefined; });
273
+ return $result.map_error(
274
+ _pipe$1,
275
+ (_) => {
276
+ return new RegistryError(
277
+ "GitHub CLI (gh) is not installed. Install it from https://cli.github.com",
278
+ );
279
+ },
280
+ );
281
+ }
282
+
283
+ function shell_quote(s) {
284
+ return $shell.quote(s);
285
+ }
286
+
287
+ export function publish(skill_dir, repo) {
288
+ return $result.try$(
289
+ (() => {
290
+ let _pipe = $simplifile.read(skill_dir + "/skill.yaml");
291
+ return map_file_error(_pipe, skill_dir + "/skill.yaml");
292
+ })(),
293
+ (skill_content) => {
294
+ return $result.try$(
295
+ $parser.parse_skill_yaml(skill_content),
296
+ (skill) => {
297
+ let version_str = $semver.to_string(skill.version);
298
+ let tag = (skill.name + "-v") + version_str;
299
+ let tarball_name = ((skill.name + "-") + version_str) + ".tar.gz";
300
+ let tarball_path = ($platform.tmpdir() + "/") + tarball_name;
301
+ let parent = $path.parent_dir(skill_dir);
302
+ let dirname = $path.basename(skill_dir);
303
+ return $result.try$(
304
+ (() => {
305
+ let _pipe = $shell.exec(
306
+ (((("tar czf " + tarball_path) + " -C ") + shell_quote(parent)) + " ") + shell_quote(
307
+ dirname,
308
+ ),
309
+ );
310
+ return $result.map_error(
311
+ _pipe,
312
+ (e) => {
313
+ return new RegistryError("Failed to create tarball: " + e);
314
+ },
315
+ );
316
+ })(),
317
+ (_) => {
318
+ return $result.try$(
319
+ (() => {
320
+ let _pipe = $shell.exec("gh --version");
321
+ return $result.map_error(
322
+ _pipe,
323
+ (_) => {
324
+ return new RegistryError(
325
+ "GitHub CLI (gh) is not installed. Install it from https://cli.github.com",
326
+ );
327
+ },
328
+ );
329
+ })(),
330
+ (_) => {
331
+ return $result.try$(
332
+ (() => {
333
+ let _pipe = $shell.exec(
334
+ (((((((("gh release create " + shell_quote(tag)) + " ") + shell_quote(
335
+ tarball_path,
336
+ )) + " --repo ") + shell_quote(repo)) + " --title ") + shell_quote(
337
+ (skill.name + " ") + tag,
338
+ )) + " --notes ") + shell_quote("Published by skillc"),
339
+ );
340
+ return $result.map_error(
341
+ _pipe,
342
+ (e) => {
343
+ return new RegistryError(
344
+ "Failed to create release: " + e,
345
+ );
346
+ },
347
+ );
348
+ })(),
349
+ (output) => {
350
+ let $ = $simplifile.delete$(tarball_path);
351
+
352
+ return new Ok(
353
+ (((((("Published " + skill.name) + " ") + tag) + " to ") + repo) + "\n") + output,
354
+ );
355
+ },
356
+ );
357
+ },
358
+ );
359
+ },
360
+ );
361
+ },
362
+ );
363
+ },
364
+ );
365
+ }
366
+
367
+ export function infer_repo(skill_dir) {
368
+ return $result.try$(
369
+ (() => {
370
+ let _pipe = $shell.exec(
371
+ ("git -C " + shell_quote(skill_dir)) + " remote get-url origin",
372
+ );
373
+ return $result.map_error(
374
+ _pipe,
375
+ (_) => {
376
+ return new RegistryError(
377
+ "Could not infer repository. Use --repo owner/repo or ensure a git remote is configured.",
378
+ );
379
+ },
380
+ );
381
+ })(),
382
+ (url) => { return new Ok(parse_repo_url(url)); },
383
+ );
384
+ }
385
+
386
+ export function search(query) {
387
+ return $result.try$(
388
+ require_gh(),
389
+ (_) => {
390
+ return $result.try$(
391
+ (() => {
392
+ let _pipe = $shell.exec(
393
+ ((("gh search repos --topic skill-universe " + shell_quote(query)) + " --json name,owner,description --jq ") + shell_quote(
394
+ ".[] | \"\\(.owner.login)/\\(.name) - \\(.description)\"",
395
+ )) + " --limit 20",
396
+ );
397
+ return $result.map_error(
398
+ _pipe,
399
+ (e) => { return new RegistryError("Search failed: " + e); },
400
+ );
401
+ })(),
402
+ (output) => {
403
+ let $ = $string.is_empty($string.trim(output));
404
+ if ($) {
405
+ return new Ok(("No skills found matching '" + query) + "'");
406
+ } else {
407
+ return new Ok(output);
408
+ }
409
+ },
410
+ );
411
+ },
412
+ );
413
+ }
414
+
415
+ function resolve_install_tag(repo, skill_name, version) {
416
+ if (skill_name instanceof Some) {
417
+ if (version instanceof Some) {
418
+ let name = skill_name[0];
419
+ let v = version[0];
420
+ return new Ok(" " + shell_quote((name + "-") + v));
421
+ } else {
422
+ let name = skill_name[0];
423
+ return $result.try$(
424
+ (() => {
425
+ let _pipe = $shell.exec(
426
+ (("gh release list --repo " + shell_quote(repo)) + " --json tagName --jq ") + shell_quote(
427
+ (".[] | select(.tagName | startswith(\"" + name) + "-v\")) | .tagName",
428
+ ),
429
+ );
430
+ return $result.map_error(
431
+ _pipe,
432
+ (e) => { return new RegistryError("Failed to list releases: " + e); },
433
+ );
434
+ })(),
435
+ (output) => {
436
+ let _block;
437
+ let _pipe = $string.split($string.trim(output), "\n");
438
+ _block = $list.filter(_pipe, (t) => { return !$string.is_empty(t); });
439
+ let tags = _block;
440
+ if (tags instanceof $Empty) {
441
+ return new Error(
442
+ new RegistryError(
443
+ (("No releases found for skill '" + name) + "' in ") + repo,
444
+ ),
445
+ );
446
+ } else {
447
+ let latest = tags.head;
448
+ return new Ok(" " + shell_quote(latest));
449
+ }
450
+ },
451
+ );
452
+ }
453
+ } else if (version instanceof Some) {
454
+ let v = version[0];
455
+ return new Ok(" " + shell_quote(v));
456
+ } else {
457
+ return new Ok(" --latest");
458
+ }
459
+ }
460
+
461
+ export function install(spec, target, output_dir) {
462
+ return $result.try$(
463
+ require_gh(),
464
+ (_) => {
465
+ let $ = parse_install_spec(spec);
466
+ let repo;
467
+ let skill_name;
468
+ let version;
469
+ repo = $[0];
470
+ skill_name = $[1];
471
+ version = $[2];
472
+ let tmp_dir = ($platform.tmpdir() + "/skillc-install-") + $string.replace(
473
+ repo,
474
+ "/",
475
+ "-",
476
+ );
477
+ let $1 = $simplifile.delete$(tmp_dir);
478
+
479
+ return $result.try$(
480
+ (() => {
481
+ let _pipe = $simplifile.create_directory_all(tmp_dir);
482
+ return map_file_error(_pipe, tmp_dir);
483
+ })(),
484
+ (_) => {
485
+ return $result.try$(
486
+ resolve_install_tag(repo, skill_name, version),
487
+ (tag_flag) => {
488
+ return $result.try$(
489
+ (() => {
490
+ let _pipe = $shell.exec(
491
+ ((((("gh release download" + tag_flag) + " --repo ") + shell_quote(
492
+ repo,
493
+ )) + " --pattern '*.tar.gz'") + " --dir ") + shell_quote(
494
+ tmp_dir,
495
+ ),
496
+ );
497
+ return $result.map_error(
498
+ _pipe,
499
+ (e) => {
500
+ return new RegistryError(
501
+ "Failed to download release: " + e,
502
+ );
503
+ },
504
+ );
505
+ })(),
506
+ (_) => {
507
+ return $result.try$(
508
+ (() => {
509
+ let $2 = $simplifile.get_files(tmp_dir);
510
+ if ($2 instanceof Ok) {
511
+ let files = $2[0];
512
+ let $3 = $list.find(
513
+ files,
514
+ (f) => { return $string.ends_with(f, ".tar.gz"); },
515
+ );
516
+ if ($3 instanceof Ok) {
517
+ return $3;
518
+ } else {
519
+ return new Error(
520
+ new RegistryError(
521
+ "No tarball found in downloaded release",
522
+ ),
523
+ );
524
+ }
525
+ } else {
526
+ return new Error(
527
+ new RegistryError("Failed to read temp directory"),
528
+ );
529
+ }
530
+ })(),
531
+ (tarball) => {
532
+ let extract_dir = tmp_dir + "/extracted";
533
+ return $result.try$(
534
+ (() => {
535
+ let _pipe = $simplifile.create_directory_all(
536
+ extract_dir,
537
+ );
538
+ return map_file_error(_pipe, extract_dir);
539
+ })(),
540
+ (_) => {
541
+ return $result.try$(
542
+ (() => {
543
+ let _pipe = $shell.exec(
544
+ (("tar xzf " + shell_quote(tarball)) + " -C ") + shell_quote(
545
+ extract_dir,
546
+ ),
547
+ );
548
+ return $result.map_error(
549
+ _pipe,
550
+ (e) => {
551
+ return new RegistryError(
552
+ "Failed to extract tarball: " + e,
553
+ );
554
+ },
555
+ );
556
+ })(),
557
+ (_) => {
558
+ return $result.try$(
559
+ find_skill_dir(extract_dir),
560
+ (skill_dir) => {
561
+ return $result.try$(
562
+ (() => {
563
+ if (target instanceof Some) {
564
+ let t = target[0];
565
+ return $result.try$(
566
+ $compiler.compile(skill_dir, t),
567
+ (compiled) => {
568
+ let name = compiled.name;
569
+ return $result.try$(
570
+ $compiler.emit(
571
+ compiled,
572
+ output_dir,
573
+ name,
574
+ ),
575
+ (_) => {
576
+ return new Ok(
577
+ (((("Installed " + name) + " (") + t) + ") to ") + output_dir,
578
+ );
579
+ },
580
+ );
581
+ },
582
+ );
583
+ } else {
584
+ return $result.try$(
585
+ $compiler.compile_all(skill_dir),
586
+ (compiled_list) => {
587
+ return $result.try$(
588
+ $list.try_each(
589
+ compiled_list,
590
+ (compiled) => {
591
+ let name = compiled.name;
592
+ return $compiler.emit(
593
+ compiled,
594
+ output_dir,
595
+ name,
596
+ );
597
+ },
598
+ ),
599
+ (_) => {
600
+ let provider_names = $list.map(
601
+ compiled_list,
602
+ (c) => {
603
+ return $types.provider_to_string(
604
+ c.provider,
605
+ );
606
+ },
607
+ );
608
+ let _block;
609
+ if (
610
+ compiled_list instanceof $Empty
611
+ ) {
612
+ _block = "skill";
613
+ } else {
614
+ let first = compiled_list.head;
615
+ _block = first.name;
616
+ }
617
+ let name = _block;
618
+ return new Ok(
619
+ (((("Installed " + name) + " (") + $string.join(
620
+ provider_names,
621
+ ", ",
622
+ )) + ") to ") + output_dir,
623
+ );
624
+ },
625
+ );
626
+ },
627
+ );
628
+ }
629
+ })(),
630
+ (result_msg) => {
631
+ let dep_warnings = check_install_dependencies(
632
+ skill_dir,
633
+ output_dir,
634
+ );
635
+ let $2 = $simplifile.delete$(tmp_dir);
636
+
637
+ return new Ok(result_msg + dep_warnings);
638
+ },
639
+ );
640
+ },
641
+ );
642
+ },
643
+ );
644
+ },
645
+ );
646
+ },
647
+ );
648
+ },
649
+ );
650
+ },
651
+ );
652
+ },
653
+ );
654
+ },
655
+ );
656
+ }
657
+
658
+ export function list_versions(repo, skill_name) {
659
+ return $result.try$(
660
+ require_gh(),
661
+ (_) => {
662
+ let _block;
663
+ if (skill_name instanceof Some) {
664
+ let name = skill_name[0];
665
+ _block = (".[] | select(.tagName | startswith(\"" + name) + "-v\")) | \"\\(.tagName)\\t\\(.publishedAt)\\(if .isLatest then \" (latest)\" else \"\" end)\"";
666
+ } else {
667
+ _block = ".[] | \"\\(.tagName)\\t\\(.publishedAt)\\(if .isLatest then \" (latest)\" else \"\" end)\"";
668
+ }
669
+ let jq_expr = _block;
670
+ return $result.try$(
671
+ (() => {
672
+ let _pipe = $shell.exec(
673
+ (("gh release list --repo " + shell_quote(repo)) + " --json tagName,publishedAt,isLatest --jq ") + shell_quote(
674
+ jq_expr,
675
+ ),
676
+ );
677
+ return $result.map_error(
678
+ _pipe,
679
+ (e) => { return new RegistryError("Failed to list versions: " + e); },
680
+ );
681
+ })(),
682
+ (output) => {
683
+ let _block$1;
684
+ if (skill_name instanceof Some) {
685
+ let name = skill_name[0];
686
+ _block$1 = (name + " in ") + repo;
687
+ } else {
688
+ _block$1 = repo;
689
+ }
690
+ let label = _block$1;
691
+ let $ = $string.is_empty($string.trim(output));
692
+ if ($) {
693
+ return new Ok("No releases found for " + label);
694
+ } else {
695
+ return new Ok(output);
696
+ }
697
+ },
698
+ );
699
+ },
700
+ );
701
+ }