@cardelli/ambit 0.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 (590) hide show
  1. package/esm/_dnt.polyfills.d.ts +111 -0
  2. package/esm/_dnt.polyfills.d.ts.map +1 -0
  3. package/esm/_dnt.polyfills.js +141 -0
  4. package/esm/_dnt.shims.d.ts +6 -0
  5. package/esm/_dnt.shims.d.ts.map +1 -0
  6. package/esm/_dnt.shims.js +61 -0
  7. package/esm/deps/jsr.io/@cliffy/table/1.0.0/_layout.d.ts +104 -0
  8. package/esm/deps/jsr.io/@cliffy/table/1.0.0/_layout.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@cliffy/table/1.0.0/_layout.js +531 -0
  10. package/esm/deps/jsr.io/@cliffy/table/1.0.0/_utils.d.ts +29 -0
  11. package/esm/deps/jsr.io/@cliffy/table/1.0.0/_utils.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@cliffy/table/1.0.0/_utils.js +72 -0
  13. package/esm/deps/jsr.io/@cliffy/table/1.0.0/border.d.ts +21 -0
  14. package/esm/deps/jsr.io/@cliffy/table/1.0.0/border.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@cliffy/table/1.0.0/border.js +18 -0
  16. package/esm/deps/jsr.io/@cliffy/table/1.0.0/cell.d.ts +155 -0
  17. package/esm/deps/jsr.io/@cliffy/table/1.0.0/cell.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@cliffy/table/1.0.0/cell.js +190 -0
  19. package/esm/deps/jsr.io/@cliffy/table/1.0.0/column.d.ts +62 -0
  20. package/esm/deps/jsr.io/@cliffy/table/1.0.0/column.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@cliffy/table/1.0.0/column.js +78 -0
  22. package/esm/deps/jsr.io/@cliffy/table/1.0.0/consume_words.d.ts +30 -0
  23. package/esm/deps/jsr.io/@cliffy/table/1.0.0/consume_words.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@cliffy/table/1.0.0/consume_words.js +64 -0
  25. package/esm/deps/jsr.io/@cliffy/table/1.0.0/mod.d.ts +43 -0
  26. package/esm/deps/jsr.io/@cliffy/table/1.0.0/mod.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@cliffy/table/1.0.0/mod.js +42 -0
  28. package/esm/deps/jsr.io/@cliffy/table/1.0.0/row.d.ts +67 -0
  29. package/esm/deps/jsr.io/@cliffy/table/1.0.0/row.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@cliffy/table/1.0.0/row.js +82 -0
  31. package/esm/deps/jsr.io/@cliffy/table/1.0.0/table.d.ts +188 -0
  32. package/esm/deps/jsr.io/@cliffy/table/1.0.0/table.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@cliffy/table/1.0.0/table.js +286 -0
  34. package/esm/deps/jsr.io/@cliffy/table/1.0.0/unicode_width.d.ts +40 -0
  35. package/esm/deps/jsr.io/@cliffy/table/1.0.0/unicode_width.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@cliffy/table/1.0.0/unicode_width.js +95 -0
  37. package/esm/deps/jsr.io/@std/cli/1.0.27/_data.d.ts +9 -0
  38. package/esm/deps/jsr.io/@std/cli/1.0.27/_data.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@std/cli/1.0.27/_data.js +17 -0
  40. package/esm/deps/jsr.io/@std/cli/1.0.27/_run_length.d.ts +9 -0
  41. package/esm/deps/jsr.io/@std/cli/1.0.27/_run_length.d.ts.map +1 -0
  42. package/esm/deps/jsr.io/@std/cli/1.0.27/_run_length.js +34 -0
  43. package/esm/deps/jsr.io/@std/cli/1.0.27/mod.d.ts +18 -0
  44. package/esm/deps/jsr.io/@std/cli/1.0.27/mod.d.ts.map +1 -0
  45. package/esm/deps/jsr.io/@std/cli/1.0.27/mod.js +18 -0
  46. package/esm/deps/jsr.io/@std/cli/1.0.27/parse_args.d.ts +343 -0
  47. package/esm/deps/jsr.io/@std/cli/1.0.27/parse_args.d.ts.map +1 -0
  48. package/esm/deps/jsr.io/@std/cli/1.0.27/parse_args.js +358 -0
  49. package/esm/deps/jsr.io/@std/cli/1.0.27/prompt_secret.d.ts +28 -0
  50. package/esm/deps/jsr.io/@std/cli/1.0.27/prompt_secret.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@std/cli/1.0.27/prompt_secret.js +109 -0
  52. package/esm/deps/jsr.io/@std/cli/1.0.27/unicode_width.d.ts +40 -0
  53. package/esm/deps/jsr.io/@std/cli/1.0.27/unicode_width.d.ts.map +1 -0
  54. package/esm/deps/jsr.io/@std/cli/1.0.27/unicode_width.js +74 -0
  55. package/esm/deps/jsr.io/@std/collections/1.1.3/_utils.d.ts +6 -0
  56. package/esm/deps/jsr.io/@std/collections/1.1.3/_utils.d.ts.map +1 -0
  57. package/esm/deps/jsr.io/@std/collections/1.1.3/_utils.js +18 -0
  58. package/esm/deps/jsr.io/@std/collections/1.1.3/deep_merge.d.ts +322 -0
  59. package/esm/deps/jsr.io/@std/collections/1.1.3/deep_merge.d.ts.map +1 -0
  60. package/esm/deps/jsr.io/@std/collections/1.1.3/deep_merge.js +95 -0
  61. package/esm/deps/jsr.io/@std/fmt/1.0.9/colors.d.ts +700 -0
  62. package/esm/deps/jsr.io/@std/fmt/1.0.9/colors.d.ts.map +1 -0
  63. package/esm/deps/jsr.io/@std/fmt/1.0.9/colors.js +903 -0
  64. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts +2 -0
  65. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +1 -0
  66. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.js +12 -0
  67. package/esm/deps/jsr.io/@std/internal/1.0.12/os.d.ts +3 -0
  68. package/esm/deps/jsr.io/@std/internal/1.0.12/os.d.ts.map +1 -0
  69. package/esm/deps/jsr.io/@std/internal/1.0.12/os.js +5 -0
  70. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.d.ts +2 -0
  71. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.d.ts.map +1 -0
  72. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.js +7 -0
  73. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.d.ts +4 -0
  74. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.js +40 -0
  76. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.d.ts +2 -0
  77. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.d.ts.map +1 -0
  78. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.js +23 -0
  79. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.d.ts +40 -0
  80. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.d.ts.map +1 -0
  81. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.js +46 -0
  82. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.d.ts +2 -0
  83. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.d.ts.map +1 -0
  84. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.js +8 -0
  85. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.d.ts +4 -0
  86. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.d.ts.map +1 -0
  87. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.js +19 -0
  88. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.d.ts +2 -0
  89. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.d.ts.map +1 -0
  90. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.js +9 -0
  91. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.d.ts +35 -0
  92. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.d.ts.map +1 -0
  93. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.js +235 -0
  94. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.d.ts +2 -0
  95. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.d.ts.map +1 -0
  96. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.js +8 -0
  97. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.d.ts +2 -0
  98. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.d.ts.map +1 -0
  99. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.js +77 -0
  100. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.d.ts +2 -0
  101. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.d.ts.map +1 -0
  102. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.js +9 -0
  103. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.d.ts +2 -0
  104. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.d.ts.map +1 -0
  105. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.js +19 -0
  106. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.d.ts +2 -0
  107. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.d.ts.map +1 -0
  108. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.js +15 -0
  109. package/esm/deps/jsr.io/@std/path/1.1.4/basename.d.ts +27 -0
  110. package/esm/deps/jsr.io/@std/path/1.1.4/basename.d.ts.map +1 -0
  111. package/esm/deps/jsr.io/@std/path/1.1.4/basename.js +35 -0
  112. package/esm/deps/jsr.io/@std/path/1.1.4/common.d.ts +28 -0
  113. package/esm/deps/jsr.io/@std/path/1.1.4/common.d.ts.map +1 -0
  114. package/esm/deps/jsr.io/@std/path/1.1.4/common.js +33 -0
  115. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts +15 -0
  116. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts.map +1 -0
  117. package/esm/deps/jsr.io/@std/path/1.1.4/constants.js +17 -0
  118. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.d.ts +22 -0
  119. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.d.ts.map +1 -0
  120. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.js +28 -0
  121. package/esm/deps/jsr.io/@std/path/1.1.4/extname.d.ts +22 -0
  122. package/esm/deps/jsr.io/@std/path/1.1.4/extname.d.ts.map +1 -0
  123. package/esm/deps/jsr.io/@std/path/1.1.4/extname.js +28 -0
  124. package/esm/deps/jsr.io/@std/path/1.1.4/format.d.ts +22 -0
  125. package/esm/deps/jsr.io/@std/path/1.1.4/format.d.ts.map +1 -0
  126. package/esm/deps/jsr.io/@std/path/1.1.4/format.js +27 -0
  127. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.d.ts +22 -0
  128. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.d.ts.map +1 -0
  129. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.js +28 -0
  130. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.d.ts +77 -0
  131. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.d.ts.map +1 -0
  132. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js +83 -0
  133. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.d.ts +22 -0
  134. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.d.ts.map +1 -0
  135. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.js +28 -0
  136. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.d.ts +17 -0
  137. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.d.ts.map +1 -0
  138. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.js +42 -0
  139. package/esm/deps/jsr.io/@std/path/1.1.4/join.d.ts +23 -0
  140. package/esm/deps/jsr.io/@std/path/1.1.4/join.d.ts.map +1 -0
  141. package/esm/deps/jsr.io/@std/path/1.1.4/join.js +29 -0
  142. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.d.ts +28 -0
  143. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.d.ts.map +1 -0
  144. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.js +34 -0
  145. package/esm/deps/jsr.io/@std/path/1.1.4/mod.d.ts +213 -0
  146. package/esm/deps/jsr.io/@std/path/1.1.4/mod.d.ts.map +1 -0
  147. package/esm/deps/jsr.io/@std/path/1.1.4/mod.js +216 -0
  148. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.d.ts +26 -0
  149. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.d.ts.map +1 -0
  150. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.js +32 -0
  151. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.d.ts +29 -0
  152. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.d.ts.map +1 -0
  153. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.js +35 -0
  154. package/esm/deps/jsr.io/@std/path/1.1.4/parse.d.ts +35 -0
  155. package/esm/deps/jsr.io/@std/path/1.1.4/parse.d.ts.map +1 -0
  156. package/esm/deps/jsr.io/@std/path/1.1.4/parse.js +39 -0
  157. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.d.ts +2 -0
  158. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.d.ts.map +1 -0
  159. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.js +8 -0
  160. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.d.ts +39 -0
  161. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.d.ts.map +1 -0
  162. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.js +52 -0
  163. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts +13 -0
  164. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts.map +1 -0
  165. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.js +14 -0
  166. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.d.ts +30 -0
  167. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.d.ts.map +1 -0
  168. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.js +64 -0
  169. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.d.ts +37 -0
  170. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.d.ts.map +1 -0
  171. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.js +93 -0
  172. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.d.ts +24 -0
  173. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.d.ts.map +1 -0
  174. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.js +28 -0
  175. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.d.ts +16 -0
  176. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.d.ts.map +1 -0
  177. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.js +21 -0
  178. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.d.ts +72 -0
  179. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.d.ts.map +1 -0
  180. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.js +82 -0
  181. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.d.ts +17 -0
  182. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.d.ts.map +1 -0
  183. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.js +23 -0
  184. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.d.ts +31 -0
  185. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.d.ts.map +1 -0
  186. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.js +45 -0
  187. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.d.ts +20 -0
  188. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.d.ts.map +1 -0
  189. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.js +40 -0
  190. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.d.ts +37 -0
  191. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.d.ts.map +1 -0
  192. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.js +58 -0
  193. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.d.ts +20 -0
  194. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.d.ts.map +1 -0
  195. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.js +32 -0
  196. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.d.ts +25 -0
  197. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.d.ts.map +1 -0
  198. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.js +115 -0
  199. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.d.ts +20 -0
  200. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.d.ts.map +1 -0
  201. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.js +106 -0
  202. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.d.ts +17 -0
  203. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.d.ts.map +1 -0
  204. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.js +59 -0
  205. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.d.ts +17 -0
  206. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.d.ts.map +1 -0
  207. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.js +27 -0
  208. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.d.ts +16 -0
  209. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.d.ts.map +1 -0
  210. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.js +20 -0
  211. package/esm/deps/jsr.io/@std/path/1.1.4/relative.d.ts +24 -0
  212. package/esm/deps/jsr.io/@std/path/1.1.4/relative.d.ts.map +1 -0
  213. package/esm/deps/jsr.io/@std/path/1.1.4/relative.js +30 -0
  214. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.d.ts +22 -0
  215. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.d.ts.map +1 -0
  216. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.js +30 -0
  217. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.d.ts +22 -0
  218. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.d.ts.map +1 -0
  219. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.js +28 -0
  220. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.d.ts +21 -0
  221. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.d.ts.map +1 -0
  222. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js +29 -0
  223. package/esm/deps/jsr.io/@std/path/1.1.4/types.d.ts +38 -0
  224. package/esm/deps/jsr.io/@std/path/1.1.4/types.d.ts.map +1 -0
  225. package/esm/deps/jsr.io/@std/path/1.1.4/types.js +3 -0
  226. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.d.ts +4 -0
  227. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.d.ts.map +1 -0
  228. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.js +15 -0
  229. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.d.ts +22 -0
  230. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.d.ts.map +1 -0
  231. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.js +47 -0
  232. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts +13 -0
  233. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts.map +1 -0
  234. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.js +14 -0
  235. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.d.ts +17 -0
  236. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.d.ts.map +1 -0
  237. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.js +113 -0
  238. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.d.ts +17 -0
  239. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.d.ts.map +1 -0
  240. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.js +82 -0
  241. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.d.ts +24 -0
  242. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.d.ts.map +1 -0
  243. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.js +28 -0
  244. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.d.ts +18 -0
  245. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.d.ts.map +1 -0
  246. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.js +30 -0
  247. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.d.ts +71 -0
  248. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.d.ts.map +1 -0
  249. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.js +82 -0
  250. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.d.ts +17 -0
  251. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.d.ts.map +1 -0
  252. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.js +38 -0
  253. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.d.ts +18 -0
  254. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.d.ts.map +1 -0
  255. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.js +77 -0
  256. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.d.ts +21 -0
  257. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.d.ts.map +1 -0
  258. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.js +41 -0
  259. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.d.ts +19 -0
  260. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.d.ts.map +1 -0
  261. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.js +135 -0
  262. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.d.ts +20 -0
  263. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.d.ts.map +1 -0
  264. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.js +32 -0
  265. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.d.ts +25 -0
  266. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.d.ts.map +1 -0
  267. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.js +176 -0
  268. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.d.ts +23 -0
  269. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.d.ts.map +1 -0
  270. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.js +131 -0
  271. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.d.ts +17 -0
  272. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.d.ts.map +1 -0
  273. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.js +154 -0
  274. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.d.ts +17 -0
  275. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.d.ts.map +1 -0
  276. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.js +34 -0
  277. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.d.ts +17 -0
  278. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.d.ts.map +1 -0
  279. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.js +49 -0
  280. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
  281. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
  282. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +740 -0
  283. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
  284. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
  285. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.js +110 -0
  286. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
  287. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
  288. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.js +25 -0
  289. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
  290. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
  291. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.js +276 -0
  292. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/index.d.ts +5 -0
  293. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/index.d.ts.map +1 -0
  294. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/index.js +4 -0
  295. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/checks.d.ts +2 -0
  296. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/checks.d.ts.map +1 -0
  297. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/checks.js +1 -0
  298. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/coerce.d.ts +18 -0
  299. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/coerce.d.ts.map +1 -0
  300. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/coerce.js +17 -0
  301. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/compat.d.ts +51 -0
  302. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/compat.d.ts.map +1 -0
  303. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/compat.js +31 -0
  304. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/errors.d.ts +31 -0
  305. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/errors.d.ts.map +1 -0
  306. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/errors.js +48 -0
  307. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/external.d.ts +16 -0
  308. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/external.d.ts.map +1 -0
  309. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/external.js +20 -0
  310. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/from-json-schema.d.ts +13 -0
  311. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/from-json-schema.d.ts.map +1 -0
  312. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/from-json-schema.js +584 -0
  313. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/iso.d.ts +23 -0
  314. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/iso.d.ts.map +1 -0
  315. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/iso.js +30 -0
  316. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/parse.d.ts +32 -0
  317. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/parse.d.ts.map +1 -0
  318. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/parse.js +15 -0
  319. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/schemas.d.ts +740 -0
  320. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/schemas.d.ts.map +1 -0
  321. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/schemas.js +1157 -0
  322. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/api.d.ts +305 -0
  323. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/api.d.ts.map +1 -0
  324. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/api.js +1082 -0
  325. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/checks.d.ts +279 -0
  326. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/checks.d.ts.map +1 -0
  327. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/checks.js +566 -0
  328. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/core.d.ts +71 -0
  329. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/core.d.ts.map +1 -0
  330. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/core.js +75 -0
  331. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/doc.d.ts +15 -0
  332. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/doc.d.ts.map +1 -0
  333. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/doc.js +36 -0
  334. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/errors.d.ts +221 -0
  335. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/errors.d.ts.map +1 -0
  336. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/errors.js +181 -0
  337. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/index.d.ts +17 -0
  338. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/index.d.ts.map +1 -0
  339. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/index.js +16 -0
  340. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema-generator.d.ts +66 -0
  341. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema-generator.d.ts.map +1 -0
  342. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema-generator.js +96 -0
  343. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema-processors.d.ts +50 -0
  344. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema-processors.d.ts.map +1 -0
  345. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema-processors.js +605 -0
  346. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema.d.ts +89 -0
  347. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema.d.ts.map +1 -0
  348. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/json-schema.js +1 -0
  349. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/parse.d.ts +50 -0
  350. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/parse.d.ts.map +1 -0
  351. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/parse.js +93 -0
  352. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/regexes.d.ts +80 -0
  353. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/regexes.d.ts.map +1 -0
  354. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/regexes.js +133 -0
  355. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/registries.d.ts +36 -0
  356. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/registries.d.ts.map +1 -0
  357. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/registries.js +51 -0
  358. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/schemas.d.ts +1148 -0
  359. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/schemas.d.ts.map +1 -0
  360. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/schemas.js +2092 -0
  361. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/standard-schema.d.ts +127 -0
  362. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/standard-schema.d.ts.map +1 -0
  363. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/standard-schema.js +1 -0
  364. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/to-json-schema.d.ts +115 -0
  365. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/to-json-schema.d.ts.map +1 -0
  366. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/to-json-schema.js +436 -0
  367. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/util.d.ts +200 -0
  368. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/util.d.ts.map +1 -0
  369. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/util.js +650 -0
  370. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/versions.d.ts +6 -0
  371. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/versions.d.ts.map +1 -0
  372. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/versions.js +5 -0
  373. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ar.d.ts +5 -0
  374. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ar.d.ts.map +1 -0
  375. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ar.js +106 -0
  376. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/az.d.ts +5 -0
  377. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/az.d.ts.map +1 -0
  378. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/az.js +105 -0
  379. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/be.d.ts +5 -0
  380. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/be.d.ts.map +1 -0
  381. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/be.js +156 -0
  382. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/bg.d.ts +5 -0
  383. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/bg.d.ts.map +1 -0
  384. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/bg.js +120 -0
  385. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ca.d.ts +5 -0
  386. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ca.d.ts.map +1 -0
  387. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ca.js +107 -0
  388. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/cs.d.ts +5 -0
  389. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/cs.d.ts.map +1 -0
  390. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/cs.js +111 -0
  391. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/da.d.ts +5 -0
  392. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/da.d.ts.map +1 -0
  393. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/da.js +115 -0
  394. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/de.d.ts +5 -0
  395. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/de.d.ts.map +1 -0
  396. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/de.js +108 -0
  397. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/en.d.ts +5 -0
  398. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/en.d.ts.map +1 -0
  399. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/en.js +109 -0
  400. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/eo.d.ts +5 -0
  401. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/eo.d.ts.map +1 -0
  402. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/eo.js +109 -0
  403. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/es.d.ts +5 -0
  404. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/es.d.ts.map +1 -0
  405. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/es.js +132 -0
  406. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fa.d.ts +5 -0
  407. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fa.d.ts.map +1 -0
  408. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fa.js +114 -0
  409. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fi.d.ts +5 -0
  410. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fi.d.ts.map +1 -0
  411. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fi.js +112 -0
  412. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fr-CA.d.ts +5 -0
  413. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fr-CA.d.ts.map +1 -0
  414. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fr-CA.js +107 -0
  415. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fr.d.ts +5 -0
  416. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fr.d.ts.map +1 -0
  417. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fr.js +108 -0
  418. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/he.d.ts +5 -0
  419. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/he.d.ts.map +1 -0
  420. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/he.js +214 -0
  421. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/hu.d.ts +5 -0
  422. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/hu.d.ts.map +1 -0
  423. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/hu.js +108 -0
  424. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/hy.d.ts +5 -0
  425. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/hy.d.ts.map +1 -0
  426. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/hy.js +147 -0
  427. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/id.d.ts +5 -0
  428. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/id.d.ts.map +1 -0
  429. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/id.js +106 -0
  430. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/index.d.ts +50 -0
  431. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/index.d.ts.map +1 -0
  432. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/index.js +49 -0
  433. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/is.d.ts +5 -0
  434. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/is.d.ts.map +1 -0
  435. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/is.js +109 -0
  436. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/it.d.ts +5 -0
  437. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/it.d.ts.map +1 -0
  438. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/it.js +108 -0
  439. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ja.d.ts +5 -0
  440. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ja.d.ts.map +1 -0
  441. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ja.js +107 -0
  442. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ka.d.ts +5 -0
  443. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ka.d.ts.map +1 -0
  444. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ka.js +112 -0
  445. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/kh.d.ts +6 -0
  446. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/kh.d.ts.map +1 -0
  447. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/kh.js +5 -0
  448. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/km.d.ts +5 -0
  449. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/km.d.ts.map +1 -0
  450. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/km.js +110 -0
  451. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ko.d.ts +5 -0
  452. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ko.d.ts.map +1 -0
  453. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ko.js +111 -0
  454. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/lt.d.ts +5 -0
  455. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/lt.d.ts.map +1 -0
  456. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/lt.js +203 -0
  457. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/mk.d.ts +5 -0
  458. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/mk.d.ts.map +1 -0
  459. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/mk.js +109 -0
  460. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ms.d.ts +5 -0
  461. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ms.d.ts.map +1 -0
  462. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ms.js +107 -0
  463. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/nl.d.ts +5 -0
  464. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/nl.d.ts.map +1 -0
  465. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/nl.js +110 -0
  466. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/no.d.ts +5 -0
  467. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/no.d.ts.map +1 -0
  468. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/no.js +108 -0
  469. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ota.d.ts +5 -0
  470. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ota.d.ts.map +1 -0
  471. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ota.js +109 -0
  472. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/pl.d.ts +5 -0
  473. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/pl.d.ts.map +1 -0
  474. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/pl.js +109 -0
  475. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ps.d.ts +5 -0
  476. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ps.d.ts.map +1 -0
  477. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ps.js +114 -0
  478. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/pt.d.ts +5 -0
  479. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/pt.d.ts.map +1 -0
  480. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/pt.js +108 -0
  481. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ru.d.ts +5 -0
  482. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ru.d.ts.map +1 -0
  483. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ru.js +156 -0
  484. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/sl.d.ts +5 -0
  485. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/sl.d.ts.map +1 -0
  486. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/sl.js +109 -0
  487. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/sv.d.ts +5 -0
  488. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/sv.d.ts.map +1 -0
  489. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/sv.js +110 -0
  490. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ta.d.ts +5 -0
  491. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ta.d.ts.map +1 -0
  492. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ta.js +110 -0
  493. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/th.d.ts +5 -0
  494. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/th.d.ts.map +1 -0
  495. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/th.js +110 -0
  496. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/tr.d.ts +5 -0
  497. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/tr.d.ts.map +1 -0
  498. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/tr.js +105 -0
  499. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ua.d.ts +6 -0
  500. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ua.d.ts.map +1 -0
  501. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ua.js +5 -0
  502. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/uk.d.ts +5 -0
  503. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/uk.d.ts.map +1 -0
  504. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/uk.js +108 -0
  505. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ur.d.ts +5 -0
  506. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ur.d.ts.map +1 -0
  507. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/ur.js +110 -0
  508. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/uz.d.ts +5 -0
  509. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/uz.d.ts.map +1 -0
  510. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/uz.js +109 -0
  511. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/vi.d.ts +5 -0
  512. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/vi.d.ts.map +1 -0
  513. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/vi.js +108 -0
  514. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/yo.d.ts +5 -0
  515. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/yo.d.ts.map +1 -0
  516. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/yo.js +107 -0
  517. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/zh-CN.d.ts +5 -0
  518. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/zh-CN.d.ts.map +1 -0
  519. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/zh-CN.js +109 -0
  520. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/zh-TW.d.ts +5 -0
  521. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/zh-TW.d.ts.map +1 -0
  522. package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/zh-TW.js +107 -0
  523. package/esm/lib/cli.d.ts +34 -0
  524. package/esm/lib/cli.d.ts.map +1 -0
  525. package/esm/lib/cli.js +176 -0
  526. package/esm/lib/command.d.ts +54 -0
  527. package/esm/lib/command.d.ts.map +1 -0
  528. package/esm/lib/command.js +121 -0
  529. package/esm/lib/output.d.ts +33 -0
  530. package/esm/lib/output.d.ts.map +1 -0
  531. package/esm/lib/output.js +114 -0
  532. package/esm/lib/paths.d.ts +3 -0
  533. package/esm/lib/paths.d.ts.map +1 -0
  534. package/esm/lib/paths.js +5 -0
  535. package/esm/main.d.ts +9 -0
  536. package/esm/main.d.ts.map +1 -0
  537. package/esm/main.js +69 -0
  538. package/esm/package.json +3 -0
  539. package/esm/src/cli/commands/create.d.ts +2 -0
  540. package/esm/src/cli/commands/create.d.ts.map +1 -0
  541. package/esm/src/cli/commands/create.js +281 -0
  542. package/esm/src/cli/commands/deploy.d.ts +2 -0
  543. package/esm/src/cli/commands/deploy.d.ts.map +1 -0
  544. package/esm/src/cli/commands/deploy.js +251 -0
  545. package/esm/src/cli/commands/destroy.d.ts +2 -0
  546. package/esm/src/cli/commands/destroy.d.ts.map +1 -0
  547. package/esm/src/cli/commands/destroy.js +133 -0
  548. package/esm/src/cli/commands/doctor.d.ts +2 -0
  549. package/esm/src/cli/commands/doctor.d.ts.map +1 -0
  550. package/esm/src/cli/commands/doctor.js +141 -0
  551. package/esm/src/cli/commands/list.d.ts +2 -0
  552. package/esm/src/cli/commands/list.d.ts.map +1 -0
  553. package/esm/src/cli/commands/list.js +94 -0
  554. package/esm/src/cli/commands/status.d.ts +2 -0
  555. package/esm/src/cli/commands/status.d.ts.map +1 -0
  556. package/esm/src/cli/commands/status.js +148 -0
  557. package/esm/src/cli/mod.d.ts +13 -0
  558. package/esm/src/cli/mod.d.ts.map +1 -0
  559. package/esm/src/cli/mod.js +93 -0
  560. package/esm/src/credentials.d.ts +13 -0
  561. package/esm/src/credentials.d.ts.map +1 -0
  562. package/esm/src/credentials.js +72 -0
  563. package/esm/src/discovery.d.ts +32 -0
  564. package/esm/src/discovery.d.ts.map +1 -0
  565. package/esm/src/discovery.js +79 -0
  566. package/esm/src/docker/router/Dockerfile +43 -0
  567. package/esm/src/docker/router/fly.toml +15 -0
  568. package/esm/src/docker/router/start.sh +146 -0
  569. package/esm/src/guard.d.ts +33 -0
  570. package/esm/src/guard.d.ts.map +1 -0
  571. package/esm/src/guard.js +148 -0
  572. package/esm/src/providers/fly.d.ts +60 -0
  573. package/esm/src/providers/fly.d.ts.map +1 -0
  574. package/esm/src/providers/fly.js +384 -0
  575. package/esm/src/providers/tailscale.d.ts +31 -0
  576. package/esm/src/providers/tailscale.d.ts.map +1 -0
  577. package/esm/src/providers/tailscale.js +195 -0
  578. package/esm/src/resolve.d.ts +11 -0
  579. package/esm/src/resolve.d.ts.map +1 -0
  580. package/esm/src/resolve.js +36 -0
  581. package/esm/src/schemas/config.d.ts +5 -0
  582. package/esm/src/schemas/config.d.ts.map +1 -0
  583. package/esm/src/schemas/config.js +22 -0
  584. package/esm/src/schemas/fly.d.ts +172 -0
  585. package/esm/src/schemas/fly.d.ts.map +1 -0
  586. package/esm/src/schemas/fly.js +144 -0
  587. package/esm/src/schemas/tailscale.d.ts +65 -0
  588. package/esm/src/schemas/tailscale.d.ts.map +1 -0
  589. package/esm/src/schemas/tailscale.js +73 -0
  590. package/package.json +59 -0
