windmill-cli 1.586.0 → 1.586.1

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 (475) hide show
  1. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_create_walk_entry.js +2 -2
  2. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_same_path.js +1 -1
  3. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_subdir.js +2 -2
  4. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_to_path_string.js +1 -1
  5. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/copy.js +5 -4
  6. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/empty_dir.js +1 -1
  7. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_file.js +1 -1
  8. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_link.js +1 -1
  9. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_symlink.js +4 -3
  10. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/expand_glob.js +12 -36
  11. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/move.js +1 -2
  12. package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/walk.js +1 -1
  13. package/esm/deps/jsr.io/@std/io/0.225.2/read_all.js +1 -1
  14. package/esm/deps/jsr.io/@std/log/0.224.14/console_handler.js +1 -1
  15. package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
  16. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/assert_path.js +1 -1
  17. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/basename.js +1 -1
  18. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/common.js +1 -1
  19. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/constants.js +1 -1
  20. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/dirname.js +1 -1
  21. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/format.js +1 -1
  22. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/from_file_url.js +1 -1
  23. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/glob_to_reg_exp.js +1 -1
  24. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize.js +1 -1
  25. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize_string.js +1 -1
  26. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/relative.js +1 -1
  27. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/strip_trailing_separators.js +1 -1
  28. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/to_file_url.js +1 -1
  29. package/esm/deps/jsr.io/@std/path/1.0.8/_os.js +9 -0
  30. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/basename.js +5 -4
  31. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/common.js +1 -1
  32. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/constants.js +2 -2
  33. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/dirname.js +5 -4
  34. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/extname.js +5 -4
  35. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/format.js +2 -2
  36. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/from_file_url.js +2 -2
  37. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/glob_to_regexp.js +2 -2
  38. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_absolute.js +2 -2
  39. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_glob.js +2 -2
  40. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join.js +7 -7
  41. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join_globs.js +2 -2
  42. package/esm/deps/jsr.io/@std/path/1.0.8/mod.js +57 -0
  43. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize.js +5 -4
  44. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize_glob.js +2 -2
  45. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/parse.js +2 -2
  46. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/_util.js +1 -1
  47. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/basename.js +4 -7
  48. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/constants.js +1 -1
  49. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/dirname.js +4 -6
  50. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/extname.js +4 -8
  51. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/format.js +1 -1
  52. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/from_file_url.js +1 -1
  53. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/glob_to_regexp.js +1 -1
  54. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/is_absolute.js +1 -1
  55. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join.js +8 -11
  56. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join_globs.js +1 -1
  57. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize.js +6 -7
  58. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize_glob.js +1 -1
  59. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/parse.js +1 -1
  60. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/relative.js +1 -1
  61. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/resolve.js +1 -1
  62. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_file_url.js +1 -1
  63. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_namespaced_path.js +1 -1
  64. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/relative.js +2 -2
  65. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/resolve.js +2 -2
  66. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_file_url.js +2 -2
  67. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_namespaced_path.js +2 -2
  68. package/esm/deps/jsr.io/@std/path/1.0.8/types.js +3 -0
  69. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/_util.js +1 -1
  70. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/basename.js +4 -7
  71. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/constants.js +1 -1
  72. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/dirname.js +6 -7
  73. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/extname.js +6 -7
  74. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/format.js +1 -1
  75. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/from_file_url.js +1 -1
  76. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/glob_to_regexp.js +1 -1
  77. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/is_absolute.js +1 -1
  78. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join.js +7 -10
  79. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join_globs.js +1 -1
  80. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize.js +6 -7
  81. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize_glob.js +1 -1
  82. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/parse.js +1 -1
  83. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/relative.js +1 -1
  84. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/resolve.js +1 -1
  85. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_file_url.js +1 -1
  86. package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_namespaced_path.js +1 -1
  87. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_chars.js +1 -1
  88. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_dumper_state.js +5 -14
  89. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_loader_state.js +150 -168
  90. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_schema.js +6 -11
  91. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/bool.js +1 -1
  92. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/float.js +1 -1
  93. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/int.js +1 -1
  94. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/map.js +1 -1
  95. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/merge.js +1 -1
  96. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/nil.js +1 -1
  97. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/omap.js +1 -1
  98. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/pairs.js +1 -1
  99. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/regexp.js +1 -1
  100. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/seq.js +1 -1
  101. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/set.js +1 -1
  102. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/str.js +1 -1
  103. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/timestamp.js +1 -1
  104. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/undefined.js +1 -1
  105. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type.js +1 -1
  106. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_utils.js +1 -1
  107. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/mod.js +1 -1
  108. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/parse.js +1 -1
  109. package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/stringify.js +1 -1
  110. package/esm/deps/jsr.io/@windmill-labs/shared-utils/1.0.10/lib.es.js +1522 -0
  111. package/esm/deps.js +6 -6
  112. package/esm/gen/services.gen.js +138 -0
  113. package/esm/src/commands/app/app_metadata.js +287 -0
  114. package/esm/src/commands/app/apps.js +65 -31
  115. package/esm/src/commands/app/bundle.js +249 -0
  116. package/esm/src/commands/app/dev.js +591 -0
  117. package/esm/src/commands/app/metadata.js +1 -0
  118. package/esm/src/commands/app/raw_apps.js +212 -0
  119. package/esm/src/commands/app/wmillTsDev.js +89 -0
  120. package/esm/src/commands/dependencies/dependencies.js +66 -0
  121. package/esm/src/commands/dev/dev.js +1 -1
  122. package/esm/src/commands/flow/flow.js +4 -5
  123. package/esm/src/commands/flow/flow_metadata.js +140 -0
  124. package/esm/src/commands/script/script.js +20 -37
  125. package/esm/src/commands/sync/pull.js +5 -3
  126. package/esm/src/commands/sync/sync.js +264 -76
  127. package/esm/src/commands/workspace/fork.js +6 -8
  128. package/esm/src/commands/workspace/workspace.js +7 -4
  129. package/esm/src/core/conf.js +5 -1
  130. package/esm/src/core/context.js +57 -47
  131. package/esm/src/main.js +2 -0
  132. package/esm/src/types.js +33 -16
  133. package/esm/src/utils/metadata.js +58 -178
  134. package/esm/src/utils/script_common.js +5 -5
  135. package/esm/src/utils/utils.js +21 -9
  136. package/package.json +5 -3
  137. package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/_types.d.ts.map +1 -1
  138. package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/concat.d.ts +1 -1
  139. package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/concat.d.ts.map +1 -1
  140. package/types/deps/jsr.io/@std/fmt/{1.0.8 → 1.0.6}/colors.d.ts.map +1 -1
  141. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_create_walk_entry.d.ts.map +1 -1
  142. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_get_file_info_type.d.ts.map +1 -1
  143. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_same_path.d.ts.map +1 -1
  144. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_subdir.d.ts.map +1 -1
  145. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_to_path_string.d.ts.map +1 -1
  146. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/copy.d.ts.map +1 -1
  147. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/empty_dir.d.ts.map +1 -1
  148. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_dir.d.ts.map +1 -1
  149. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_file.d.ts.map +1 -1
  150. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_link.d.ts.map +1 -1
  151. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_symlink.d.ts.map +1 -1
  152. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/eol.d.ts.map +1 -1
  153. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/exists.d.ts.map +1 -1
  154. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/expand_glob.d.ts +1 -1
  155. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/expand_glob.d.ts.map +1 -1
  156. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/mod.d.ts.map +1 -1
  157. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/move.d.ts.map +1 -1
  158. package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/walk.d.ts.map +1 -1
  159. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/assert_path.d.ts.map +1 -1
  160. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/basename.d.ts.map +1 -1
  161. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/common.d.ts.map +1 -1
  162. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/constants.d.ts.map +1 -1
  163. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/dirname.d.ts.map +1 -1
  164. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/format.d.ts.map +1 -1
  165. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/from_file_url.d.ts.map +1 -1
  166. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/glob_to_reg_exp.d.ts.map +1 -1
  167. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize.d.ts.map +1 -1
  168. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize_string.d.ts.map +1 -1
  169. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/relative.d.ts.map +1 -1
  170. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/strip_trailing_separators.d.ts.map +1 -1
  171. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/to_file_url.d.ts.map +1 -1
  172. package/types/deps/jsr.io/@std/path/1.0.8/_os.d.ts +2 -0
  173. package/types/deps/jsr.io/@std/path/1.0.8/_os.d.ts.map +1 -0
  174. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/basename.d.ts +4 -3
  175. package/types/deps/jsr.io/@std/path/1.0.8/basename.d.ts.map +1 -0
  176. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/common.d.ts.map +1 -1
  177. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/constants.d.ts.map +1 -1
  178. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/dirname.d.ts +4 -3
  179. package/types/deps/jsr.io/@std/path/1.0.8/dirname.d.ts.map +1 -0
  180. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/extname.d.ts +4 -3
  181. package/types/deps/jsr.io/@std/path/1.0.8/extname.d.ts.map +1 -0
  182. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/format.d.ts.map +1 -1
  183. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/from_file_url.d.ts.map +1 -1
  184. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/glob_to_regexp.d.ts.map +1 -1
  185. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_absolute.d.ts.map +1 -1
  186. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_glob.d.ts.map +1 -1
  187. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join.d.ts +4 -4
  188. package/types/deps/jsr.io/@std/path/1.0.8/join.d.ts.map +1 -0
  189. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join_globs.d.ts.map +1 -1
  190. package/types/deps/jsr.io/@std/path/1.0.8/mod.d.ts +54 -0
  191. package/types/deps/jsr.io/@std/path/1.0.8/mod.d.ts.map +1 -0
  192. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize.d.ts +4 -3
  193. package/types/deps/jsr.io/@std/path/1.0.8/normalize.d.ts.map +1 -0
  194. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize_glob.d.ts.map +1 -1
  195. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/parse.d.ts.map +1 -1
  196. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/_util.d.ts.map +1 -1
  197. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/basename.d.ts +4 -3
  198. package/types/deps/jsr.io/@std/path/1.0.8/posix/basename.d.ts.map +1 -0
  199. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/constants.d.ts.map +1 -1
  200. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/dirname.d.ts +4 -2
  201. package/types/deps/jsr.io/@std/path/1.0.8/posix/dirname.d.ts.map +1 -0
  202. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/extname.d.ts +4 -4
  203. package/types/deps/jsr.io/@std/path/1.0.8/posix/extname.d.ts.map +1 -0
  204. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/format.d.ts.map +1 -1
  205. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/from_file_url.d.ts.map +1 -1
  206. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/glob_to_regexp.d.ts.map +1 -1
  207. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/is_absolute.d.ts.map +1 -1
  208. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join.d.ts +6 -4
  209. package/types/deps/jsr.io/@std/path/1.0.8/posix/join.d.ts.map +1 -0
  210. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join_globs.d.ts.map +1 -1
  211. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize.d.ts +6 -3
  212. package/types/deps/jsr.io/@std/path/1.0.8/posix/normalize.d.ts.map +1 -0
  213. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize_glob.d.ts.map +1 -1
  214. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/parse.d.ts.map +1 -1
  215. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/relative.d.ts.map +1 -1
  216. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/resolve.d.ts.map +1 -1
  217. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_file_url.d.ts.map +1 -1
  218. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_namespaced_path.d.ts.map +1 -1
  219. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/relative.d.ts.map +1 -1
  220. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/resolve.d.ts.map +1 -1
  221. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_file_url.d.ts.map +1 -1
  222. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_namespaced_path.d.ts.map +1 -1
  223. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/types.d.ts.map +1 -1
  224. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/_util.d.ts.map +1 -1
  225. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/basename.d.ts +4 -3
  226. package/types/deps/jsr.io/@std/path/1.0.8/windows/basename.d.ts.map +1 -0
  227. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/constants.d.ts.map +1 -1
  228. package/types/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts +20 -0
  229. package/types/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts.map +1 -0
  230. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/extname.d.ts +6 -3
  231. package/types/deps/jsr.io/@std/path/1.0.8/windows/extname.d.ts.map +1 -0
  232. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/format.d.ts.map +1 -1
  233. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/from_file_url.d.ts.map +1 -1
  234. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/glob_to_regexp.d.ts.map +1 -1
  235. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/is_absolute.d.ts.map +1 -1
  236. package/types/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts +20 -0
  237. package/types/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts.map +1 -0
  238. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join_globs.d.ts.map +1 -1
  239. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize.d.ts +6 -3
  240. package/types/deps/jsr.io/@std/path/1.0.8/windows/normalize.d.ts.map +1 -0
  241. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize_glob.d.ts.map +1 -1
  242. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/parse.d.ts.map +1 -1
  243. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/relative.d.ts.map +1 -1
  244. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/resolve.d.ts.map +1 -1
  245. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_file_url.d.ts.map +1 -1
  246. package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_namespaced_path.d.ts.map +1 -1
  247. package/types/deps/jsr.io/@std/yaml/1.0.5/_chars.d.ts.map +1 -0
  248. package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_dumper_state.d.ts +1 -8
  249. package/types/deps/jsr.io/@std/yaml/1.0.5/_dumper_state.d.ts.map +1 -0
  250. package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_loader_state.d.ts +8 -14
  251. package/types/deps/jsr.io/@std/yaml/1.0.5/_loader_state.d.ts.map +1 -0
  252. package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_schema.d.ts +3 -7
  253. package/types/deps/jsr.io/@std/yaml/1.0.5/_schema.d.ts.map +1 -0
  254. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/binary.d.ts.map +1 -0
  255. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/bool.d.ts.map +1 -0
  256. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/float.d.ts.map +1 -0
  257. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/int.d.ts.map +1 -0
  258. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/map.d.ts.map +1 -0
  259. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/merge.d.ts.map +1 -0
  260. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/nil.d.ts.map +1 -0
  261. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/omap.d.ts.map +1 -0
  262. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/pairs.d.ts.map +1 -0
  263. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/regexp.d.ts.map +1 -0
  264. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/seq.d.ts.map +1 -0
  265. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/set.d.ts.map +1 -0
  266. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/str.d.ts.map +1 -0
  267. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/timestamp.d.ts.map +1 -0
  268. package/types/deps/jsr.io/@std/yaml/1.0.5/_type/undefined.d.ts.map +1 -0
  269. package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type.d.ts +0 -16
  270. package/types/deps/jsr.io/@std/yaml/1.0.5/_type.d.ts.map +1 -0
  271. package/types/deps/jsr.io/@std/yaml/1.0.5/_utils.d.ts.map +1 -0
  272. package/types/deps/jsr.io/@std/yaml/1.0.5/mod.d.ts.map +1 -0
  273. package/types/deps/jsr.io/@std/yaml/1.0.5/parse.d.ts.map +1 -0
  274. package/types/deps/jsr.io/@std/yaml/1.0.5/stringify.d.ts.map +1 -0
  275. package/types/deps/jsr.io/@windmill-labs/shared-utils/1.0.10/lib.es.d.ts +7 -0
  276. package/types/deps/jsr.io/@windmill-labs/shared-utils/1.0.10/lib.es.d.ts.map +1 -0
  277. package/types/deps.d.ts +6 -6
  278. package/types/deps.d.ts.map +1 -1
  279. package/types/gen/services.gen.d.ts +66 -1
  280. package/types/gen/services.gen.d.ts.map +1 -1
  281. package/types/gen/types.gen.d.ts +73 -0
  282. package/types/gen/types.gen.d.ts.map +1 -1
  283. package/types/src/commands/app/app_metadata.d.ts +26 -0
  284. package/types/src/commands/app/app_metadata.d.ts.map +1 -0
  285. package/types/src/commands/app/apps.d.ts +10 -1
  286. package/types/src/commands/app/apps.d.ts.map +1 -1
  287. package/types/src/commands/app/bundle.d.ts +70 -0
  288. package/types/src/commands/app/bundle.d.ts.map +1 -0
  289. package/types/src/commands/app/dev.d.ts +18 -0
  290. package/types/src/commands/app/dev.d.ts.map +1 -0
  291. package/types/src/commands/app/metadata.d.ts +20 -0
  292. package/types/src/commands/app/metadata.d.ts.map +1 -0
  293. package/types/src/commands/app/raw_apps.d.ts +18 -0
  294. package/types/src/commands/app/raw_apps.d.ts.map +1 -0
  295. package/types/src/commands/app/wmillTsDev.d.ts +2 -0
  296. package/types/src/commands/app/wmillTsDev.d.ts.map +1 -0
  297. package/types/src/commands/dependencies/dependencies.d.ts +15 -0
  298. package/types/src/commands/dependencies/dependencies.d.ts.map +1 -0
  299. package/types/src/commands/flow/flow.d.ts.map +1 -1
  300. package/types/src/commands/flow/flow_metadata.d.ts +8 -0
  301. package/types/src/commands/flow/flow_metadata.d.ts.map +1 -0
  302. package/types/src/commands/script/script.d.ts +4 -5
  303. package/types/src/commands/script/script.d.ts.map +1 -1
  304. package/types/src/commands/sync/pull.d.ts +1 -1
  305. package/types/src/commands/sync/pull.d.ts.map +1 -1
  306. package/types/src/commands/sync/sync.d.ts +7 -1
  307. package/types/src/commands/sync/sync.d.ts.map +1 -1
  308. package/types/src/commands/workspace/fork.d.ts.map +1 -1
  309. package/types/src/commands/workspace/workspace.d.ts.map +1 -1
  310. package/types/src/core/conf.d.ts +8 -1
  311. package/types/src/core/conf.d.ts.map +1 -1
  312. package/types/src/core/context.d.ts.map +1 -1
  313. package/types/src/main.d.ts.map +1 -1
  314. package/types/src/types.d.ts +1 -1
  315. package/types/src/types.d.ts.map +1 -1
  316. package/types/src/utils/metadata.d.ts +8 -9
  317. package/types/src/utils/metadata.d.ts.map +1 -1
  318. package/types/src/utils/script_common.d.ts +6 -6
  319. package/types/src/utils/script_common.d.ts.map +1 -1
  320. package/types/src/utils/utils.d.ts +2 -0
  321. package/types/src/utils/utils.d.ts.map +1 -1
  322. package/types/windmill-utils-internal/src/gen/types.gen.d.ts +73 -0
  323. package/types/windmill-utils-internal/src/gen/types.gen.d.ts.map +1 -1
  324. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.js +0 -12
  325. package/esm/deps/jsr.io/@std/internal/1.0.12/os.js +0 -5
  326. package/esm/deps/jsr.io/@std/path/1.1.3/mod.js +0 -216
  327. package/esm/deps/jsr.io/@std/path/1.1.3/types.js +0 -3
  328. package/types/deps/jsr.io/@std/internal/1.0.12/_os.d.ts +0 -2
  329. package/types/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +0 -1
  330. package/types/deps/jsr.io/@std/internal/1.0.12/os.d.ts +0 -3
  331. package/types/deps/jsr.io/@std/internal/1.0.12/os.d.ts.map +0 -1
  332. package/types/deps/jsr.io/@std/path/1.1.3/basename.d.ts.map +0 -1
  333. package/types/deps/jsr.io/@std/path/1.1.3/dirname.d.ts.map +0 -1
  334. package/types/deps/jsr.io/@std/path/1.1.3/extname.d.ts.map +0 -1
  335. package/types/deps/jsr.io/@std/path/1.1.3/join.d.ts.map +0 -1
  336. package/types/deps/jsr.io/@std/path/1.1.3/mod.d.ts +0 -213
  337. package/types/deps/jsr.io/@std/path/1.1.3/mod.d.ts.map +0 -1
  338. package/types/deps/jsr.io/@std/path/1.1.3/normalize.d.ts.map +0 -1
  339. package/types/deps/jsr.io/@std/path/1.1.3/posix/basename.d.ts.map +0 -1
  340. package/types/deps/jsr.io/@std/path/1.1.3/posix/dirname.d.ts.map +0 -1
  341. package/types/deps/jsr.io/@std/path/1.1.3/posix/extname.d.ts.map +0 -1
  342. package/types/deps/jsr.io/@std/path/1.1.3/posix/join.d.ts.map +0 -1
  343. package/types/deps/jsr.io/@std/path/1.1.3/posix/normalize.d.ts.map +0 -1
  344. package/types/deps/jsr.io/@std/path/1.1.3/windows/basename.d.ts.map +0 -1
  345. package/types/deps/jsr.io/@std/path/1.1.3/windows/dirname.d.ts +0 -17
  346. package/types/deps/jsr.io/@std/path/1.1.3/windows/dirname.d.ts.map +0 -1
  347. package/types/deps/jsr.io/@std/path/1.1.3/windows/extname.d.ts.map +0 -1
  348. package/types/deps/jsr.io/@std/path/1.1.3/windows/join.d.ts +0 -18
  349. package/types/deps/jsr.io/@std/path/1.1.3/windows/join.d.ts.map +0 -1
  350. package/types/deps/jsr.io/@std/path/1.1.3/windows/normalize.d.ts.map +0 -1
  351. package/types/deps/jsr.io/@std/yaml/1.0.10/_chars.d.ts.map +0 -1
  352. package/types/deps/jsr.io/@std/yaml/1.0.10/_dumper_state.d.ts.map +0 -1
  353. package/types/deps/jsr.io/@std/yaml/1.0.10/_loader_state.d.ts.map +0 -1
  354. package/types/deps/jsr.io/@std/yaml/1.0.10/_schema.d.ts.map +0 -1
  355. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/binary.d.ts.map +0 -1
  356. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/bool.d.ts.map +0 -1
  357. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/float.d.ts.map +0 -1
  358. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/int.d.ts.map +0 -1
  359. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/map.d.ts.map +0 -1
  360. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/merge.d.ts.map +0 -1
  361. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/nil.d.ts.map +0 -1
  362. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/omap.d.ts.map +0 -1
  363. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/pairs.d.ts.map +0 -1
  364. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/regexp.d.ts.map +0 -1
  365. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/seq.d.ts.map +0 -1
  366. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/set.d.ts.map +0 -1
  367. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/str.d.ts.map +0 -1
  368. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/timestamp.d.ts.map +0 -1
  369. package/types/deps/jsr.io/@std/yaml/1.0.10/_type/undefined.d.ts.map +0 -1
  370. package/types/deps/jsr.io/@std/yaml/1.0.10/_type.d.ts.map +0 -1
  371. package/types/deps/jsr.io/@std/yaml/1.0.10/_utils.d.ts.map +0 -1
  372. package/types/deps/jsr.io/@std/yaml/1.0.10/mod.d.ts.map +0 -1
  373. package/types/deps/jsr.io/@std/yaml/1.0.10/parse.d.ts.map +0 -1
  374. package/types/deps/jsr.io/@std/yaml/1.0.10/stringify.d.ts.map +0 -1
  375. /package/esm/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/_types.js +0 -0
  376. /package/esm/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/concat.js +0 -0
  377. /package/esm/deps/jsr.io/@std/fmt/{1.0.8 → 1.0.6}/colors.js +0 -0
  378. /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_get_file_info_type.js +0 -0
  379. /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_dir.js +0 -0
  380. /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/eol.js +0 -0
  381. /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/exists.js +0 -0
  382. /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/mod.js +0 -0
  383. /package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/binary.js +0 -0
  384. /package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/_types.d.ts +0 -0
  385. /package/types/deps/jsr.io/@std/fmt/{1.0.8 → 1.0.6}/colors.d.ts +0 -0
  386. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_create_walk_entry.d.ts +0 -0
  387. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_get_file_info_type.d.ts +0 -0
  388. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_same_path.d.ts +0 -0
  389. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_subdir.d.ts +0 -0
  390. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_to_path_string.d.ts +0 -0
  391. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/copy.d.ts +0 -0
  392. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/empty_dir.d.ts +0 -0
  393. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_dir.d.ts +0 -0
  394. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_file.d.ts +0 -0
  395. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_link.d.ts +0 -0
  396. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_symlink.d.ts +0 -0
  397. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/eol.d.ts +0 -0
  398. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/exists.d.ts +0 -0
  399. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/mod.d.ts +0 -0
  400. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/move.d.ts +0 -0
  401. /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/walk.d.ts +0 -0
  402. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/assert_path.d.ts +0 -0
  403. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/basename.d.ts +0 -0
  404. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/common.d.ts +0 -0
  405. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/constants.d.ts +0 -0
  406. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/dirname.d.ts +0 -0
  407. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/format.d.ts +0 -0
  408. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/from_file_url.d.ts +0 -0
  409. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/glob_to_reg_exp.d.ts +0 -0
  410. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize.d.ts +0 -0
  411. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize_string.d.ts +0 -0
  412. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/relative.d.ts +0 -0
  413. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/strip_trailing_separators.d.ts +0 -0
  414. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/to_file_url.d.ts +0 -0
  415. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/common.d.ts +0 -0
  416. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/constants.d.ts +0 -0
  417. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/format.d.ts +0 -0
  418. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/from_file_url.d.ts +0 -0
  419. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/glob_to_regexp.d.ts +0 -0
  420. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_absolute.d.ts +0 -0
  421. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_glob.d.ts +0 -0
  422. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join_globs.d.ts +0 -0
  423. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize_glob.d.ts +0 -0
  424. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/parse.d.ts +0 -0
  425. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/_util.d.ts +0 -0
  426. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/constants.d.ts +0 -0
  427. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/format.d.ts +0 -0
  428. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/from_file_url.d.ts +0 -0
  429. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/glob_to_regexp.d.ts +0 -0
  430. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/is_absolute.d.ts +0 -0
  431. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join_globs.d.ts +0 -0
  432. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize_glob.d.ts +0 -0
  433. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/parse.d.ts +0 -0
  434. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/relative.d.ts +0 -0
  435. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/resolve.d.ts +0 -0
  436. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_file_url.d.ts +0 -0
  437. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_namespaced_path.d.ts +0 -0
  438. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/relative.d.ts +0 -0
  439. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/resolve.d.ts +0 -0
  440. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_file_url.d.ts +0 -0
  441. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_namespaced_path.d.ts +0 -0
  442. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/types.d.ts +0 -0
  443. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/_util.d.ts +0 -0
  444. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/constants.d.ts +0 -0
  445. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/format.d.ts +0 -0
  446. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/from_file_url.d.ts +0 -0
  447. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/glob_to_regexp.d.ts +0 -0
  448. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/is_absolute.d.ts +0 -0
  449. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join_globs.d.ts +0 -0
  450. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize_glob.d.ts +0 -0
  451. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/parse.d.ts +0 -0
  452. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/relative.d.ts +0 -0
  453. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/resolve.d.ts +0 -0
  454. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_file_url.d.ts +0 -0
  455. /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_namespaced_path.d.ts +0 -0
  456. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_chars.d.ts +0 -0
  457. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/binary.d.ts +0 -0
  458. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/bool.d.ts +0 -0
  459. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/float.d.ts +0 -0
  460. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/int.d.ts +0 -0
  461. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/map.d.ts +0 -0
  462. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/merge.d.ts +0 -0
  463. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/nil.d.ts +0 -0
  464. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/omap.d.ts +0 -0
  465. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/pairs.d.ts +0 -0
  466. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/regexp.d.ts +0 -0
  467. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/seq.d.ts +0 -0
  468. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/set.d.ts +0 -0
  469. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/str.d.ts +0 -0
  470. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/timestamp.d.ts +0 -0
  471. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/undefined.d.ts +0 -0
  472. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_utils.d.ts +0 -0
  473. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/mod.d.ts +0 -0
  474. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/parse.d.ts +0 -0
  475. /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/stringify.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  // deno-lint-ignore-file no-explicit-any
