windmill-cli 1.586.0 → 1.586.2
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.
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_create_walk_entry.js +2 -2
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_same_path.js +1 -1
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_subdir.js +2 -2
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_to_path_string.js +1 -1
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/copy.js +5 -4
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/empty_dir.js +1 -1
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_file.js +1 -1
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_link.js +1 -1
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_symlink.js +4 -3
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/expand_glob.js +12 -36
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/move.js +1 -2
- package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/walk.js +1 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/read_all.js +1 -1
- package/esm/deps/jsr.io/@std/log/0.224.14/console_handler.js +1 -1
- package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/assert_path.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/basename.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/common.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/constants.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/dirname.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/format.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/from_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/glob_to_reg_exp.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize_string.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/relative.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/strip_trailing_separators.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/to_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.0.8/_os.js +9 -0
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/basename.js +5 -4
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/common.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/constants.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/dirname.js +5 -4
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/extname.js +5 -4
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/format.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/from_file_url.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/glob_to_regexp.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_absolute.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_glob.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join.js +7 -7
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join_globs.js +2 -2
- package/esm/deps/jsr.io/@std/path/1.0.8/mod.js +57 -0
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize.js +5 -4
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize_glob.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/parse.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/_util.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/basename.js +4 -7
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/constants.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/dirname.js +4 -6
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/extname.js +4 -8
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/format.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/from_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/glob_to_regexp.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/is_absolute.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join.js +8 -11
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join_globs.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize.js +6 -7
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize_glob.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/parse.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/relative.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/resolve.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_namespaced_path.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/relative.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/resolve.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_file_url.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_namespaced_path.js +2 -2
- package/esm/deps/jsr.io/@std/path/1.0.8/types.js +3 -0
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/_util.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/basename.js +4 -7
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/constants.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/dirname.js +6 -7
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/extname.js +6 -7
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/format.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/from_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/glob_to_regexp.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/is_absolute.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join.js +7 -10
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join_globs.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize.js +6 -7
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize_glob.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/parse.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/relative.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/resolve.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_namespaced_path.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_chars.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_dumper_state.js +5 -14
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_loader_state.js +150 -168
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_schema.js +6 -11
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/bool.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/float.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/int.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/map.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/merge.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/nil.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/omap.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/pairs.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/regexp.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/seq.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/set.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/str.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/timestamp.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/undefined.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_utils.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/mod.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/parse.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/stringify.js +1 -1
- package/esm/deps/jsr.io/@windmill-labs/shared-utils/1.0.10/lib.es.js +1522 -0
- package/esm/deps.js +6 -6
- package/esm/gen/services.gen.js +138 -0
- package/esm/src/commands/app/app_metadata.js +287 -0
- package/esm/src/commands/app/apps.js +65 -31
- package/esm/src/commands/app/bundle.js +249 -0
- package/esm/src/commands/app/dev.js +591 -0
- package/esm/src/commands/app/metadata.js +1 -0
- package/esm/src/commands/app/raw_apps.js +212 -0
- package/esm/src/commands/app/wmillTsDev.js +89 -0
- package/esm/src/commands/dependencies/dependencies.js +66 -0
- package/esm/src/commands/dev/dev.js +1 -1
- package/esm/src/commands/flow/flow.js +4 -5
- package/esm/src/commands/flow/flow_metadata.js +140 -0
- package/esm/src/commands/script/script.js +20 -37
- package/esm/src/commands/sync/pull.js +5 -3
- package/esm/src/commands/sync/sync.js +264 -76
- package/esm/src/commands/workspace/fork.js +6 -8
- package/esm/src/commands/workspace/workspace.js +7 -4
- package/esm/src/core/conf.js +5 -1
- package/esm/src/core/context.js +57 -47
- package/esm/src/main.js +2 -0
- package/esm/src/types.js +33 -16
- package/esm/src/utils/metadata.js +58 -178
- package/esm/src/utils/script_common.js +5 -5
- package/esm/src/utils/utils.js +21 -9
- package/package.json +4 -3
- package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/_types.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/concat.d.ts +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/concat.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fmt/{1.0.8 → 1.0.6}/colors.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_create_walk_entry.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_get_file_info_type.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_same_path.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_subdir.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_to_path_string.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/copy.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/empty_dir.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_dir.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_file.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_link.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_symlink.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/eol.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/exists.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/expand_glob.d.ts +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/expand_glob.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/mod.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/move.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/walk.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/assert_path.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/basename.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/common.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/constants.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/dirname.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/format.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/from_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/glob_to_reg_exp.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize_string.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/relative.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/strip_trailing_separators.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/to_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/1.0.8/_os.d.ts +2 -0
- package/types/deps/jsr.io/@std/path/1.0.8/_os.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/basename.d.ts +4 -3
- package/types/deps/jsr.io/@std/path/1.0.8/basename.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/common.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/constants.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/dirname.d.ts +4 -3
- package/types/deps/jsr.io/@std/path/1.0.8/dirname.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/extname.d.ts +4 -3
- package/types/deps/jsr.io/@std/path/1.0.8/extname.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/format.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/from_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/glob_to_regexp.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_absolute.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_glob.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join.d.ts +4 -4
- package/types/deps/jsr.io/@std/path/1.0.8/join.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join_globs.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/1.0.8/mod.d.ts +54 -0
- package/types/deps/jsr.io/@std/path/1.0.8/mod.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize.d.ts +4 -3
- package/types/deps/jsr.io/@std/path/1.0.8/normalize.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize_glob.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/parse.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/_util.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/basename.d.ts +4 -3
- package/types/deps/jsr.io/@std/path/1.0.8/posix/basename.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/constants.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/dirname.d.ts +4 -2
- package/types/deps/jsr.io/@std/path/1.0.8/posix/dirname.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/extname.d.ts +4 -4
- package/types/deps/jsr.io/@std/path/1.0.8/posix/extname.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/format.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/from_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/glob_to_regexp.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/is_absolute.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join.d.ts +6 -4
- package/types/deps/jsr.io/@std/path/1.0.8/posix/join.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join_globs.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize.d.ts +6 -3
- package/types/deps/jsr.io/@std/path/1.0.8/posix/normalize.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize_glob.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/parse.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/relative.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/resolve.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_namespaced_path.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/relative.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/resolve.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_namespaced_path.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/types.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/_util.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/basename.d.ts +4 -3
- package/types/deps/jsr.io/@std/path/1.0.8/windows/basename.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/constants.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts +20 -0
- package/types/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/extname.d.ts +6 -3
- package/types/deps/jsr.io/@std/path/1.0.8/windows/extname.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/format.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/from_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/glob_to_regexp.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/is_absolute.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts +20 -0
- package/types/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join_globs.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize.d.ts +6 -3
- package/types/deps/jsr.io/@std/path/1.0.8/windows/normalize.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize_glob.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/parse.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/relative.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/resolve.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_file_url.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_namespaced_path.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/1.0.5/_chars.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_dumper_state.d.ts +1 -8
- package/types/deps/jsr.io/@std/yaml/1.0.5/_dumper_state.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_loader_state.d.ts +8 -14
- package/types/deps/jsr.io/@std/yaml/1.0.5/_loader_state.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_schema.d.ts +3 -7
- package/types/deps/jsr.io/@std/yaml/1.0.5/_schema.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/binary.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/bool.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/float.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/int.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/map.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/merge.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/nil.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/omap.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/pairs.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/regexp.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/seq.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/set.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/str.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/timestamp.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type/undefined.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type.d.ts +0 -16
- package/types/deps/jsr.io/@std/yaml/1.0.5/_type.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/_utils.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/mod.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/parse.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/1.0.5/stringify.d.ts.map +1 -0
- package/types/deps/jsr.io/@windmill-labs/shared-utils/1.0.10/lib.es.d.ts +7 -0
- package/types/deps/jsr.io/@windmill-labs/shared-utils/1.0.10/lib.es.d.ts.map +1 -0
- package/types/deps.d.ts +6 -6
- package/types/deps.d.ts.map +1 -1
- package/types/gen/services.gen.d.ts +66 -1
- package/types/gen/services.gen.d.ts.map +1 -1
- package/types/gen/types.gen.d.ts +73 -0
- package/types/gen/types.gen.d.ts.map +1 -1
- package/types/src/commands/app/app_metadata.d.ts +26 -0
- package/types/src/commands/app/app_metadata.d.ts.map +1 -0
- package/types/src/commands/app/apps.d.ts +10 -1
- package/types/src/commands/app/apps.d.ts.map +1 -1
- package/types/src/commands/app/bundle.d.ts +70 -0
- package/types/src/commands/app/bundle.d.ts.map +1 -0
- package/types/src/commands/app/dev.d.ts +18 -0
- package/types/src/commands/app/dev.d.ts.map +1 -0
- package/types/src/commands/app/metadata.d.ts +20 -0
- package/types/src/commands/app/metadata.d.ts.map +1 -0
- package/types/src/commands/app/raw_apps.d.ts +18 -0
- package/types/src/commands/app/raw_apps.d.ts.map +1 -0
- package/types/src/commands/app/wmillTsDev.d.ts +2 -0
- package/types/src/commands/app/wmillTsDev.d.ts.map +1 -0
- package/types/src/commands/dependencies/dependencies.d.ts +15 -0
- package/types/src/commands/dependencies/dependencies.d.ts.map +1 -0
- package/types/src/commands/flow/flow.d.ts.map +1 -1
- package/types/src/commands/flow/flow_metadata.d.ts +8 -0
- package/types/src/commands/flow/flow_metadata.d.ts.map +1 -0
- package/types/src/commands/script/script.d.ts +4 -5
- package/types/src/commands/script/script.d.ts.map +1 -1
- package/types/src/commands/sync/pull.d.ts +1 -1
- package/types/src/commands/sync/pull.d.ts.map +1 -1
- package/types/src/commands/sync/sync.d.ts +7 -1
- package/types/src/commands/sync/sync.d.ts.map +1 -1
- package/types/src/commands/workspace/fork.d.ts.map +1 -1
- package/types/src/commands/workspace/workspace.d.ts.map +1 -1
- package/types/src/core/conf.d.ts +8 -1
- package/types/src/core/conf.d.ts.map +1 -1
- package/types/src/core/context.d.ts.map +1 -1
- package/types/src/main.d.ts.map +1 -1
- package/types/src/types.d.ts +1 -1
- package/types/src/types.d.ts.map +1 -1
- package/types/src/utils/metadata.d.ts +8 -9
- package/types/src/utils/metadata.d.ts.map +1 -1
- package/types/src/utils/script_common.d.ts +6 -6
- package/types/src/utils/script_common.d.ts.map +1 -1
- package/types/src/utils/utils.d.ts +2 -0
- package/types/src/utils/utils.d.ts.map +1 -1
- package/types/windmill-utils-internal/src/gen/types.gen.d.ts +73 -0
- package/types/windmill-utils-internal/src/gen/types.gen.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/1.0.12/_os.js +0 -12
- package/esm/deps/jsr.io/@std/internal/1.0.12/os.js +0 -5
- package/esm/deps/jsr.io/@std/path/1.1.3/mod.js +0 -216
- package/esm/deps/jsr.io/@std/path/1.1.3/types.js +0 -3
- package/types/deps/jsr.io/@std/internal/1.0.12/_os.d.ts +0 -2
- package/types/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/internal/1.0.12/os.d.ts +0 -3
- package/types/deps/jsr.io/@std/internal/1.0.12/os.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/basename.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/dirname.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/extname.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/join.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/mod.d.ts +0 -213
- package/types/deps/jsr.io/@std/path/1.1.3/mod.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/normalize.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/posix/basename.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/posix/dirname.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/posix/extname.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/posix/join.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/posix/normalize.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/windows/basename.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/windows/dirname.d.ts +0 -17
- package/types/deps/jsr.io/@std/path/1.1.3/windows/dirname.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/windows/extname.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/windows/join.d.ts +0 -18
- package/types/deps/jsr.io/@std/path/1.1.3/windows/join.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/path/1.1.3/windows/normalize.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_chars.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_dumper_state.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_loader_state.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_schema.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/binary.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/bool.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/float.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/int.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/map.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/merge.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/nil.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/omap.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/pairs.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/regexp.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/seq.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/set.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/str.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/timestamp.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type/undefined.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_type.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/_utils.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/mod.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/parse.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/1.0.10/stringify.d.ts.map +0 -1
- /package/esm/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/_types.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/concat.js +0 -0
- /package/esm/deps/jsr.io/@std/fmt/{1.0.8 → 1.0.6}/colors.js +0 -0
- /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_get_file_info_type.js +0 -0
- /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_dir.js +0 -0
- /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/eol.js +0 -0
- /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/exists.js +0 -0
- /package/esm/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/mod.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/binary.js +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.6 → 1.0.5}/_types.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fmt/{1.0.8 → 1.0.6}/colors.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_create_walk_entry.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_get_file_info_type.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_same_path.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_is_subdir.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/_to_path_string.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/copy.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/empty_dir.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_dir.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_file.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_link.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/ensure_symlink.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/eol.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/exists.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/mod.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/move.d.ts +0 -0
- /package/types/deps/jsr.io/@std/fs/{1.0.20 → 1.0.16}/walk.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/assert_path.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/basename.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/common.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/constants.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/dirname.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/format.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/from_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/glob_to_reg_exp.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/normalize_string.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/relative.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/strip_trailing_separators.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/_common/to_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/common.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/constants.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/format.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/from_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/glob_to_regexp.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_absolute.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/is_glob.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/join_globs.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/normalize_glob.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/parse.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/_util.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/constants.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/format.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/from_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/glob_to_regexp.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/is_absolute.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/join_globs.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/normalize_glob.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/parse.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/relative.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/resolve.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/posix/to_namespaced_path.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/relative.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/resolve.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/to_namespaced_path.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/types.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/_util.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/constants.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/format.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/from_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/glob_to_regexp.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/is_absolute.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/join_globs.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/normalize_glob.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/parse.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/relative.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/resolve.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_file_url.d.ts +0 -0
- /package/types/deps/jsr.io/@std/path/{1.1.3 → 1.0.8}/windows/to_namespaced_path.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_chars.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/binary.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/bool.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/float.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/int.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/map.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/merge.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/nil.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/omap.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/pairs.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/regexp.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/seq.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/set.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/str.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/timestamp.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_type/undefined.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/_utils.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/mod.d.ts +0 -0
- /package/types/deps/jsr.io/@std/yaml/{1.0.10 → 1.0.5}/parse.d.ts +0 -0
- /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 &&
|
|
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 {
|
package/esm/src/core/conf.js
CHANGED
|
@@ -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 (
|
|
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();
|
package/esm/src/core/context.js
CHANGED
|
@@ -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
|
-
|
|
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 {
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
|
164
|
-
?
|
|
165
|
-
: p.endsWith(".
|
|
166
|
-
?
|
|
167
|
-
:
|
|
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,
|
|
3
|
+
import { SEP, colors, log, yamlParseFile, yamlStringify } from "../../deps.js";
|
|
4
4
|
import { defaultScriptMetadata, } from "../../bootstrap/script_bootstrap.js";
|
|
5
|
-
import {
|
|
5
|
+
import { workspaceDependenciesLanguages, } from "./script_common.js";
|
|
6
6
|
import { inferContentTypeFromFilePath } from "./script_common.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
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
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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,
|
|
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
|
-
|
|
141
|
-
|
|
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,
|
|
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(
|
|
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,
|
|
204
|
-
if (!(
|
|
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 (
|
|
211
|
-
|
|
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
|
-
|
|
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.
|
|
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(
|
|
616
|
-
return await generateHash((
|
|
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
|
|
2
|
-
{ language: "bun",
|
|
3
|
-
{ language: "python3",
|
|
4
|
-
{ language: "php",
|
|
5
|
-
{ language: "go",
|
|
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")) {
|