@@ -0,0 +1,384 @@
1
+ // =============================================================================
2
+ // Fly.io Provider - Wraps flyctl CLI
3
+ // =============================================================================
4
+ import "../../_dnt.polyfills.js";
5
+ import * as dntShim from "../../_dnt.shims.js";
6
+ import { runCommand, runCommandJson, runInteractive, runQuiet, } from "../../lib/command.js";
7
+ import { commandExists, die, Spinner } from "../../lib/cli.js";
8
+ import { dirname, resolve } from "../../deps/jsr.io/@std/path/1.1.4/mod.js";
9
+ import { FlyAppInfoListSchema, FlyAppsListSchema, FlyAuthSchema, FlyIpListSchema, FlyMachinesListSchema, FlyOrgsSchema, FlyStatusSchema, mapFlyMachineSize, mapFlyMachineState, } from "../schemas/fly.js";
10
+ import { fileExists } from "../../lib/cli.js";
11
+ // =============================================================================
12
+ // Constants
13
+ // =============================================================================
14
+ const ROUTER_APP_PREFIX = "ambit-";
15
+ export const getSizeConfig = (size) => {
16
+ switch (size) {
17
+ case "shared-cpu-1x":
18
+ return { cpus: 1, memoryMb: 1024 };
19
+ case "shared-cpu-2x":
20
+ return { cpus: 2, memoryMb: 2048 };
21
+ case "shared-cpu-4x":
22
+ return { cpus: 4, memoryMb: 4096 };
23
+ }
24
+ };
25
+ // =============================================================================
26
+ // Create Fly Provider
27
+ // =============================================================================
28
+ export const createFlyProvider = () => {
29
+ return {
30
+ async ensureInstalled() {
31
+ if (!(await commandExists("fly"))) {
32
+ return die("Flyctl Not Found. Install from https://fly.io/docs/flyctl/install/");
33
+ }
34
+ },
35
+ async ensureAuth(options) {
36
+ const interactive = options?.interactive ?? true;
37
+ const result = await runCommand(["fly", "auth", "whoami", "--json"]);
38
+ if (result.success) {
39
+ try {
40
+ const parsed = FlyAuthSchema.safeParse(JSON.parse(result.stdout));
41
+ if (parsed.success) {
42
+ return parsed.data.email;
43
+ }
44
+ }
45
+ catch {
46
+ // Parse failed, need to authenticate
47
+ }
48
+ }
49
+ if (!interactive) {
50
+ return die("Not Authenticated with Fly.io. Run 'fly auth login' First");
51
+ }
52
+ const loginResult = await runInteractive(["fly", "auth", "login"]);
53
+ if (!loginResult.success) {
54
+ return die("Fly.io Authentication Failed");
55
+ }
56
+ const checkResult = await runCommand(["fly", "auth", "whoami", "--json"]);
57
+ if (!checkResult.success) {
58
+ return die("Fly.io Authentication Verification Failed");
59
+ }
60
+ const parsed = FlyAuthSchema.safeParse(JSON.parse(checkResult.stdout));
61
+ if (!parsed.success || !parsed.data) {
62
+ return die("Fly.io Authentication Response Invalid");
63
+ }
64
+ return parsed.data.email;
65
+ },
66
+ async listOrgs() {
67
+ const result = await runCommandJson(["fly", "orgs", "list", "--json"]);
68
+ if (!result.success || !result.data) {
69
+ return die("Failed to List Organizations");
70
+ }
71
+ const parsed = FlyOrgsSchema.safeParse(result.data);
72
+ if (!parsed.success) {
73
+ return die("Failed to Parse Organizations");
74
+ }
75
+ return parsed.data;
76
+ },
77
+ async listApps(org) {
78
+ const args = ["fly", "apps", "list", "--json"];
79
+ if (org) {
80
+ args.push("--org", org);
81
+ }
82
+ const result = await runCommand(args);
83
+ if (!result.success) {
84
+ return [];
85
+ }
86
+ try {
87
+ const parsed = FlyAppsListSchema.safeParse(JSON.parse(result.stdout));
88
+ return parsed.success ? parsed.data : [];
89
+ }
90
+ catch {
91
+ return [];
92
+ }
93
+ },
94
+ async createApp(name, org, options) {
95
+ const args = ["fly", "apps", "create", name, "--org", org, "--json"];
96
+ if (options?.network) {
97
+ args.push("--network", options.network);
98
+ }
99
+ const result = await runQuiet("Creating App", args);
100
+ if (!result.success) {
101
+ return die(`Failed to Create App '${name}'`);
102
+ }
103
+ },
104
+ async deleteApp(name) {
105
+ const result = await runQuiet("Deleting App", [
106
+ "fly",
107
+ "apps",
108
+ "destroy",
109
+ name,
110
+ "--yes",
111
+ ]);
112
+ if (!result.success) {
113
+ return die(`Failed to Delete App '${name}'`);
114
+ }
115
+ },
116
+ async appExists(name) {
117
+ const result = await runCommand(["fly", "status", "-a", name, "--json"]);
118
+ if (!result.success)
119
+ return false;
120
+ try {
121
+ const parsed = FlyStatusSchema.safeParse(JSON.parse(result.stdout));
122
+ return parsed.success && !!parsed.data.ID;
123
+ }
124
+ catch {
125
+ return false;
126
+ }
127
+ },
128
+ async listMachines(app) {
129
+ const result = await runCommandJson(["fly", "machines", "list", "-a", app, "--json"]);
130
+ if (!result.success || !result.data) {
131
+ return [];
132
+ }
133
+ const parsed = FlyMachinesListSchema.safeParse(result.data);
134
+ return parsed.success ? parsed.data : [];
135
+ },
136
+ async listMachinesMapped(app) {
137
+ const raw = await this.listMachines(app);
138
+ return raw.map((m) => ({
139
+ id: m.id,
140
+ state: mapFlyMachineState(m.state),
141
+ size: mapFlyMachineSize(m.config?.guest),
142
+ region: m.region,
143
+ privateIp: m.private_ip,
144
+ }));
145
+ },
146
+ async createMachine(app, config) {
147
+ const existingMachines = await this.listMachinesMapped(app);
148
+ if (existingMachines.length === 0) {
149
+ return die("No Existing Machine to Clone. Run 'fly deploy' First");
150
+ }
151
+ const sourceMachine = existingMachines[0];
152
+ const sizeConfig = getSizeConfig(config.size);
153
+ const memoryMb = config.memoryMb ?? sizeConfig.memoryMb;
154
+ const args = [
155
+ "fly",
156
+ "machine",
157
+ "clone",
158
+ sourceMachine.id,
159
+ "-a",
160
+ app,
161
+ "--vm-cpus",
162
+ String(sizeConfig.cpus),
163
+ "--vm-memory",
164
+ String(memoryMb),
165
+ ];
166
+ if (config.region) {
167
+ args.push("--region", config.region);
168
+ }
169
+ const spinner = new Spinner();
170
+ spinner.start(`Creating ${config.size} Machine`);
171
+ const result = await runCommand(args);
172
+ if (!result.success) {
173
+ spinner.fail("Machine Creation Failed");
174
+ return die(result.stderr || "Unknown Error");
175
+ }
176
+ spinner.success(`Created ${config.size} Machine`);
177
+ const machines = await this.listMachinesMapped(app);
178
+ const newest = machines[machines.length - 1];
179
+ if (!newest) {
180
+ return die("Created Machine Not Found");
181
+ }
182
+ return newest;
183
+ },
184
+ async destroyMachine(app, machineId) {
185
+ const shortId = machineId.slice(0, 8);
186
+ const result = await runQuiet(`Destroying Machine ${shortId}`, [
187
+ "fly",
188
+ "machines",
189
+ "destroy",
190
+ machineId,
191
+ "-a",
192
+ app,
193
+ "--force",
194
+ ]);
195
+ if (!result.success) {
196
+ return die(`Failed to Destroy Machine '${shortId}'`);
197
+ }
198
+ },
199
+ async setSecrets(app, secrets, options) {
200
+ const pairs = Object.entries(secrets)
201
+ .filter(([_, v]) => v !== undefined && v !== "")
202
+ .map(([k, v]) => `${k}=${v}`);
203
+ if (pairs.length === 0)
204
+ return;
205
+ const args = ["fly", "secrets", "set", ...pairs, "-a", app];
206
+ if (options?.stage) {
207
+ args.push("--stage");
208
+ }
209
+ const result = await runQuiet(`Setting ${pairs.length} Secret(s)`, args);
210
+ if (!result.success) {
211
+ return die("Failed to Set Secrets");
212
+ }
213
+ },
214
+ async routerDeploy(app, dockerDir, config) {
215
+ const args = [
216
+ "fly",
217
+ "deploy",
218
+ dockerDir,
219
+ "-a",
220
+ app,
221
+ "--yes",
222
+ "--ha=false",
223
+ ];
224
+ if (config?.region) {
225
+ args.push("--primary-region", config.region);
226
+ }
227
+ const result = await runCommand(args);
228
+ if (!result.success) {
229
+ console.error(result.stderr);
230
+ return die(`Deploy Failed for '${app}'`);
231
+ }
232
+ },
233
+ async listIps(app) {
234
+ const result = await runCommand([
235
+ "fly",
236
+ "ips",
237
+ "list",
238
+ "-a",
239
+ app,
240
+ "--json",
241
+ ]);
242
+ if (!result.success)
243
+ return [];
244
+ try {
245
+ const parsed = FlyIpListSchema.safeParse(JSON.parse(result.stdout));
246
+ return parsed.success ? parsed.data : [];
247
+ }
248
+ catch {
249
+ return [];
250
+ }
251
+ },
252
+ async releaseIp(app, address) {
253
+ const result = await runCommand([
254
+ "fly",
255
+ "ips",
256
+ "release",
257
+ address,
258
+ "-a",
259
+ app,
260
+ ]);
261
+ if (!result.success) {
262
+ return die(`Failed to Release IP ${address} from '${app}'`);
263
+ }
264
+ },
265
+ async allocateFlycastIp(app, network) {
266
+ const result = await runCommand([
267
+ "fly",
268
+ "ips",
269
+ "allocate-v6",
270
+ "--private",
271
+ "--network",
272
+ network,
273
+ "-a",
274
+ app,
275
+ ]);
276
+ if (!result.success) {
277
+ return die(`Failed to Allocate Flycast IP on Network '${network}'`);
278
+ }
279
+ },
280
+ async getConfig(app) {
281
+ const result = await runCommand(["fly", "config", "show", "-a", app]);
282
+ if (!result.success)
283
+ return null;
284
+ try {
285
+ return JSON.parse(result.stdout);
286
+ }
287
+ catch {
288
+ return null;
289
+ }
290
+ },
291
+ async deploySafe(app, options) {
292
+ const args = ["fly", "deploy"];
293
+ // When config is provided, use its parent directory as the build context
294
+ // so fly deploy finds the Dockerfile and COPY picks up the correct files
295
+ if (options.config) {
296
+ const configAbs = resolve(options.config);
297
+ args.push(dirname(configAbs));
298
+ args.push("--config", configAbs);
299
+ }
300
+ args.push("-a", app, "--yes", "--no-public-ips");
301
+ if (options.image) {
302
+ args.push("--image", options.image);
303
+ }
304
+ if (options.region) {
305
+ args.push("--primary-region", options.region);
306
+ }
307
+ const result = await runCommand(args);
308
+ if (!result.success) {
309
+ console.error(result.stderr);
310
+ return die(`Deploy Failed for '${app}'`);
311
+ }
312
+ },
313
+ async listCerts(app) {
314
+ const result = await runCommand([
315
+ "fly",
316
+ "certs",
317
+ "list",
318
+ "-a",
319
+ app,
320
+ "--json",
321
+ ]);
322
+ if (!result.success)
323
+ return [];
324
+ try {
325
+ const certs = JSON.parse(result.stdout);
326
+ return certs
327
+ .map((c) => c.Hostname)
328
+ .filter((h) => typeof h === "string");
329
+ }
330
+ catch {
331
+ return [];
332
+ }
333
+ },
334
+ async removeCert(app, hostname) {
335
+ await runCommand([
336
+ "fly",
337
+ "certs",
338
+ "remove",
339
+ hostname,
340
+ "-a",
341
+ app,
342
+ "--yes",
343
+ ]);
344
+ },
345
+ async getFlyToken() {
346
+ // Read access_token from ~/.fly/config.yml
347
+ const home = dntShim.Deno.env.get("HOME") || dntShim.Deno.env.get("USERPROFILE") || "";
348
+ const configPath = `${home}/.fly/config.yml`;
349
+ if (!(await fileExists(configPath))) {
350
+ return die("Fly Config Not Found at ~/.fly/config.yml. Run 'fly auth login' First");
351
+ }
352
+ const content = await dntShim.Deno.readTextFile(configPath);
353
+ const match = content.match(/access_token:\s*(.+)/);
354
+ if (!match || !match[1]) {
355
+ return die("No Access Token Found in ~/.fly/config.yml. Run 'fly auth login' First");
356
+ }
357
+ return match[1].trim();
358
+ },
359
+ async listAppsWithNetwork(org) {
360
+ const token = await this.getFlyToken();
361
+ const response = await fetch(`https://api.machines.dev/v1/apps?org_slug=${encodeURIComponent(org)}`, {
362
+ headers: {
363
+ Authorization: `Bearer ${token}`,
364
+ "Content-Type": "application/json",
365
+ },
366
+ });
367
+ if (!response.ok) {
368
+ return die(`Failed to List Apps via REST API: HTTP ${response.status}`);
369
+ }
370
+ const data = await response.json();
371
+ const parsed = FlyAppInfoListSchema.safeParse(data);
372
+ if (!parsed.success) {
373
+ return die("Failed to Parse Apps REST API Response");
374
+ }
375
+ return parsed.data.apps;
376
+ },
377
+ };
378
+ };
379
+ // =============================================================================
380
+ // Router App Naming
381
+ // =============================================================================
382
+ export const getRouterAppName = (network, randomSuffix) => {
383
+ return `${ROUTER_APP_PREFIX}${network}-${randomSuffix}`;
384
+ };
@@ -0,0 +1,31 @@
1
+ import "../../_dnt.polyfills.js";
2
+ import { type AuthKeyCapabilities, type TailscaleDevice } from "../schemas/tailscale.js";
3
+ export interface TailscaleProvider {
4
+ validateApiKey(): Promise<boolean>;
5
+ createAuthKey(opts?: AuthKeyCapabilities): Promise<string>;
6
+ listDevices(): Promise<TailscaleDevice[]>;
7
+ getDeviceByHostname(hostname: string): Promise<TailscaleDevice | null>;
8
+ deleteDevice(id: string): Promise<void>;
9
+ approveSubnetRoutes(deviceId: string, routes: string[]): Promise<void>;
10
+ setSplitDns(domain: string, nameservers: string[]): Promise<void>;
11
+ clearSplitDns(domain: string): Promise<void>;
12
+ getPolicyFile(): Promise<Record<string, unknown> | null>;
13
+ isTagOwnerConfigured(tag: string): Promise<boolean>;
14
+ isAutoApproverConfigured(tag: string): Promise<boolean>;
15
+ }
16
+ export declare const createTailscaleProvider: (tailnet: string, apiKey: string) => TailscaleProvider;
17
+ export declare const waitForDevice: (provider: TailscaleProvider, hostname: string, timeoutMs?: number) => Promise<TailscaleDevice>;
18
+ /**
19
+ * Check if the tailscale CLI is installed.
20
+ */
21
+ export declare const isTailscaleInstalled: () => Promise<boolean>;
22
+ /**
23
+ * Check if accept-routes is enabled on the local client.
24
+ */
25
+ export declare const isAcceptRoutesEnabled: () => Promise<boolean>;
26
+ /**
27
+ * Enable accept-routes on the local client.
28
+ * Returns true if successful, false if it failed (likely permissions).
29
+ */
30
+ export declare const enableAcceptRoutes: () => Promise<boolean>;
31
+ //# sourceMappingURL=tailscale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailscale.d.ts","sourceRoot":"","sources":["../../../src/src/providers/tailscale.ts"],"names":[],"mappings":"AAGA,OAAO,yBAAyB,CAAC;AAKjC,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAYjC,MAAM,WAAW,iBAAiB;IAChC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,aAAa,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACvE,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACzD,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAiBD,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,QAAQ,MAAM,KACb,iBAoMF,CAAC;AAMF,eAAO,MAAM,aAAa,GACxB,UAAU,iBAAiB,EAC3B,UAAU,MAAM,EAChB,YAAW,MAAe,KACzB,OAAO,CAAC,eAAe,CAazB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAa,OAAO,CAAC,OAAO,CAE5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAa,OAAO,CAAC,OAAO,CAY7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,OAAO,CAG1D,CAAC"}
@@ -0,0 +1,195 @@
1
+ // =============================================================================
2
+ // Tailscale API Client
3
+ // =============================================================================
4
+ import "../../_dnt.polyfills.js";
5
+ import { commandExists, die } from "../../lib/cli.js";
6
+ import { runCommand } from "../../lib/command.js";
7
+ import { createAuthKeyPayload, TailscaleDevicesListSchema, } from "../schemas/tailscale.js";
8
+ // =============================================================================
9
+ // Constants
10
+ // =============================================================================
11
+ const API_BASE = "https://api.tailscale.com/api/v2";
12
+ // =============================================================================
13
+ // Create Tailscale Provider
14
+ // =============================================================================
15
+ export const createTailscaleProvider = (tailnet, apiKey) => {
16
+ const headers = () => ({
17
+ "Content-Type": "application/json",
18
+ Accept: "application/json",
19
+ Authorization: `Basic ${btoa(apiKey + ":")}`,
20
+ });
21
+ const request = async (method, path, body) => {
22
+ try {
23
+ const response = await fetch(`${API_BASE}${path}`, {
24
+ method,
25
+ headers: headers(),
26
+ body: body ? JSON.stringify(body) : undefined,
27
+ });
28
+ if (!response.ok) {
29
+ const text = await response.text();
30
+ return {
31
+ ok: false,
32
+ status: response.status,
33
+ error: text || `HTTP ${response.status}`,
34
+ };
35
+ }
36
+ const text = await response.text();
37
+ if (!text) {
38
+ return { ok: true, status: response.status };
39
+ }
40
+ return { ok: true, status: response.status, data: JSON.parse(text) };
41
+ }
42
+ catch (error) {
43
+ return {
44
+ ok: false,
45
+ status: 0,
46
+ error: error instanceof Error ? error.message : String(error),
47
+ };
48
+ }
49
+ };
50
+ const effectiveTailnet = tailnet || "-";
51
+ return {
52
+ async validateApiKey() {
53
+ const result = await request("GET", `/tailnet/${effectiveTailnet}/devices`);
54
+ return result.ok;
55
+ },
56
+ async createAuthKey(opts) {
57
+ const payload = createAuthKeyPayload(opts ?? {});
58
+ const result = await request("POST", `/tailnet/${effectiveTailnet}/keys`, payload);
59
+ if (!result.ok || !result.data?.key) {
60
+ return die(`Failed to Create Auth Key: ${result.error}`);
61
+ }
62
+ return result.data.key;
63
+ },
64
+ async listDevices() {
65
+ const result = await request("GET", `/tailnet/${effectiveTailnet}/devices`);
66
+ if (!result.ok) {
67
+ return die(`Failed to List Devices: ${result.error}`);
68
+ }
69
+ const parsed = TailscaleDevicesListSchema.safeParse(result.data);
70
+ return parsed.success ? parsed.data.devices : [];
71
+ },
72
+ async getDeviceByHostname(hostname) {
73
+ const devices = await this.listDevices();
74
+ // Exact match first (expected with persistent state)
75
+ const exact = devices.find((d) => d.hostname === hostname);
76
+ if (exact)
77
+ return exact;
78
+ // Fallback: find by prefix if Tailscale added suffix (e.g., hostname-1)
79
+ // Prefer online devices, then most recently seen
80
+ const prefixMatches = devices
81
+ .filter((d) => d.hostname.startsWith(hostname + "-"))
82
+ .sort((a, b) => {
83
+ if (a.online && !b.online)
84
+ return -1;
85
+ if (!a.online && b.online)
86
+ return 1;
87
+ const aTime = a.lastSeen ? new Date(a.lastSeen).getTime() : 0;
88
+ const bTime = b.lastSeen ? new Date(b.lastSeen).getTime() : 0;
89
+ return bTime - aTime;
90
+ });
91
+ return prefixMatches[0] ?? null;
92
+ },
93
+ async deleteDevice(id) {
94
+ const result = await request("DELETE", `/device/${id}`);
95
+ if (!result.ok) {
96
+ return die(`Failed to Delete Device: ${result.error}`);
97
+ }
98
+ },
99
+ async approveSubnetRoutes(deviceId, routes) {
100
+ const result = await request("POST", `/device/${deviceId}/routes`, { routes });
101
+ if (!result.ok) {
102
+ return die(`Failed to Approve Routes: ${result.error}`);
103
+ }
104
+ },
105
+ async setSplitDns(domain, nameservers) {
106
+ // PATCH performs partial update - only specified domains are modified
107
+ const result = await request("PATCH", `/tailnet/${effectiveTailnet}/dns/split-dns`, { [domain]: nameservers });
108
+ if (!result.ok) {
109
+ return die(`Failed to Configure Split DNS: ${result.error}`);
110
+ }
111
+ },
112
+ async clearSplitDns(domain) {
113
+ const result = await request("PATCH", `/tailnet/${effectiveTailnet}/dns/split-dns`, { [domain]: null });
114
+ if (!result.ok) {
115
+ return die(`Failed to Clear Split DNS: ${result.error}`);
116
+ }
117
+ },
118
+ async getPolicyFile() {
119
+ const result = await request("GET", `/tailnet/${effectiveTailnet}/acl`);
120
+ if (!result.ok || !result.data) {
121
+ return null;
122
+ }
123
+ return result.data;
124
+ },
125
+ async isTagOwnerConfigured(tag) {
126
+ const policy = await this.getPolicyFile();
127
+ if (!policy)
128
+ return false;
129
+ const tagOwners = policy.tagOwners;
130
+ if (!tagOwners)
131
+ return false;
132
+ return tag in tagOwners;
133
+ },
134
+ async isAutoApproverConfigured(tag) {
135
+ const policy = await this.getPolicyFile();
136
+ if (!policy)
137
+ return false;
138
+ const autoApprovers = policy.autoApprovers;
139
+ if (!autoApprovers)
140
+ return false;
141
+ const routes = autoApprovers.routes;
142
+ if (!routes)
143
+ return false;
144
+ return Object.values(routes).some((approvers) => Array.isArray(approvers) && approvers.includes(tag));
145
+ },
146
+ };
147
+ };
148
+ // =============================================================================
149
+ // Wait for Device
150
+ // =============================================================================
151
+ export const waitForDevice = async (provider, hostname, timeoutMs = 120000) => {
152
+ const startTime = Date.now();
153
+ const pollInterval = 5000;
154
+ while (Date.now() - startTime < timeoutMs) {
155
+ const device = await provider.getDeviceByHostname(hostname);
156
+ if (device) {
157
+ return device;
158
+ }
159
+ await new Promise((resolve) => setTimeout(resolve, pollInterval));
160
+ }
161
+ return die(`Timeout Waiting for Device '${hostname}'`);
162
+ };
163
+ // =============================================================================
164
+ // Local Tailscale CLI
165
+ // =============================================================================
166
+ /**
167
+ * Check if the tailscale CLI is installed.
168
+ */
169
+ export const isTailscaleInstalled = async () => {
170
+ return await commandExists("tailscale");
171
+ };
172
+ /**
173
+ * Check if accept-routes is enabled on the local client.
174
+ */
175
+ export const isAcceptRoutesEnabled = async () => {
176
+ const result = await runCommand(["tailscale", "debug", "prefs"]);
177
+ if (!result.success) {
178
+ return false;
179
+ }
180
+ try {
181
+ const prefs = JSON.parse(result.stdout);
182
+ return prefs.RouteAll === true;
183
+ }
184
+ catch {
185
+ return false;
186
+ }
187
+ };
188
+ /**
189
+ * Enable accept-routes on the local client.
190
+ * Returns true if successful, false if it failed (likely permissions).
191
+ */
192
+ export const enableAcceptRoutes = async () => {
193
+ const result = await runCommand(["tailscale", "set", "--accept-routes"]);
194
+ return result.success;
195
+ };
@@ -0,0 +1,11 @@
1
+ import "../_dnt.polyfills.js";
2
+ import type { Output } from "../lib/output.js";
3
+ import type { FlyProvider } from "./providers/fly.js";
4
+ /**
5
+ * Resolve Fly.io organization: --org flag → single org auto-select → prompt.
6
+ */
7
+ export declare const resolveOrg: (fly: FlyProvider, args: {
8
+ org?: string;
9
+ json?: boolean;
10
+ }, out: Output<Record<string, unknown>>) => Promise<string>;
11
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/src/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,WAAW,EAChB,MAAM;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EACtC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACnC,OAAO,CAAC,MAAM,CA6BhB,CAAC"}
@@ -0,0 +1,36 @@
1
+ // =============================================================================
2
+ // Resolve - Org Resolution Helper
3
+ // =============================================================================
4
+ import "../_dnt.polyfills.js";
5
+ import { prompt } from "../lib/cli.js";
6
+ // =============================================================================
7
+ // Resolve Org
8
+ // =============================================================================
9
+ /**
10
+ * Resolve Fly.io organization: --org flag → single org auto-select → prompt.
11
+ */
12
+ export const resolveOrg = async (fly, args, out) => {
13
+ if (args.org)
14
+ return args.org;
15
+ if (args.json) {
16
+ return out.die("--org Is Required in JSON Mode");
17
+ }
18
+ const orgs = await fly.listOrgs();
19
+ const orgSlugs = Object.keys(orgs);
20
+ if (orgSlugs.length === 0) {
21
+ return out.die("No Fly.io Organizations Found");
22
+ }
23
+ if (orgSlugs.length === 1) {
24
+ out.ok(`Using Organization: ${orgSlugs[0]}`);
25
+ return orgSlugs[0];
26
+ }
27
+ out.text("Available Organizations:");
28
+ for (const [slug, name] of Object.entries(orgs)) {
29
+ out.text(` ${slug} - ${name}`);
30
+ }
31
+ const org = await prompt("Organization Slug: ");
32
+ if (!orgSlugs.includes(org)) {
33
+ return out.die(`Invalid Organization: ${org}`);
34
+ }
35
+ return org;
36
+ };
@@ -0,0 +1,5 @@
1
+ import "../../_dnt.polyfills.js";
2
+ export declare const getRouterTag: (network: string) => string;
3
+ export declare const extractSubnet: (privateIp: string) => string;
4
+ export declare const getConfigDir: () => string;
5
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/src/schemas/config.ts"],"names":[],"mappings":"AAOA,OAAO,yBAAyB,CAAC;AAKjC,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,MACvB,CAAC;AAEzB,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,KAAG,MAKjD,CAAC;AAMF,eAAO,MAAM,YAAY,QAAO,MAG/B,CAAC"}