2
2
  import * as dntShim from "../../../_dnt.shims.js";
3
- import { getActiveWorkspaceConfigFilePath, getWorkspaceConfigFilePath } from "../../../windmill-utils-internal/src/config/config.js";
3
+ import { getActiveWorkspaceConfigFilePath, getWorkspaceConfigFilePath, } from "../../../windmill-utils-internal/src/config/config.js";
4
4
  import { loginInteractive, tryGetLoginInfo } from "../../core/login.js";
5
- import { colors, Command, Confirm, Input, log, setClient, Table } from "../../../deps.js";
5
+ import { colors, Command, Confirm, Input, log, setClient, Table, } from "../../../deps.js";
6
6
  import { requireLogin } from "../../core/auth.js";
7
7
  import { createWorkspaceFork, deleteWorkspaceFork } from "./fork.js";
8
8
  import * as wmill from "../../../gen/services.gen.js";
@@ -87,6 +87,8 @@ async function switchC(opts, workspaceName) {
87
87
  return;
88
88
  }
89
89
  await setActiveWorkspace(workspaceName, opts.configDir);
90
+ const workspace = await getWorkspaceByName(workspaceName, opts.configDir);
91
+ log.info(colors.green.bold(`Switched to workspace ${workspaceName} (${workspace?.workspaceId} on ${workspace?.remote})`));
90
92
  return;
