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,427 @@
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 $yay from "../../yay/yay.mjs";
7
+ import { Ok, Error, toList, Empty as $Empty, prepend as listPrepend } from "../gleam.mjs";
8
+ import * as $error from "../skillc/error.mjs";
9
+ import { ParseError, ValidationError } from "../skillc/error.mjs";
10
+ import * as $semver from "../skillc/semver.mjs";
11
+ import * as $types from "../skillc/types.mjs";
12
+ import {
13
+ ConfigField,
14
+ Dependency,
15
+ Optional,
16
+ OptionalWithDefault,
17
+ Required,
18
+ Skill,
19
+ SkillMetadata,
20
+ } from "../skillc/types.mjs";
21
+ import * as $version_constraint from "../skillc/version_constraint.mjs";
22
+
23
+ function normalize_optional(opt) {
24
+ if (opt instanceof Some) {
25
+ let $ = opt[0];
26
+ if ($ === "") {
27
+ return new None();
28
+ } else {
29
+ return opt;
30
+ }
31
+ } else {
32
+ return opt;
33
+ }
34
+ }
35
+
36
+ function parse_metadata(node) {
37
+ let $ = $yay.select_sugar(node, "metadata");
38
+ if ($ instanceof Ok) {
39
+ let _block;
40
+ let _pipe = $yay.extract_optional_string(node, "metadata.author");
41
+ _block = $result.unwrap(_pipe, new None());
42
+ let author = _block;
43
+ let _block$1;
44
+ let _pipe$1 = $yay.extract_optional_string(node, "metadata.author_email");
45
+ _block$1 = $result.unwrap(_pipe$1, new None());
46
+ let author_email = _block$1;
47
+ let _block$2;
48
+ let _pipe$2 = $yay.extract_string_list(node, "metadata.tags");
49
+ _block$2 = $result.unwrap(_pipe$2, toList([]));
50
+ let tags = _block$2;
51
+ return new Some(new SkillMetadata(author, author_email, tags));
52
+ } else {
53
+ return new None();
54
+ }
55
+ }
56
+
57
+ function parse_dependencies(node) {
58
+ let $ = $yay.select_sugar(node, "dependencies");
59
+ if ($ instanceof Ok) {
60
+ let $1 = $[0];
61
+ if ($1 instanceof $yay.NodeSeq) {
62
+ let items = $1[0];
63
+ return $list.filter_map(
64
+ items,
65
+ (item) => {
66
+ let $2 = $yay.extract_string(item, "name");
67
+ if ($2 instanceof Ok) {
68
+ let name = $2[0];
69
+ let $3 = $string.is_empty($string.trim(name));
70
+ if ($3) {
71
+ return new Error(undefined);
72
+ } else {
73
+ let _block;
74
+ let _pipe = $yay.extract_string(item, "version");
75
+ _block = $result.unwrap(_pipe, "*");
76
+ let version_str = _block;
77
+ let $4 = $version_constraint.parse(version_str);
78
+ if ($4 instanceof Ok) {
79
+ let version = $4[0];
80
+ let _block$1;
81
+ let _pipe$1 = $yay.extract_bool_or(item, "optional", false);
82
+ _block$1 = $result.unwrap(_pipe$1, false);
83
+ let optional = _block$1;
84
+ return new Ok(new Dependency(name, version, optional));
85
+ } else {
86
+ return new Error(undefined);
87
+ }
88
+ }
89
+ } else {
90
+ return new Error(undefined);
91
+ }
92
+ },
93
+ );
94
+ } else {
95
+ return toList([]);
96
+ }
97
+ } else {
98
+ return toList([]);
99
+ }
100
+ }
101
+
102
+ function parse_config(node) {
103
+ let $ = $yay.select_sugar(node, "config");
104
+ if ($ instanceof Ok) {
105
+ let $1 = $[0];
106
+ if ($1 instanceof $yay.NodeSeq) {
107
+ let items = $1[0];
108
+ return $list.filter_map(
109
+ items,
110
+ (item) => {
111
+ let $2 = $yay.extract_string(item, "name");
112
+ if ($2 instanceof Ok) {
113
+ let name = $2[0];
114
+ let $3 = $string.is_empty($string.trim(name));
115
+ if ($3) {
116
+ return new Error(undefined);
117
+ } else {
118
+ let _block;
119
+ let _pipe = $yay.extract_string(item, "description");
120
+ _block = $result.unwrap(_pipe, "");
121
+ let description = _block;
122
+ let _block$1;
123
+ let _pipe$1 = $yay.extract_bool_or(item, "required", false);
124
+ _block$1 = $result.unwrap(_pipe$1, false);
125
+ let required = _block$1;
126
+ let _block$2;
127
+ let _pipe$2 = $yay.extract_bool_or(item, "secret", false);
128
+ _block$2 = $result.unwrap(_pipe$2, false);
129
+ let secret = _block$2;
130
+ let _block$3;
131
+ let _pipe$3 = $yay.extract_optional_string(item, "default");
132
+ _block$3 = $result.unwrap(_pipe$3, new None());
133
+ let default$ = _block$3;
134
+ let _block$4;
135
+ if (required) {
136
+ _block$4 = new Required();
137
+ } else {
138
+ if (default$ instanceof Some) {
139
+ let d = default$[0];
140
+ _block$4 = new OptionalWithDefault(d);
141
+ } else {
142
+ _block$4 = new Optional();
143
+ }
144
+ }
145
+ let requirement = _block$4;
146
+ return new Ok(
147
+ new ConfigField(name, description, requirement, secret),
148
+ );
149
+ }
150
+ } else {
151
+ return new Error(undefined);
152
+ }
153
+ },
154
+ );
155
+ } else {
156
+ return toList([]);
157
+ }
158
+ } else {
159
+ return toList([]);
160
+ }
161
+ }
162
+
163
+ function do_check_unique_names(items, get_name, field, label, seen) {
164
+ if (items instanceof $Empty) {
165
+ return new Ok(items);
166
+ } else {
167
+ let first = items.head;
168
+ let rest = items.tail;
169
+ let name = get_name(first);
170
+ let $ = $list.contains(seen, name);
171
+ if ($) {
172
+ return new Error(
173
+ new ValidationError(field, (("Duplicate " + label) + ": ") + name),
174
+ );
175
+ } else {
176
+ return $result.try$(
177
+ do_check_unique_names(
178
+ rest,
179
+ get_name,
180
+ field,
181
+ label,
182
+ listPrepend(name, seen),
183
+ ),
184
+ (_) => { return new Ok(items); },
185
+ );
186
+ }
187
+ }
188
+ }
189
+
190
+ function check_unique_names(items, get_name, field, label) {
191
+ return do_check_unique_names(items, get_name, field, label, toList([]));
192
+ }
193
+
194
+ function parse_skill_from_node(node) {
195
+ return $result.try$(
196
+ (() => {
197
+ let _pipe = $yay.extract_string(node, "name");
198
+ return $result.map_error(
199
+ _pipe,
200
+ (_) => {
201
+ return new ValidationError("name", "Required field 'name' is missing");
202
+ },
203
+ );
204
+ })(),
205
+ (name) => {
206
+ return $result.try$(
207
+ (() => {
208
+ let $ = $string.is_empty($string.trim(name));
209
+ if ($) {
210
+ return new Error(
211
+ new ValidationError("name", "Field 'name' must not be empty"),
212
+ );
213
+ } else {
214
+ return new Ok(undefined);
215
+ }
216
+ })(),
217
+ (_) => {
218
+ return $result.try$(
219
+ (() => {
220
+ let _pipe = $yay.extract_string(node, "description");
221
+ return $result.map_error(
222
+ _pipe,
223
+ (_) => {
224
+ return new ValidationError(
225
+ "description",
226
+ "Required field 'description' is missing",
227
+ );
228
+ },
229
+ );
230
+ })(),
231
+ (description) => {
232
+ return $result.try$(
233
+ (() => {
234
+ let $ = $string.is_empty($string.trim(description));
235
+ if ($) {
236
+ return new Error(
237
+ new ValidationError(
238
+ "description",
239
+ "Field 'description' must not be empty",
240
+ ),
241
+ );
242
+ } else {
243
+ return new Ok(undefined);
244
+ }
245
+ })(),
246
+ (_) => {
247
+ return $result.try$(
248
+ (() => {
249
+ let _pipe = $yay.extract_string(node, "version");
250
+ return $result.map_error(
251
+ _pipe,
252
+ (_) => {
253
+ return new ValidationError(
254
+ "version",
255
+ "Required field 'version' is missing",
256
+ );
257
+ },
258
+ );
259
+ })(),
260
+ (version_str) => {
261
+ return $result.try$(
262
+ $semver.parse(version_str),
263
+ (version) => {
264
+ let _block;
265
+ let _pipe = $yay.extract_optional_string(
266
+ node,
267
+ "license",
268
+ );
269
+ let _pipe$1 = $result.unwrap(_pipe, new None());
270
+ _block = normalize_optional(_pipe$1);
271
+ let license = _block;
272
+ let _block$1;
273
+ let _pipe$2 = $yay.extract_optional_string(
274
+ node,
275
+ "homepage",
276
+ );
277
+ let _pipe$3 = $result.unwrap(_pipe$2, new None());
278
+ _block$1 = normalize_optional(_pipe$3);
279
+ let homepage = _block$1;
280
+ let _block$2;
281
+ let _pipe$4 = $yay.extract_optional_string(
282
+ node,
283
+ "repository",
284
+ );
285
+ let _pipe$5 = $result.unwrap(_pipe$4, new None());
286
+ _block$2 = normalize_optional(_pipe$5);
287
+ let repository = _block$2;
288
+ let metadata = parse_metadata(node);
289
+ let dependencies = parse_dependencies(node);
290
+ return $result.try$(
291
+ (() => {
292
+ let $ = $list.find(
293
+ dependencies,
294
+ (d) => { return d.name === name; },
295
+ );
296
+ if ($ instanceof Ok) {
297
+ return new Error(
298
+ new ValidationError(
299
+ "dependencies",
300
+ "Skill cannot depend on itself: " + name,
301
+ ),
302
+ );
303
+ } else {
304
+ return new Ok(undefined);
305
+ }
306
+ })(),
307
+ (_) => {
308
+ return $result.try$(
309
+ check_unique_names(
310
+ dependencies,
311
+ (d) => { return d.name; },
312
+ "dependencies",
313
+ "dependency",
314
+ ),
315
+ (dependencies) => {
316
+ let config = parse_config(node);
317
+ return $result.try$(
318
+ check_unique_names(
319
+ config,
320
+ (c) => { return c.name; },
321
+ "config",
322
+ "config field",
323
+ ),
324
+ (config) => {
325
+ return new Ok(
326
+ new Skill(
327
+ name,
328
+ description,
329
+ version,
330
+ license,
331
+ homepage,
332
+ repository,
333
+ metadata,
334
+ dependencies,
335
+ config,
336
+ ),
337
+ );
338
+ },
339
+ );
340
+ },
341
+ );
342
+ },
343
+ );
344
+ },
345
+ );
346
+ },
347
+ );
348
+ },
349
+ );
350
+ },
351
+ );
352
+ },
353
+ );
354
+ },
355
+ );
356
+ }
357
+
358
+ export function has_frontmatter(content) {
359
+ return $string.starts_with($string.trim_start(content), "---");
360
+ }
361
+
362
+ function yaml_error_to_skill_error(file, err) {
363
+ if (err instanceof $yay.UnexpectedParsingError) {
364
+ return new ParseError(file, "Unexpected parsing error");
365
+ } else {
366
+ let msg = err.msg;
367
+ return new ParseError(file, msg);
368
+ }
369
+ }
370
+
371
+ export function parse_skill_yaml(content) {
372
+ return $result.try$(
373
+ (() => {
374
+ let _pipe = $yay.parse_string(content);
375
+ return $result.map_error(
376
+ _pipe,
377
+ (e) => { return yaml_error_to_skill_error("skill.yaml", e); },
378
+ );
379
+ })(),
380
+ (docs) => {
381
+ return $result.try$(
382
+ (() => {
383
+ if (docs instanceof $Empty) {
384
+ return new Error(
385
+ new ParseError("skill.yaml", "Empty YAML document"),
386
+ );
387
+ } else {
388
+ let first = docs.head;
389
+ return new Ok(first);
390
+ }
391
+ })(),
392
+ (doc) => {
393
+ let root = $yay.document_root(doc);
394
+ if (root instanceof $yay.NodeNil) {
395
+ return new Error(
396
+ new ParseError("skill.yaml", "Empty YAML document"),
397
+ );
398
+ } else {
399
+ return parse_skill_from_node(root);
400
+ }
401
+ },
402
+ );
403
+ },
404
+ );
405
+ }
406
+
407
+ export function parse_metadata_yaml(content, provider) {
408
+ let provider_name = $types.provider_to_string(provider);
409
+ let file = ("providers/" + provider_name) + "/metadata.yaml";
410
+ return $result.try$(
411
+ (() => {
412
+ let _pipe = $yay.parse_string(content);
413
+ return $result.map_error(
414
+ _pipe,
415
+ (e) => { return yaml_error_to_skill_error(file, e); },
416
+ );
417
+ })(),
418
+ (docs) => {
419
+ if (docs instanceof $Empty) {
420
+ return new Error(new ParseError(file, "Empty YAML document"));
421
+ } else {
422
+ let first = docs.head;
423
+ return new Ok($yay.document_root(first));
424
+ }
425
+ },
426
+ );
427
+ }
@@ -0,0 +1,52 @@
1
+ import * as $list from "../../gleam_stdlib/gleam/list.mjs";
2
+ import * as $string from "../../gleam_stdlib/gleam/string.mjs";
3
+ import { Ok, toList, Empty as $Empty, isEqual } from "../gleam.mjs";
4
+
5
+ export function normalize_separators(path) {
6
+ return $string.replace(path, "\\", "/");
7
+ }
8
+
9
+ export function parent_dir(path) {
10
+ let path$1 = normalize_separators(path);
11
+ let $ = (() => {
12
+ let _pipe = $string.split(path$1, "/");
13
+ return $list.reverse(_pipe);
14
+ })();
15
+ if ($ instanceof $Empty) {
16
+ return ".";
17
+ } else {
18
+ let rest = $.tail;
19
+ if (!isEqual(rest, toList([]))) {
20
+ let $1 = $string.join($list.reverse(rest), "/");
21
+ if ($1 === "") {
22
+ return "/";
23
+ } else {
24
+ return $1;
25
+ }
26
+ } else {
27
+ return ".";
28
+ }
29
+ }
30
+ }
31
+
32
+ export function basename(path) {
33
+ let path$1 = normalize_separators(path);
34
+ let _block;
35
+ let $ = $string.ends_with(path$1, "/");
36
+ if ($) {
37
+ _block = $string.drop_end(path$1, 1);
38
+ } else {
39
+ _block = path$1;
40
+ }
41
+ let trimmed = _block;
42
+ let $1 = (() => {
43
+ let _pipe = $string.split(trimmed, "/");
44
+ return $list.last(_pipe);
45
+ })();
46
+ if ($1 instanceof Ok) {
47
+ let name = $1[0];
48
+ return name;
49
+ } else {
50
+ return trimmed;
51
+ }
52
+ }
@@ -0,0 +1,44 @@
1
+ import { CustomType as $CustomType } from "../gleam.mjs";
2
+ import { platform_string, tmpdir } from "../skillc_ffi.mjs";
3
+
4
+ export { tmpdir };
5
+
6
+ export class Windows extends $CustomType {}
7
+ export const Platform$Windows = () => new Windows();
8
+ export const Platform$isWindows = (value) => value instanceof Windows;
9
+
10
+ export class Linux extends $CustomType {}
11
+ export const Platform$Linux = () => new Linux();
12
+ export const Platform$isLinux = (value) => value instanceof Linux;
13
+
14
+ export class MacOS extends $CustomType {}
15
+ export const Platform$MacOS = () => new MacOS();
16
+ export const Platform$isMacOS = (value) => value instanceof MacOS;
17
+
18
+ export class Other extends $CustomType {
19
+ constructor($0) {
20
+ super();
21
+ this[0] = $0;
22
+ }
23
+ }
24
+ export const Platform$Other = ($0) => new Other($0);
25
+ export const Platform$isOther = (value) => value instanceof Other;
26
+ export const Platform$Other$0 = (value) => value[0];
27
+
28
+ export function detect() {
29
+ let $ = platform_string();
30
+ if ($ === "win32") {
31
+ return new Windows();
32
+ } else if ($ === "linux") {
33
+ return new Linux();
34
+ } else if ($ === "darwin") {
35
+ return new MacOS();
36
+ } else {
37
+ let other = $;
38
+ return new Other(other);
39
+ }
40
+ }
41
+
42
+ export function is_windows() {
43
+ return detect() instanceof Windows;
44
+ }
@@ -0,0 +1,86 @@
1
+ import * as $list from "../../gleam_stdlib/gleam/list.mjs";
2
+ import * as $result from "../../gleam_stdlib/gleam/result.mjs";
3
+ import * as $string from "../../gleam_stdlib/gleam/string.mjs";
4
+ import * as $simplifile from "../../simplifile/simplifile.mjs";
5
+ import { Ok, Error, toList } from "../gleam.mjs";
6
+ import * as $error from "../skillc/error.mjs";
7
+ import { FileError, ProviderError } from "../skillc/error.mjs";
8
+ import * as $types from "../skillc/types.mjs";
9
+
10
+ export function discover_providers(skill_dir) {
11
+ let providers_dir = skill_dir + "/providers";
12
+ let $ = $simplifile.is_directory(providers_dir);
13
+ if ($ instanceof Ok) {
14
+ let $1 = $[0];
15
+ if ($1) {
16
+ return $result.try$(
17
+ (() => {
18
+ let _pipe = $simplifile.read_directory(providers_dir);
19
+ return $result.map_error(
20
+ _pipe,
21
+ (e) => { return new FileError(providers_dir, e); },
22
+ );
23
+ })(),
24
+ (entries) => {
25
+ let _block;
26
+ let _pipe = $list.filter(
27
+ entries,
28
+ (entry) => {
29
+ let metadata_path = ((providers_dir + "/") + entry) + "/metadata.yaml";
30
+ let $2 = $simplifile.is_file(metadata_path);
31
+ if ($2 instanceof Ok) {
32
+ let $3 = $2[0];
33
+ if ($3) {
34
+ return true;
35
+ } else {
36
+ return false;
37
+ }
38
+ } else {
39
+ return false;
40
+ }
41
+ },
42
+ );
43
+ let _pipe$1 = $list.sort(_pipe, $string.compare);
44
+ _block = $list.filter_map(_pipe$1, $types.provider_from_string);
45
+ let providers = _block;
46
+ return new Ok(providers);
47
+ },
48
+ );
49
+ } else {
50
+ return new Ok(toList([]));
51
+ }
52
+ } else {
53
+ return new Ok(toList([]));
54
+ }
55
+ }
56
+
57
+ export function is_supported(skill_dir, provider) {
58
+ let provider_name = $types.provider_to_string(provider);
59
+ let metadata_path = ((skill_dir + "/providers/") + provider_name) + "/metadata.yaml";
60
+ let $ = $simplifile.is_file(metadata_path);
61
+ if ($ instanceof Ok) {
62
+ let $1 = $[0];
63
+ if ($1) {
64
+ return true;
65
+ } else {
66
+ return false;
67
+ }
68
+ } else {
69
+ return false;
70
+ }
71
+ }
72
+
73
+ export function validate_provider(skill_dir, provider) {
74
+ let provider_name = $types.provider_to_string(provider);
75
+ let $ = is_supported(skill_dir, provider);
76
+ if ($) {
77
+ return new Ok(undefined);
78
+ } else {
79
+ return new Error(
80
+ new ProviderError(
81
+ provider_name,
82
+ ("Provider '" + provider_name) + "' is not supported by this skill",
83
+ ),
84
+ );
85
+ }
86
+ }