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,724 @@
1
+ import * as $float from "../../gleam_stdlib/gleam/float.mjs";
2
+ import * as $int from "../../gleam_stdlib/gleam/int.mjs";
3
+ import * as $list from "../../gleam_stdlib/gleam/list.mjs";
4
+ import * as $option from "../../gleam_stdlib/gleam/option.mjs";
5
+ import { None, Some } from "../../gleam_stdlib/gleam/option.mjs";
6
+ import * as $result from "../../gleam_stdlib/gleam/result.mjs";
7
+ import * as $set from "../../gleam_stdlib/gleam/set.mjs";
8
+ import * as $string from "../../gleam_stdlib/gleam/string.mjs";
9
+ import * as $simplifile from "../../simplifile/simplifile.mjs";
10
+ import * as $yay from "../../yay/yay.mjs";
11
+ import {
12
+ Ok,
13
+ Error,
14
+ toList,
15
+ Empty as $Empty,
16
+ prepend as listPrepend,
17
+ CustomType as $CustomType,
18
+ } from "../gleam.mjs";
19
+ import * as $error from "../skillc/error.mjs";
20
+ import { ProviderError, map_file_error } from "../skillc/error.mjs";
21
+ import * as $fs from "../skillc/fs.mjs";
22
+ import * as $parser from "../skillc/parser.mjs";
23
+ import * as $provider from "../skillc/provider.mjs";
24
+ import * as $semver from "../skillc/semver.mjs";
25
+ import * as $template from "../skillc/template.mjs";
26
+ import * as $types from "../skillc/types.mjs";
27
+ import {
28
+ ClaudeCode,
29
+ Codex,
30
+ CompiledSkill,
31
+ FileCopy,
32
+ FrontmatterInInstructions,
33
+ MissingDependency,
34
+ OpenClaw,
35
+ } from "../skillc/types.mjs";
36
+ import * as $yaml from "../skillc/yaml.mjs";
37
+
38
+ class FrontmatterData extends $CustomType {
39
+ constructor(lines, extra_pairs) {
40
+ super();
41
+ this.lines = lines;
42
+ this.extra_pairs = extra_pairs;
43
+ }
44
+ }
45
+
46
+ class Scripts extends $CustomType {}
47
+
48
+ class Assets extends $CustomType {}
49
+
50
+ function file_category_to_string(category) {
51
+ if (category instanceof Scripts) {
52
+ return "scripts";
53
+ } else {
54
+ return "assets";
55
+ }
56
+ }
57
+
58
+ function read_shared_inputs(skill_dir) {
59
+ return $result.try$(
60
+ (() => {
61
+ let _pipe = $simplifile.read(skill_dir + "/skill.yaml");
62
+ return map_file_error(_pipe, skill_dir + "/skill.yaml");
63
+ })(),
64
+ (skill_content) => {
65
+ return $result.try$(
66
+ $parser.parse_skill_yaml(skill_content),
67
+ (skill) => {
68
+ return $result.try$(
69
+ (() => {
70
+ let _pipe = $simplifile.read(skill_dir + "/INSTRUCTIONS.md");
71
+ return map_file_error(_pipe, skill_dir + "/INSTRUCTIONS.md");
72
+ })(),
73
+ (instructions_content) => {
74
+ return new Ok([skill, instructions_content]);
75
+ },
76
+ );
77
+ },
78
+ );
79
+ },
80
+ );
81
+ }
82
+
83
+ export function emit(compiled, output_dir, skill_name) {
84
+ let provider_str = $types.provider_to_string(compiled.provider);
85
+ let _block;
86
+ let $ = compiled.provider;
87
+ if ($ instanceof Codex) {
88
+ _block = (output_dir + "/codex/.agents/skills/") + skill_name;
89
+ } else {
90
+ _block = (((output_dir + "/") + provider_str) + "/") + skill_name;
91
+ }
92
+ let provider_dir = _block;
93
+ return $result.try$(
94
+ (() => {
95
+ let _pipe = $simplifile.create_directory_all(provider_dir);
96
+ return map_file_error(_pipe, provider_dir);
97
+ })(),
98
+ (_) => {
99
+ return $result.try$(
100
+ (() => {
101
+ let _pipe = $simplifile.write(
102
+ provider_dir + "/SKILL.md",
103
+ compiled.skill_md,
104
+ );
105
+ return map_file_error(_pipe, provider_dir + "/SKILL.md");
106
+ })(),
107
+ (_) => {
108
+ return $result.try$(
109
+ (() => {
110
+ let $1 = compiled.codex_yaml;
111
+ if ($1 instanceof Some) {
112
+ let yaml_content = $1[0];
113
+ let agents_dir = provider_dir + "/agents";
114
+ return $result.try$(
115
+ (() => {
116
+ let _pipe = $simplifile.create_directory_all(agents_dir);
117
+ return map_file_error(_pipe, agents_dir);
118
+ })(),
119
+ (_) => {
120
+ let _pipe = $simplifile.write(
121
+ agents_dir + "/openai.yaml",
122
+ yaml_content,
123
+ );
124
+ return map_file_error(_pipe, agents_dir + "/openai.yaml");
125
+ },
126
+ );
127
+ } else {
128
+ return new Ok(undefined);
129
+ }
130
+ })(),
131
+ (_) => {
132
+ return $result.try$(
133
+ $fs.copy_file_list(compiled.scripts, provider_dir + "/scripts"),
134
+ (_) => {
135
+ return $result.try$(
136
+ $fs.copy_file_list(
137
+ compiled.assets,
138
+ provider_dir + "/assets",
139
+ ),
140
+ (_) => { return new Ok(undefined); },
141
+ );
142
+ },
143
+ );
144
+ },
145
+ );
146
+ },
147
+ );
148
+ },
149
+ );
150
+ }
151
+
152
+ function format_codex(skill, body) {
153
+ let version_str = $semver.to_string(skill.version);
154
+ let frontmatter_lines = toList([
155
+ "---",
156
+ "name: " + $yaml.quote_string(skill.name),
157
+ "description: " + $yaml.quote_string(skill.description),
158
+ "version: " + version_str,
159
+ "---",
160
+ ]);
161
+ return ($string.join(frontmatter_lines, "\n") + "\n\n") + body;
162
+ }
163
+
164
+ function meta_string_or(meta, key, default$) {
165
+ let $ = $yay.extract_optional_string(meta, key);
166
+ if ($ instanceof Ok) {
167
+ let $1 = $[0];
168
+ if ($1 instanceof Some) {
169
+ let value = $1[0];
170
+ return value;
171
+ } else {
172
+ return default$;
173
+ }
174
+ } else {
175
+ return default$;
176
+ }
177
+ }
178
+
179
+ /**
180
+ * Build common frontmatter lines and extract remaining provider metadata pairs.
181
+ * Returns the base frontmatter lines and the non-universal metadata key-value pairs.
182
+ *
183
+ * @ignore
184
+ */
185
+ function build_base_frontmatter(skill, provider_meta) {
186
+ let universal_keys = toList(["name", "description", "version"]);
187
+ let version_str = $semver.to_string(skill.version);
188
+ let name = meta_string_or(provider_meta, "name", skill.name);
189
+ let description = meta_string_or(
190
+ provider_meta,
191
+ "description",
192
+ skill.description,
193
+ );
194
+ let version = meta_string_or(provider_meta, "version", version_str);
195
+ let lines = toList([
196
+ "---",
197
+ "name: " + $yaml.quote_string(name),
198
+ "description: " + $yaml.quote_string(description),
199
+ "version: " + version,
200
+ ]);
201
+ let _block;
202
+ if (provider_meta instanceof $yay.NodeMap) {
203
+ let pairs = provider_meta[0];
204
+ _block = $list.filter(
205
+ pairs,
206
+ (pair) => {
207
+ let $ = pair[0];
208
+ if ($ instanceof $yay.NodeStr) {
209
+ let key = $[0];
210
+ return !$list.contains(universal_keys, key);
211
+ } else {
212
+ return false;
213
+ }
214
+ },
215
+ );
216
+ } else {
217
+ _block = toList([]);
218
+ }
219
+ let extra_pairs = _block;
220
+ return new FrontmatterData(lines, extra_pairs);
221
+ }
222
+
223
+ function seq_is_simple(items) {
224
+ return $list.all(
225
+ items,
226
+ (item) => {
227
+ if (item instanceof $yay.NodeNil) {
228
+ return true;
229
+ } else if (item instanceof $yay.NodeStr) {
230
+ return true;
231
+ } else if (item instanceof $yay.NodeBool) {
232
+ return true;
233
+ } else if (item instanceof $yay.NodeInt) {
234
+ return true;
235
+ } else if (item instanceof $yay.NodeFloat) {
236
+ return true;
237
+ } else {
238
+ return false;
239
+ }
240
+ },
241
+ );
242
+ }
243
+
244
+ function dependency_exists(dep_name, output_dir) {
245
+ let $ = $simplifile.read_directory(output_dir);
246
+ if ($ instanceof Ok) {
247
+ let entries = $[0];
248
+ return $list.any(
249
+ entries,
250
+ (provider_dir) => {
251
+ let skill_md_path = ((((output_dir + "/") + provider_dir) + "/") + dep_name) + "/SKILL.md";
252
+ let $1 = $simplifile.is_file(skill_md_path);
253
+ if ($1 instanceof Ok) {
254
+ let $2 = $1[0];
255
+ if ($2) {
256
+ return true;
257
+ } else {
258
+ return false;
259
+ }
260
+ } else {
261
+ return false;
262
+ }
263
+ },
264
+ );
265
+ } else {
266
+ return false;
267
+ }
268
+ }
269
+
270
+ export function check_dependencies(skill, output_dir) {
271
+ return $list.filter_map(
272
+ skill.dependencies,
273
+ (dep) => {
274
+ let $ = dep.optional;
275
+ if ($) {
276
+ return new Error(undefined);
277
+ } else {
278
+ let $1 = dependency_exists(dep.name, output_dir);
279
+ if ($1) {
280
+ return new Error(undefined);
281
+ } else {
282
+ return new Ok(new MissingDependency(dep));
283
+ }
284
+ }
285
+ },
286
+ );
287
+ }
288
+
289
+ function merge_file_lists(shared, provider) {
290
+ let provider_paths = $set.from_list(
291
+ $list.map(provider, (f) => { return f.relative_path; }),
292
+ );
293
+ let filtered_shared = $list.filter(
294
+ shared,
295
+ (f) => { return !$set.contains(provider_paths, f.relative_path); },
296
+ );
297
+ return $list.append(filtered_shared, provider);
298
+ }
299
+
300
+ function collect_files(skill_dir, provider_str, category) {
301
+ let dir_name = file_category_to_string(category);
302
+ let shared_dir = (skill_dir + "/") + dir_name;
303
+ let provider_dir = (((skill_dir + "/providers/") + provider_str) + "/") + dir_name;
304
+ let _block;
305
+ let $ = $simplifile.get_files(shared_dir);
306
+ if ($ instanceof Ok) {
307
+ let files = $[0];
308
+ _block = $list.map(
309
+ files,
310
+ (f) => {
311
+ let relative = $string.replace(f, shared_dir + "/", "");
312
+ return new FileCopy(f, relative);
313
+ },
314
+ );
315
+ } else {
316
+ _block = toList([]);
317
+ }
318
+ let shared_files = _block;
319
+ let _block$1;
320
+ let $1 = $simplifile.get_files(provider_dir);
321
+ if ($1 instanceof Ok) {
322
+ let files = $1[0];
323
+ _block$1 = $list.map(
324
+ files,
325
+ (f) => {
326
+ let relative = $string.replace(f, provider_dir + "/", "");
327
+ return new FileCopy(f, relative);
328
+ },
329
+ );
330
+ } else {
331
+ _block$1 = toList([]);
332
+ }
333
+ let provider_files = _block$1;
334
+ return merge_file_lists(shared_files, provider_files);
335
+ }
336
+
337
+ function serialize_yaml_seq(items, indent) {
338
+ let prefix = $string.repeat(" ", indent);
339
+ let lines = $list.map(
340
+ items,
341
+ (item) => {
342
+ if (item instanceof $yay.NodeMap) {
343
+ let pairs = item[0];
344
+ let pair_lines = format_yaml_pairs(pairs, indent + 4, "");
345
+ if (pair_lines instanceof $Empty) {
346
+ return prefix + "- {}";
347
+ } else {
348
+ let first = pair_lines.head;
349
+ let rest = pair_lines.tail;
350
+ return ((prefix + "- ") + first) + $string.join(
351
+ $list.map(
352
+ rest,
353
+ (line) => { return (("\n" + prefix) + " ") + line; },
354
+ ),
355
+ "",
356
+ );
357
+ }
358
+ } else {
359
+ return (prefix + "- ") + node_to_yaml_value(item, indent + 2);
360
+ }
361
+ },
362
+ );
363
+ return "\n" + $string.join(lines, "\n");
364
+ }
365
+
366
+ function format_yaml_pairs(pairs, indent, prefix) {
367
+ return $list.filter_map(
368
+ pairs,
369
+ (pair) => {
370
+ let $ = pair[0];
371
+ if ($ instanceof $yay.NodeStr) {
372
+ let value = pair[1];
373
+ let key = $[0];
374
+ let val = node_to_yaml_value(value, indent);
375
+ let $1 = $string.starts_with(val, "\n");
376
+ if ($1) {
377
+ return new Ok(((prefix + key) + ":") + val);
378
+ } else {
379
+ return new Ok(((prefix + key) + ": ") + val);
380
+ }
381
+ } else {
382
+ return new Error(undefined);
383
+ }
384
+ },
385
+ );
386
+ }
387
+
388
+ function node_to_yaml_value(node, indent) {
389
+ if (node instanceof $yay.NodeNil) {
390
+ return "null";
391
+ } else if (node instanceof $yay.NodeStr) {
392
+ let s = node[0];
393
+ return $yaml.quote_string(s);
394
+ } else if (node instanceof $yay.NodeBool) {
395
+ let $ = node[0];
396
+ if ($) {
397
+ return "true";
398
+ } else {
399
+ return "false";
400
+ }
401
+ } else if (node instanceof $yay.NodeInt) {
402
+ let i = node[0];
403
+ return $int.to_string(i);
404
+ } else if (node instanceof $yay.NodeFloat) {
405
+ let f = node[0];
406
+ return $float.to_string(f);
407
+ } else if (node instanceof $yay.NodeSeq) {
408
+ let items = node[0];
409
+ let $ = seq_is_simple(items);
410
+ if ($) {
411
+ return ("[" + $string.join(
412
+ $list.map(items, (i) => { return node_to_yaml_value(i, indent); }),
413
+ ", ",
414
+ )) + "]";
415
+ } else {
416
+ return serialize_yaml_seq(items, indent);
417
+ }
418
+ } else {
419
+ let pairs = node[0];
420
+ return serialize_yaml_map(pairs, indent);
421
+ }
422
+ }
423
+
424
+ function format_openclaw(skill, provider_meta, body) {
425
+ let $ = build_base_frontmatter(skill, provider_meta);
426
+ let base_lines;
427
+ let extra_pairs;
428
+ base_lines = $.lines;
429
+ extra_pairs = $.extra_pairs;
430
+ let _block;
431
+ let $1 = skill.license;
432
+ if ($1 instanceof Some) {
433
+ let l = $1[0];
434
+ _block = $list.append(base_lines, toList(["license: " + l]));
435
+ } else {
436
+ _block = base_lines;
437
+ }
438
+ let frontmatter_lines = _block;
439
+ let _block$1;
440
+ if (extra_pairs instanceof $Empty) {
441
+ _block$1 = extra_pairs;
442
+ } else {
443
+ let pairs = extra_pairs;
444
+ let openclaw_lines = format_yaml_pairs(pairs, 4, " ");
445
+ _block$1 = listPrepend("metadata.openclaw:", openclaw_lines);
446
+ }
447
+ let meta_lines = _block$1;
448
+ let all_lines = $list.flatten(
449
+ toList([frontmatter_lines, meta_lines, toList(["---"])]),
450
+ );
451
+ return ($string.join(all_lines, "\n") + "\n\n") + body;
452
+ }
453
+
454
+ function format_claude_code(skill, provider_meta, body) {
455
+ let $ = build_base_frontmatter(skill, provider_meta);
456
+ let frontmatter_lines;
457
+ let extra_pairs;
458
+ frontmatter_lines = $.lines;
459
+ extra_pairs = $.extra_pairs;
460
+ let meta_lines = format_yaml_pairs(extra_pairs, 2, "");
461
+ let all_lines = $list.flatten(
462
+ toList([frontmatter_lines, meta_lines, toList(["---"])]),
463
+ );
464
+ return ($string.join(all_lines, "\n") + "\n\n") + body;
465
+ }
466
+
467
+ function format_skill_md(skill, provider, provider_meta, body) {
468
+ if (provider instanceof OpenClaw) {
469
+ return format_openclaw(skill, provider_meta, body);
470
+ } else if (provider instanceof ClaudeCode) {
471
+ return format_claude_code(skill, provider_meta, body);
472
+ } else {
473
+ return format_codex(skill, body);
474
+ }
475
+ }
476
+
477
+ function generate_codex_yaml(provider_meta) {
478
+ if (provider_meta instanceof $yay.NodeMap) {
479
+ let pairs = provider_meta[0];
480
+ let lines = format_yaml_pairs(pairs, 2, "");
481
+ return $string.join(lines, "\n") + "\n";
482
+ } else {
483
+ return "";
484
+ }
485
+ }
486
+
487
+ function compile_for_provider(skill_dir, provider, skill, instructions_content) {
488
+ let provider_str = $types.provider_to_string(provider);
489
+ return $result.try$(
490
+ $provider.validate_provider(skill_dir, provider),
491
+ (_) => {
492
+ let metadata_path = ((skill_dir + "/providers/") + provider_str) + "/metadata.yaml";
493
+ return $result.try$(
494
+ (() => {
495
+ let _pipe = $simplifile.read(metadata_path);
496
+ return map_file_error(_pipe, metadata_path);
497
+ })(),
498
+ (meta_content) => {
499
+ return $result.try$(
500
+ $parser.parse_metadata_yaml(meta_content, provider),
501
+ (provider_meta) => {
502
+ let _block;
503
+ let $ = $parser.has_frontmatter(instructions_content);
504
+ if ($) {
505
+ _block = toList([
506
+ new FrontmatterInInstructions(skill_dir + "/INSTRUCTIONS.md"),
507
+ ]);
508
+ } else {
509
+ _block = toList([]);
510
+ }
511
+ let warnings = _block;
512
+ return $result.try$(
513
+ $template.render_template(
514
+ instructions_content,
515
+ provider,
516
+ skill,
517
+ provider_meta,
518
+ ),
519
+ (rendered_instructions) => {
520
+ let provider_instructions_path = ((skill_dir + "/providers/") + provider_str) + "/instructions.md";
521
+ return $result.try$(
522
+ (() => {
523
+ let $1 = $simplifile.read(provider_instructions_path);
524
+ if ($1 instanceof Ok) {
525
+ let provider_content = $1[0];
526
+ return $result.try$(
527
+ $template.render_template(
528
+ provider_content,
529
+ provider,
530
+ skill,
531
+ provider_meta,
532
+ ),
533
+ (rendered_provider) => {
534
+ return new Ok(
535
+ (rendered_instructions + "\n\n") + rendered_provider,
536
+ );
537
+ },
538
+ );
539
+ } else {
540
+ return new Ok(rendered_instructions);
541
+ }
542
+ })(),
543
+ (rendered_instructions) => {
544
+ let skill_md = format_skill_md(
545
+ skill,
546
+ provider,
547
+ provider_meta,
548
+ rendered_instructions,
549
+ );
550
+ let scripts = collect_files(
551
+ skill_dir,
552
+ provider_str,
553
+ new Scripts(),
554
+ );
555
+ let assets = collect_files(
556
+ skill_dir,
557
+ provider_str,
558
+ new Assets(),
559
+ );
560
+ let _block$1;
561
+ if (provider instanceof Codex) {
562
+ _block$1 = new Some(generate_codex_yaml(provider_meta));
563
+ } else {
564
+ _block$1 = new None();
565
+ }
566
+ let codex_yaml = _block$1;
567
+ return new Ok(
568
+ new CompiledSkill(
569
+ skill.name,
570
+ provider,
571
+ skill_md,
572
+ scripts,
573
+ assets,
574
+ warnings,
575
+ codex_yaml,
576
+ ),
577
+ );
578
+ },
579
+ );
580
+ },
581
+ );
582
+ },
583
+ );
584
+ },
585
+ );
586
+ },
587
+ );
588
+ }
589
+
590
+ function compile_single(skill_dir, provider) {
591
+ return $result.try$(
592
+ (() => {
593
+ let _pipe = $simplifile.read(skill_dir + "/skill.yaml");
594
+ return map_file_error(_pipe, skill_dir + "/skill.yaml");
595
+ })(),
596
+ (skill_content) => {
597
+ return $result.try$(
598
+ $parser.parse_skill_yaml(skill_content),
599
+ (skill) => {
600
+ return $result.try$(
601
+ (() => {
602
+ let _pipe = $simplifile.read(skill_dir + "/INSTRUCTIONS.md");
603
+ return map_file_error(_pipe, skill_dir + "/INSTRUCTIONS.md");
604
+ })(),
605
+ (instructions_content) => {
606
+ return compile_for_provider(
607
+ skill_dir,
608
+ provider,
609
+ skill,
610
+ instructions_content,
611
+ );
612
+ },
613
+ );
614
+ },
615
+ );
616
+ },
617
+ );
618
+ }
619
+
620
+ export function compile(skill_dir, provider_name) {
621
+ return $result.try$(
622
+ (() => {
623
+ let $ = $types.provider_from_string(provider_name);
624
+ if ($ instanceof Ok) {
625
+ return $;
626
+ } else {
627
+ return new Error(
628
+ new ProviderError(
629
+ provider_name,
630
+ ("Unknown provider '" + provider_name) + "'",
631
+ ),
632
+ );
633
+ }
634
+ })(),
635
+ (provider) => { return compile_single(skill_dir, provider); },
636
+ );
637
+ }
638
+
639
+ export function compile_all(skill_dir) {
640
+ return $result.try$(
641
+ $provider.discover_providers(skill_dir),
642
+ (providers) => {
643
+ if (providers instanceof $Empty) {
644
+ return new Error(
645
+ new ProviderError(
646
+ "none",
647
+ "No supported providers found in " + skill_dir,
648
+ ),
649
+ );
650
+ } else {
651
+ return $result.try$(
652
+ read_shared_inputs(skill_dir),
653
+ (_use0) => {
654
+ let skill;
655
+ let instructions_content;
656
+ skill = _use0[0];
657
+ instructions_content = _use0[1];
658
+ return $list.try_map(
659
+ providers,
660
+ (p) => {
661
+ return compile_for_provider(
662
+ skill_dir,
663
+ p,
664
+ skill,
665
+ instructions_content,
666
+ );
667
+ },
668
+ );
669
+ },
670
+ );
671
+ }
672
+ },
673
+ );
674
+ }
675
+
676
+ export function compile_providers(skill_dir, providers) {
677
+ return $result.try$(
678
+ $list.try_map(
679
+ providers,
680
+ (p) => {
681
+ let $ = $types.provider_from_string(p);
682
+ if ($ instanceof Ok) {
683
+ return $;
684
+ } else {
685
+ return new Error(
686
+ new ProviderError(p, ("Unknown provider '" + p) + "'"),
687
+ );
688
+ }
689
+ },
690
+ ),
691
+ (parsed_providers) => {
692
+ if (parsed_providers instanceof $Empty) {
693
+ return new Error(new ProviderError("none", "No providers specified"));
694
+ } else {
695
+ return $result.try$(
696
+ read_shared_inputs(skill_dir),
697
+ (_use0) => {
698
+ let skill;
699
+ let instructions_content;
700
+ skill = _use0[0];
701
+ instructions_content = _use0[1];
702
+ return $list.try_map(
703
+ parsed_providers,
704
+ (p) => {
705
+ return compile_for_provider(
706
+ skill_dir,
707
+ p,
708
+ skill,
709
+ instructions_content,
710
+ );
711
+ },
712
+ );
713
+ },
714
+ );
715
+ }
716
+ },
717
+ );
718
+ }
719
+
720
+ function serialize_yaml_map(pairs, indent) {
721
+ let prefix = $string.repeat(" ", indent);
722
+ let lines = format_yaml_pairs(pairs, indent + 2, prefix);
723
+ return "\n" + $string.join(lines, "\n");
724
+ }