91
93
  }
92
94
  export async function setActiveWorkspace(workspaceName, configDirOverride) {
@@ -185,10 +187,11 @@ export async function addWorkspace(workspace, opts) {
185
187
  const existingWorkspaces = await allWorkspaces(opts.configDir);
186
188
  const isInteractive = dntShim.Deno.stdin.isTerminal() && dntShim.Deno.stdout.isTerminal() && !opts.force;
187
189
  // Check 1: Workspace name already exists
188
- const nameConflict = existingWorkspaces.find(w => w.name === workspace.name);
190
+ const nameConflict = existingWorkspaces.find((w) => w.name === workspace.name);
189
191
  if (nameConflict) {
190
192
  // If it's the exact same workspace (same remote + workspaceId), just update the token
191
- if (nameConflict.remote === workspace.remote && nameConflict.workspaceId === workspace.workspaceId) {
193
+ if (nameConflict.remote === workspace.remote &&
194
+ nameConflict.workspaceId === workspace.workspaceId) {
192
195
  log.info(colors.yellow(`Updating token for existing workspace "${workspace.name}"`));
193
196
  }
194
197
  else {
@@ -20,6 +20,7 @@ function getGitRepoRoot() {
20
20
  return null;
21
21
  }
22
22
  }
23
+ export const GLOBAL_CONFIG_OPT = { noCdToRoot: false };
23
24
  function findWmillYaml() {
24
25
  const startDir = resolve(dntShim.Deno.cwd());
25
26
  const isInGitRepo = isGitRepository();
@@ -50,7 +51,9 @@ function findWmillYaml() {
50
51
  currentDir = parentDir;
51
52
  }
52
53
  // If wmill.yaml was found in a parent directory, warn the user and change working directory
53
- if (foundPath && resolve(dirname(foundPath)) !== resolve(startDir)) {
54
+ if (!GLOBAL_CONFIG_OPT.noCdToRoot &&
55
+ foundPath &&
56
+ resolve(dirname(foundPath)) !== resolve(startDir)) {
54
57
  const configDir = dirname(foundPath);
55
58
  const relativePath = relative(startDir, foundPath);
56
59
  log.warn(`⚠️ wmill.yaml found in parent directory: ${relativePath}`);
@@ -187,6 +190,7 @@ export const DEFAULT_SYNC_OPTIONS = {
187
190
  includeGroups: false,
188
191
  includeSettings: false,
189
192
  includeKey: false,
193
+ skipWorkspaceDependencies: false,
190
194
  };
191
195
  export async function mergeConfigWithConfigFile(opts) {
192
196
  const configFile = await readConfigFile();
@@ -45,6 +45,54 @@ async function selectFromMultipleProfiles(profiles, baseUrl, workspaceId, contex
45
45
  baseUrl, workspaceId, selectedProfile.name, configDir);
46
46
  return selectedProfile;
47
47
  }
48
+ /**
49
+ * Prompts the user to create a new workspace profile interactively
50
+ */
51
+ async function createWorkspaceProfileInteractively(normalizedBaseUrl, workspaceId, currentBranch, opts, context) {
52
+ // Log appropriate message based on context
53
+ if (!context.isForked) {
54
+ log.info(colors.yellow(`\nNo workspace profile found for branch '${context.rawBranch}'\n` +
55
+ `(${normalizedBaseUrl}, ${workspaceId})`));
56
+ }
57
+ else {
58
+ log.info(colors.yellow(`\nNo workspace profile was found for this forked workspace\n` +
59
+ `(${normalizedBaseUrl}, ${workspaceId})`));
60
+ }
61
+ if (!dntShim.Deno.stdin.isTerminal() || !dntShim.Deno.stdout.isTerminal()) {
62
+ log.info("Not a TTY, cannot create profile interactively. Use 'wmill workspace add' first.");
63
+ return undefined;
64
+ }
65
+ const shouldCreate = await Confirm.prompt({
66
+ message: "Would you like to create a new workspace profile?",
67
+ default: true,
68
+ });
69
+ if (!shouldCreate) {
70
+ return undefined;
71
+ }
72
+ // Prompt for profile details
73
+ const profileName = await Input.prompt({
74
+ message: "Profile name",
75
+ default: workspaceId,
76
+ });
77
+ const token = await loginInteractive(normalizedBaseUrl);
78
+ if (!token) {
79
+ log.error("Failed to obtain token");
80
+ return undefined;
81
+ }
82
+ // Create the new profile
83
+ const newWorkspace = {
84
+ name: profileName,
85
+ remote: normalizedBaseUrl,
86
+ workspaceId: workspaceId,
87
+ token: token,
88
+ };
89
+ await addWorkspace(newWorkspace, opts);
90
+ // Set as last used for this branch
91
+ await setLastUsedProfile(currentBranch, normalizedBaseUrl, workspaceId, profileName, opts.configDir);
92
+ log.info(colors.green(`✓ Created profile '${profileName}' for ${workspaceId} on ${normalizedBaseUrl}`));
93
+ log.info(colors.green(`✓ Profile '${profileName}' is now active`));
94
+ return newWorkspace;
95
+ }
48
96
  async function tryResolveWorkspace(opts) {
49
97
  const cache = opts.__secret_workspace;
50
98
  if (cache)
@@ -79,6 +127,7 @@ export async function tryResolveBranchWorkspace(opts) {
79
127
  const originalBranchIfForked = getOriginalBranchForWorkspaceForks(rawBranch);
80
128
  const workspaceIdIfForked = getWorkspaceIdForWorkspaceForkFromBranchName(rawBranch);
81
129
  if (originalBranchIfForked) {
130
+ log.info(`Using original branch \`${originalBranchIfForked}\` for finding workspace profile from gitBranches section in wmill.yaml`);
82
131
  currentBranch = originalBranchIfForked;
83
132
  }
84
133
  else {
@@ -91,11 +140,8 @@ export async function tryResolveBranchWorkspace(opts) {
91
140
  if (!branchConfig?.baseUrl || !branchConfig?.workspaceId) {
92
141
  return undefined;
93
142
  }
143
+ log.info(`Using branch configuration for branch \`${currentBranch}\` set in gitBranches`);
94
144
  let { baseUrl, workspaceId } = branchConfig;
95
- if (workspaceIdIfForked) {
96
- workspaceId = workspaceIdIfForked;
97
- log.info(`Inferred workspace id \`${workspaceId}\` from branch name because this is a workspace fork branch (\`${rawBranch}\`). `);
98
- }
99
145
  let normalizedBaseUrl;
100
146
  try {
101
147
  normalizedBaseUrl = new URL(baseUrl).toString();
@@ -109,54 +155,13 @@ export async function tryResolveBranchWorkspace(opts) {
109
155
  const matchingProfiles = allProfiles.filter(w => w.remote === normalizedBaseUrl && w.workspaceId === workspaceId);
110
156
  if (matchingProfiles.length === 0) {
111
157
  // No matching profile exists - prompt to create one
112
- if (!originalBranchIfForked) {
113
- log.info(colors.yellow(`\nNo workspace profile found for branch '${rawBranch}'\n` +
114
- `(${normalizedBaseUrl}, ${workspaceId})`));
115
- }
116
- else {
117
- log.info(colors.yellow(`\nNo workspace profile was found for this forked workspace\n` +
118
- `(${normalizedBaseUrl}, ${workspaceId})`));
119
- }
120
- if (!dntShim.Deno.stdin.isTerminal() || !dntShim.Deno.stdout.isTerminal()) {
121
- log.info("Not a TTY, cannot create profile interactively. Use 'wmill workspace add' first.");
122
- return undefined;
123
- }
124
- const shouldCreate = await Confirm.prompt({
125
- message: "Would you like to create a new workspace profile?",
126
- default: true,
127
- });
128
- if (!shouldCreate) {
129
- return undefined;
130
- }
131
- // Prompt for profile details
132
- const profileName = await Input.prompt({
133
- message: "Profile name",
134
- default: workspaceId,
135
- });
136
- const token = await loginInteractive(normalizedBaseUrl);
137
- if (!token) {
138
- log.error("Failed to obtain token");
139
- return undefined;
140
- }
141
- // Create the new profile
142
- const newWorkspace = {
143
- name: profileName,
144
- remote: normalizedBaseUrl,
145
- workspaceId: workspaceId,
146
- token: token,
147
- };
148
- await addWorkspace(newWorkspace, opts);
149
- // Set as last used for this branch
150
- await setLastUsedProfile(currentBranch, normalizedBaseUrl, workspaceId, profileName, opts.configDir);
151
- log.info(colors.green(`✓ Created profile '${profileName}' for ${workspaceId} on ${normalizedBaseUrl}`));
152
- log.info(colors.green(`✓ Profile '${profileName}' is now active`));
153
- return newWorkspace;
158
+ return await createWorkspaceProfileInteractively(normalizedBaseUrl, workspaceId, currentBranch, opts, { rawBranch, isForked: !!originalBranchIfForked });
154
159
  }
155
160
  // Handle multiple profiles - use special branch-aware logic
156
161
  let selectedProfile;
157
162
  if (matchingProfiles.length === 1) {
158
163
  selectedProfile = matchingProfiles[0];
159
- log.info(colors.green(`Using workspace profile '${selectedProfile.name}' for branch '${currentBranch}'`));
164
+ log.info(colors.green(`Using workspace profile '${selectedProfile.name}' for branch '${currentBranch}' with workspace id \`${workspaceId}\``));
160
165
  }
161
166
  else {
162
167
  // For multiple profiles, check branch-specific last used first
@@ -174,6 +179,11 @@ export async function tryResolveBranchWorkspace(opts) {
174
179
  await setLastUsedProfile(currentBranch, normalizedBaseUrl, workspaceId, selectedProfile.name, opts.configDir);
175
180
  log.info(colors.green(`Using workspace profile '${selectedProfile.name}' for branch '${currentBranch}'`));
176
181
  }
182
+ if (workspaceIdIfForked) {
183
+ selectedProfile.name = `${selectedProfile.name}/${workspaceIdIfForked}`;
184
+ selectedProfile.workspaceId = workspaceIdIfForked;
185
+ log.info(`Inferred workspace id \`${workspaceId}\` from branch name because this is a workspace fork branch (\`${rawBranch}\`). `);
186
+ }
177
187
  return selectedProfile;
178
188
  }
179
189
  export async function resolveWorkspace(opts) {
package/esm/src/main.js CHANGED
@@ -30,6 +30,7 @@ import { pull, push } from "./commands/sync/sync.js";
30
30
  import { add as workspaceAdd } from "./commands/workspace/workspace.js";
31
31
  import workers from "./commands/workers/workers.js";
32
32
  import queues from "./commands/queues/queues.js";
33
+ import dependencies from "./commands/dependencies/dependencies.js";
33
34
  import init from "./commands/init/init.js";
34
35
  export { flow, app, script, workspace, resource, resourceType, user, variable, hub, folder, schedule, trigger, sync, gitsyncSettings, instance, dev, hubPull, pull, push, workspaceAdd, };
35
36
  // addEventListener("error", (event) => {
@@ -73,6 +74,7 @@ const command = new Command()
73
74
  .command("worker-groups", workerGroups)
74
75
  .command("workers", workers)
75
76
  .command("queues", queues)
77
+ .command("dependencies", dependencies)
76
78
  .command("version --version", "Show version information")
77
79
  .action(async (opts) => {
78
80
  console.log("CLI version: " + VERSION);
package/esm/src/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // deno-lint-ignore-file no-explicit-any
2
2
  import * as dntShim from "../_dnt.shims.js";
3
- import { Diff, SEP, colors, log, path, yamlParseContent, yamlStringify, } from "../deps.js";
3
+ import { colors, Diff, log, path, SEP, yamlParseContent, yamlStringify, } from "../deps.js";
4
4
  import { pushApp } from "./commands/app/apps.js";
5
5
  import { pushFolder } from "./commands/folder/folder.js";
6
6
  import { pushFlow } from "./commands/flow/flow.js";
@@ -9,22 +9,24 @@ import { pushResourceType } from "./commands/resource-type/resource-type.js";
9
9
  import { pushVariable } from "./commands/variable/variable.js";
10
10
  import { yamlOptions } from "./commands/sync/sync.js";
11
11
  import { showDiffs } from "./core/conf.js";
12
- import { deepEqual, isFileResource } from "./utils/utils.js";
12
+ import { deepEqual, isFileResource, isWorkspaceDependencies } from "./utils/utils.js";
13
13
  import { pushSchedule } from "./commands/schedule/schedule.js";
14
14
  import { pushWorkspaceUser } from "./commands/user/user.js";
15
15
  import { pushGroup } from "./commands/user/user.js";
16
+ import { pushWorkspaceDependencies } from "./commands/dependencies/dependencies.js";
16
17
  import { pushWorkspaceSettings, pushWorkspaceKey } from "./core/settings.js";
17
18
  import { pushTrigger } from "./commands/trigger/trigger.js";
19
+ import { pushRawApp } from "./commands/app/raw_apps.js";
18
20
  export const TRIGGER_TYPES = [
19
- 'http',
20
- 'websocket',
21
- 'kafka',
22
- 'nats',
23
- 'postgres',
24
- 'mqtt',
25
- 'sqs',
26
- 'gcp',
27
- 'email',
21
+ "http",
22
+ "websocket",
23
+ "kafka",
24
+ "nats",
25
+ "postgres",
26
+ "mqtt",
27
+ "sqs",
28
+ "gcp",
29
+ "email",
28
30
  ];
29
31
  export function isSuperset(subset, superset) {
30
32
  return Object.keys(subset).every((key) => {
@@ -94,6 +96,10 @@ export async function pushObj(workspace, p, befObj, newObj, plainSecrets, alread
94
96
  const appName = p.split(".app" + SEP)[0];
95
97
  await pushApp(workspace, appName, appName + ".app", message);
96
98
  }
99
+ else if (typeEnding === "raw_app") {
100
+ const rawAppName = p.split(".raw_app" + SEP)[0];
101
+ await pushRawApp(workspace, rawAppName, rawAppName + ".raw_app", message);
102
+ }
97
103
  else if (typeEnding === "folder") {
98
104
  await pushFolder(workspace, p, befObj, newObj);
99
105
  }
@@ -149,6 +155,9 @@ export async function pushObj(workspace, p, befObj, newObj, plainSecrets, alread
149
155
  else if (typeEnding === "group") {
150
156
  await pushGroup(workspace, p, befObj, newObj);
151
157
  }
158
+ else if (typeEnding === "workspace_dependencies") {
159
+ await pushWorkspaceDependencies(workspace, p, befObj, newObj);
160
+ }
152
161
  else if (typeEnding === "settings") {
153
162
  await pushWorkspaceSettings(workspace, p, befObj, newObj);
154
163
  }
@@ -160,11 +169,13 @@ export async function pushObj(workspace, p, befObj, newObj, plainSecrets, alread
160
169
  }
161
170
  }
162
171
  export function parseFromPath(p, content) {
163
- return p.endsWith(".yaml")
164
- ? yamlParseContent(p, content)
165
- : p.endsWith(".json")
166
- ? JSON.parse(content)
167
- : content;
172
+ return isWorkspaceDependencies(p)
173
+ ? content
174
+ : p.endsWith(".yaml")
175
+ ? yamlParseContent(p, content)
176
+ : p.endsWith(".json")
177
+ ? JSON.parse(content)
178
+ : content;
168
179
  }
169
180
  export function parseFromFile(p) {
170
181
  if (p.endsWith(".json")) {
@@ -184,6 +195,12 @@ export function getTypeStrFromPath(p) {
184
195
  if (p.includes(".app" + SEP)) {
185
196
  return "app";
186
197
  }
198
+ if (p.includes(".raw_app" + SEP)) {
199
+ return "raw_app";
200
+ }
201
+ if (p.startsWith("dependencies" + SEP)) {
202
+ return "workspace_dependencies";
203
+ }
187
204
  const parsed = path.parse(p);
188
205
  if (parsed.ext == ".go" ||
189
206
  parsed.ext == ".ts" ||
@@ -1,14 +1,11 @@
1
1
  // deno-lint-ignore-file no-explicit-any
2
2
  import * as dntShim from "../../_dnt.shims.js";
3
- import { SEP, colors, log, path, yamlParseFile, yamlStringify, } from "../../deps.js";
3
+ import { SEP, colors, log, yamlParseFile, yamlStringify } from "../../deps.js";
4
4
  import { defaultScriptMetadata, } from "../../bootstrap/script_bootstrap.js";
5
- import { languagesWithRawReqsSupport, } from "./script_common.js";
5
+ import { workspaceDependenciesLanguages, } from "./script_common.js";
6
6
  import { inferContentTypeFromFilePath } from "./script_common.js";
7
- import { exts, findGlobalDeps } from "../commands/script/script.js";
8
- import { FSFSElement, findCodebase, yamlOptions, } from "../commands/sync/sync.js";
9
- import { generateHash, readInlinePathSync, getHeaders, writeIfChanged, } from "./utils.js";
10
- import { replaceInlineScripts } from "../../windmill-utils-internal/src/inline-scripts/replacer.js";
11
- import { extractInlineScripts as extractInlineScriptsForFlows } from "../../windmill-utils-internal/src/inline-scripts/extractor.js";
7
+ import { findCodebase, yamlOptions } from "../commands/sync/sync.js";
8
+ import { generateHash, readInlinePathSync, getHeaders } from "./utils.js";
12
9
  import { argSigToJsonSchemaType } from "../../windmill-utils-internal/src/parse/parse-schema.js";
13
10
  import { getIsWin } from "./utils.js";
14
11
  export class LockfileGenerationError extends Error {
@@ -18,128 +15,68 @@ export class LockfileGenerationError extends Error {
18
15
  }
19
16
  }
20
17
  export async function generateAllMetadata() { }
21
- function findClosestRawReqs(lang, remotePath, globalDeps) {
22
- let bestCandidate = undefined;
23
- if (lang) {
24
- Object.entries(globalDeps.get(lang) ?? {}).forEach(([k, v]) => {
25
- if (remotePath.startsWith(k) &&
26
- k.length >= (bestCandidate?.k ?? "").length) {
27
- bestCandidate = { k, v };
28
- }
29
- });
30
- }
31
- // @ts-ignore
32
- return bestCandidate?.v;
33
- }
34
- const TOP_HASH = "__flow_hash";
35
- async function generateFlowHash(rawReqs, folder, defaultTs) {
36
- const elems = await FSFSElement(path.join(dntShim.Deno.cwd(), folder), [], true);
37
- const hashes = {};
38
- for await (const f of elems.getChildren()) {
39
- if (exts.some((e) => f.path.endsWith(e))) {
40
- let reqs;
41
- if (rawReqs) {
42
- // Get language name from path
43
- const lang = inferContentTypeFromFilePath(f.path, defaultTs);
44
- // Get lock for that language
45
- [, reqs] =
46
- Object.entries(rawReqs).find(([lang2, _]) => lang == lang2) ?? [];
18
+ export async function getRawWorkspaceDependencies() {
19
+ const rawWorkspaceDeps = {};
20
+ try {
21
+ for await (const entry of dntShim.Deno.readDir("dependencies")) {
22
+ if (entry.isDirectory)
23
+ continue;
24
+ const filePath = `dependencies/${entry.name}`;
25
+ const content = await dntShim.Deno.readTextFile(filePath);
26
+ // Find matching language
27
+ for (const lang of workspaceDependenciesLanguages) {
28
+ if (entry.name.endsWith(lang.filename)) {
29
+ // Check if out of sync
30
+ const contentHash = await generateHash(content + filePath);
31
+ const isUpToDate = await checkifMetadataUptodate(filePath, contentHash, undefined);
32
+ if (!isUpToDate) {
33
+ rawWorkspaceDeps[filePath] = content;
34
+ }
35
+ break;
36
+ }
47
37
  }
48
- // Embed lock into hash
49
- hashes[f.path] = await generateHash((await f.getContentText()) + (reqs ?? ""));
50
38
  }
51
39
  }
52
- return { ...hashes, [TOP_HASH]: await generateHash(JSON.stringify(hashes)) };
53
- }
54
- export async function generateFlowLockInternal(folder, dryRun, workspace, opts, justUpdateMetadataLock, noStaleMessage, useRawReqs) {
55
- if (folder.endsWith(SEP)) {
56
- folder = folder.substring(0, folder.length - 1);
57
- }
58
- const remote_path = folder
59
- .replaceAll(SEP, "/")
60
- .substring(0, folder.length - ".flow".length);
61
- if (!justUpdateMetadataLock && !noStaleMessage) {
62
- log.info(`Generating lock for flow ${folder} at ${remote_path}`);
63
- }
64
- let rawReqs = undefined;
65
- if (useRawReqs) {
66
- // Find all dependency files in the workspace
67
- const globalDeps = await findGlobalDeps();
68
- // Find closest dependency files for this flow
69
- rawReqs = {};
70
- // TODO: PERF: Only include raw reqs for the languages that are in the flow
71
- languagesWithRawReqsSupport.map((lang) => {
72
- const dep = findClosestRawReqs(lang, folder, globalDeps);
73
- if (dep) {
74
- // @ts-ignore
75
- rawReqs[lang.language] = dep;
76
- }
77
- });
40
+ catch {
41
+ // dependencies directory doesn't exist
78
42
  }
79
- let hashes = await generateFlowHash(rawReqs, folder, opts.defaultTs);
80
- const conf = await readLockfile();
81
- if (await checkifMetadataUptodate(folder, hashes[TOP_HASH], conf, TOP_HASH)) {
82
- if (!noStaleMessage) {
83
- log.info(colors.green(`Flow ${remote_path} metadata is up-to-date, skipping`));
43
+ return rawWorkspaceDeps;
44
+ }
45
+ export function workspaceDependenciesPathToLanguageAndFilename(path) {
46
+ const relativePath = path.replace("dependencies/", "");
47
+ for (const { filename, language } of workspaceDependenciesLanguages) {
48
+ if (relativePath.endsWith(filename)) {
49
+ return {
50
+ name: relativePath === filename ? undefined : relativePath.replace("." + filename, ""),
51
+ language
52
+ };
84
53
  }
85
- return;
86
54
  }
87
- else if (dryRun) {
88
- return remote_path;
89
- }
90
- if (useRawReqs) {
91
- log.warn("If using local lockfiles, following redeployments from Web App will inevitably override generated lockfiles by CLI. To maintain your script's lockfiles you will need to redeploy only from CLI. (Behavior is subject to change)");
92
- log.info((await blueColor())(`Found raw requirements (${languagesWithRawReqsSupport
93
- .map((l) => l.rrFilename)
94
- .join("/")}) for ${folder}, using it`));
95
- }
96
- const flowValue = (await yamlParseFile(folder + SEP + "flow.yaml"));
97
- if (!justUpdateMetadataLock) {
98
- const changedScripts = [];
99
- //find hashes that do not correspond to previous hashes
100
- for (const [path, hash] of Object.entries(hashes)) {
101
- if (path == TOP_HASH) {
102
- continue;
103
- }
104
- if (!(await checkifMetadataUptodate(folder, hash, conf, path))) {
105
- changedScripts.push(path);
106
- }
107
- }
108
- log.info(`Recomputing locks of ${changedScripts.join(", ")} in ${folder}`);
109
- await replaceInlineScripts(flowValue.value.modules, async (path) => await dntShim.Deno.readTextFile(folder + SEP + path), log, folder + SEP, SEP, changedScripts);
110
- //removeChangedLocks
111
- flowValue.value = await updateFlow(workspace, flowValue.value, remote_path, rawReqs);
112
- const inlineScripts = extractInlineScriptsForFlows(flowValue.value.modules, {}, SEP, opts.defaultTs);
113
- inlineScripts.forEach((s) => {
114
- writeIfChanged(dntShim.Deno.cwd() + SEP + folder + SEP + s.path, s.content);
115
- });
116
- // Overwrite `flow.yaml` with the new lockfile references
117
- writeIfChanged(dntShim.Deno.cwd() + SEP + folder + SEP + "flow.yaml", yamlStringify(flowValue));
118
- }
119
- hashes = await generateFlowHash(rawReqs, folder, opts.defaultTs);
120
- await clearGlobalLock(folder);
121
- for (const [path, hash] of Object.entries(hashes)) {
122
- await updateMetadataGlobalLock(folder, hash, path);
123
- }
124
- log.info(colors.green(`Flow ${remote_path} lockfiles updated`));
125
55
  }
126
56
  // on windows, when using powershell, blue is not readable
127
57
  export async function blueColor() {
128
58
  const isWin = await getIsWin();
129
59
  return isWin ? colors.black : colors.blue;
130
60
  }
131
- export async function generateScriptMetadataInternal(scriptPath, workspace, opts, dryRun, noStaleMessage, globalDeps, codebases, justUpdateMetadataLock) {
61
+ export async function generateScriptMetadataInternal(scriptPath, workspace, opts, dryRun, noStaleMessage, rawWorkspaceDependencies, codebases, justUpdateMetadataLock) {
132
62
  const remotePath = scriptPath
133
63
  .substring(0, scriptPath.indexOf("."))
134
64
  .replaceAll(SEP, "/");
135
65
  const language = inferContentTypeFromFilePath(scriptPath, opts.defaultTs);
66
+ // Filter workspace dependencies to only include those matching the script's language
67
+ const filteredRawWorkspaceDependencies = {};
68
+ for (const [depPath, depContent] of Object.entries(rawWorkspaceDependencies)) {
69
+ const depInfo = workspaceDependenciesPathToLanguageAndFilename(depPath);
70
+ if (depInfo && depInfo.language === language) {
71
+ filteredRawWorkspaceDependencies[depPath] = depContent;
72
+ }
73
+ }
136
74
  const metadataWithType = await parseMetadataFile(remotePath, undefined);
137
75
  // read script content
138
76
  const scriptContent = await dntShim.Deno.readTextFile(scriptPath);
139
77
  const metadataContent = await dntShim.Deno.readTextFile(metadataWithType.path);
140
- const rrLang = languagesWithRawReqsSupport.find((l) => language == l.language);
141
- const rawReqs = findClosestRawReqs(rrLang, scriptPath, globalDeps);
142
- let hash = await generateScriptHash(rawReqs, scriptContent, metadataContent);
78
+ // Note: rawWorkspaceDependencies are now passed in as parameter instead of being searched hierarchically
79
+ let hash = await generateScriptHash(filteredRawWorkspaceDependencies, scriptContent, metadataContent);
143
80
  if (await checkifMetadataUptodate(remotePath, hash, undefined)) {
144
81
  if (!noStaleMessage) {
145
82
  log.info(colors.green(`Script ${remotePath} metadata is up-to-date, skipping`));
@@ -159,7 +96,7 @@ export async function generateScriptMetadataInternal(scriptPath, workspace, opts
159
96
  if (!opts.schemaOnly && !justUpdateMetadataLock) {
160
97
  const hasCodebase = findCodebase(scriptPath, codebases) != undefined;
161
98
  if (!hasCodebase) {
162
- await updateScriptLock(workspace, scriptContent, language, remotePath, metadataParsedContent, rawReqs);
99
+ await updateScriptLock(workspace, scriptContent, language, remotePath, metadataParsedContent, filteredRawWorkspaceDependencies);
163
100
  }
164
101
  else {
165
102
  metadataParsedContent.lock = "";
@@ -176,7 +113,7 @@ export async function generateScriptMetadataInternal(scriptPath, workspace, opts
176
113
  newMetadataContent = JSON.stringify(metadataParsedContent);
177
114
  }
178
115
  const metadataContentUsedForHash = newMetadataContent;
179
- hash = await generateScriptHash(rawReqs, scriptContent, metadataContentUsedForHash);
116
+ hash = await generateScriptHash(filteredRawWorkspaceDependencies, scriptContent, metadataContentUsedForHash);
180
117
  await updateMetadataGlobalLock(remotePath, hash);
181
118
  if (!justUpdateMetadataLock) {
182
119
  await dntShim.Deno.writeTextFile(metaPath, newMetadataContent);
@@ -200,15 +137,16 @@ export async function updateScriptSchema(scriptContent, language, metadataConten
200
137
  delete metadataContent.no_main_func;
201
138
  }
202
139
  }
203
- async function updateScriptLock(workspace, scriptContent, language, remotePath, metadataContent, rawDeps) {
204
- if (!(languagesWithRawReqsSupport.some((l) => l.language == language) ||
140
+ async function updateScriptLock(workspace, scriptContent, language, remotePath, metadataContent, rawWorkspaceDependencies) {
141
+ if (!(workspaceDependenciesLanguages.some((l) => l.language == language) ||
205
142
  language == "deno" ||
206
143
  language == "rust" ||
207
144
  language == "ansible")) {
208
145
  return;
209
146
  }
210
- if (rawDeps) {
211
- log.info(`Generating script lock for ${remotePath} with raw deps`);
147
+ if (Object.keys(rawWorkspaceDependencies).length > 0) {
148
+ const dependencyPaths = Object.keys(rawWorkspaceDependencies).join(', ');
149
+ log.info(`Generating script lock for ${remotePath} with raw workspace dependencies: ${dependencyPaths}`);
212
150
  }
213
151
  // generate the script lock running a dependency job in Windmill and update it inplace
214
152
  // TODO: update this once the client is released
@@ -228,7 +166,8 @@ async function updateScriptLock(workspace, scriptContent, language, remotePath,
228
166
  script_path: remotePath,
229
167
  },
230
168
  ],
231
- raw_deps: rawDeps,
169
+ raw_workspace_dependencies: Object.keys(rawWorkspaceDependencies).length > 0
170
+ ? rawWorkspaceDependencies : null,
232
171
  entrypoint: remotePath,
233
172
  }),
234
173
  });
@@ -267,65 +206,6 @@ async function updateScriptLock(workspace, scriptContent, language, remotePath,
267
206
  throw new LockfileGenerationError(`Failed to generate lockfile:${rawResponse.statusText}, ${responseText}, ${e}`);
268
207
  }
269
208
  }
270
- export async function updateFlow(workspace, flow_value, remotePath, rawDeps) {
271
- let rawResponse;
272
- if (rawDeps != undefined) {
273
- log.info(colors.blue("Using raw requirements for flow dependencies"));
274
- // generate the script lock running a dependency job in Windmill and update it inplace
275
- const extraHeaders = getHeaders();
276
- rawResponse = await fetch(`${workspace.remote}api/w/${workspace.workspaceId}/jobs/run/flow_dependencies`, {
277
- method: "POST",
278
- headers: {
279
- Cookie: `token=${workspace.token}`,
280
- "Content-Type": "application/json",
281
- ...extraHeaders,
282
- },
283
- body: JSON.stringify({
284
- flow_value,
285
- path: remotePath,
286
- use_local_lockfiles: true,
287
- raw_deps: rawDeps,
288
- }),
289
- });
290
- }
291
- else {
292
- // Standard dependency resolution on the server
293
- const extraHeaders = getHeaders();
294
- rawResponse = await fetch(`${workspace.remote}api/w/${workspace.workspaceId}/jobs/run/flow_dependencies`, {
295
- method: "POST",
296
- headers: {
297
- Cookie: `token=${workspace.token}`,
298
- "Content-Type": "application/json",
299
- ...extraHeaders,
300
- },
301
- body: JSON.stringify({
302
- flow_value,
303
- path: remotePath,
304
- }),
305
- });
306
- }
307
- let responseText = "reading response failed";
308
- try {
309
- const res = (await rawResponse.json());
310
- if (rawResponse.status != 200) {
311
- const msg = res?.["error"]?.["message"];
312
- if (msg) {
313
- throw new LockfileGenerationError(`Failed to generate lockfile: ${msg}`);
314
- }
315
- throw new LockfileGenerationError(`Failed to generate lockfile: ${rawResponse.statusText}, ${responseText}`);
316
- }
317
- return res.updated_flow_value;
318
- }
319
- catch (e) {
320
- try {
321
- responseText = await rawResponse.text();
322
- }
323
- catch {
324
- responseText = "";
325
- }
326
- throw new Error(`Failed to generate lockfile. Status was: ${rawResponse.statusText}, ${responseText}, ${e}`);
327
- }
328
- }
329
209
  ////////////////////////////////////////////////////////////////////////////////////////////
330
210
  // below functions copied from Windmill's FE inferArgs function. TODO: refactor //
331
211
  ////////////////////////////////////////////////////////////////////////////////////////////
@@ -550,7 +430,7 @@ export async function parseMetadataFile(scriptPath, generateMetadataIfMissing) {
550
430
  if (generateMetadataIfMissing) {
551
431
  log.info((await blueColor())(`Generating lockfile and schema for ${metadataFilePath}`));
552
432
  try {
553
- await generateScriptMetadataInternal(generateMetadataIfMissing.path, generateMetadataIfMissing.workspaceRemote, generateMetadataIfMissing, false, false, generateMetadataIfMissing.globalDeps, generateMetadataIfMissing.codebases, false);
433
+ await generateScriptMetadataInternal(generateMetadataIfMissing.path, generateMetadataIfMissing.workspaceRemote, generateMetadataIfMissing, false, false, generateMetadataIfMissing.rawWorkspaceDependencies, generateMetadataIfMissing.codebases, false);
554
434
  scriptInitialMetadata = (await yamlParseFile(metadataFilePath));
555
435
  if (!generateMetadataIfMissing.schemaOnly) {
556
436
  replaceLock(scriptInitialMetadata);
@@ -612,8 +492,8 @@ export async function checkifMetadataUptodate(path, hash, conf, subpath) {
612
492
  return current == hash;
613
493
  }
614
494
  }
615
- export async function generateScriptHash(rawReqs, scriptContent, newMetadataContent) {
616
- return await generateHash((rawReqs ?? "") + scriptContent + newMetadataContent);
495
+ export async function generateScriptHash(rawWorkspaceDependencies, scriptContent, newMetadataContent) {
496
+ return await generateHash(JSON.stringify(rawWorkspaceDependencies) + scriptContent + newMetadataContent);
617
497
  }
618
498
  export async function clearGlobalLock(path) {
619
499
  const conf = await readLockfile();
@@ -1,8 +1,8 @@
1
- export const languagesWithRawReqsSupport = [
2
- { language: "bun", rrFilename: "package.json" },
3
- { language: "python3", rrFilename: "requirements.txt" },
4
- { language: "php", rrFilename: "composer.json" },
5
- { language: "go", rrFilename: "go.mod" },
1
+ export const workspaceDependenciesLanguages = [
2
+ { language: "bun", filename: "package.json" },
3
+ { language: "python3", filename: "requirements.in" },
4
+ { language: "php", filename: "composer.json" },
5
+ { language: "go", filename: "go.mod" },
6
6
  ];
7
7
  export function inferContentTypeFromFilePath(contentPath, defaultTs) {
8
8
  if (contentPath.endsWith(".py")) {