Packages

Gleam SDK for Dagger — type-safe pipelines via GraphQL codegen

Current section

Files

Jump to
dagger_gleam src dagger@dsl@dag.erl
Raw

src/dagger@dsl@dag.erl

-module(dagger@dsl@dag).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/dagger/dsl/dag.gleam").
-export([none/1, opt_platform/2, opt_skip_migration_check/2, opt_privileged/2, opt_writable/2, opt_permissions/2, opt_ssh_known_hosts/2, opt_ssh_auth_socket/2, opt_http_auth_username/2, opt_http_auth_token/2, opt_http_auth_header/2, opt_experimental_service_host/2, opt_name/2, opt_auth_header/2, opt_model/2, opt_max_a_p_i_calls/2, opt_ref_pin/2, opt_disable_find_up/2, opt_allow_not_exists/2, opt_require_kind/2, opt_cache_key/2, address/1, cache_volume/1, cloud/0, container/1, current_env/0, current_function_call/0, current_module/0, current_type_defs/3, current_workspace/1, default_platform/2, directory/0, engine/0, env/1, env_file/0, error/1, file/3, function/2, generated_code/1, git/2, host/0, http/2, json/0, llm/1, load_address_from_i_d/1, load_binding_from_i_d/1, load_cache_volume_from_i_d/1, load_changeset_from_i_d/1, load_check_from_i_d/1, load_check_group_from_i_d/1, load_cloud_from_i_d/1, load_container_from_i_d/1, load_current_module_from_i_d/1, load_directory_from_i_d/1, load_engine_cache_entry_from_i_d/1, load_engine_cache_entry_set_from_i_d/1, load_engine_cache_from_i_d/1, load_engine_from_i_d/1, load_enum_type_def_from_i_d/1, load_enum_value_type_def_from_i_d/1, load_env_file_from_i_d/1, load_env_from_i_d/1, load_env_variable_from_i_d/1, load_error_from_i_d/1, load_error_value_from_i_d/1, load_field_type_def_from_i_d/1, load_file_from_i_d/1, load_function_arg_from_i_d/1, load_function_call_arg_value_from_i_d/1, load_function_call_from_i_d/1, load_function_from_i_d/1, load_generated_code_from_i_d/1, load_generator_from_i_d/1, load_generator_group_from_i_d/1, load_git_ref_from_i_d/1, load_git_repository_from_i_d/1, load_host_from_i_d/1, load_input_type_def_from_i_d/1, load_interface_type_def_from_i_d/1, load_j_s_o_n_value_from_i_d/1, load_l_l_m_from_i_d/1, load_l_l_m_token_usage_from_i_d/1, load_label_from_i_d/1, load_list_type_def_from_i_d/1, load_module_config_client_from_i_d/1, load_module_from_i_d/1, load_module_source_from_i_d/1, load_object_type_def_from_i_d/1, load_port_from_i_d/1, load_s_d_k_config_from_i_d/1, load_scalar_type_def_from_i_d/1, load_search_result_from_i_d/1, load_search_submatch_from_i_d/1, load_secret_from_i_d/1, load_service_from_i_d/1, load_socket_from_i_d/1, load_source_map_from_i_d/1, load_stat_from_i_d/1, load_terminal_from_i_d/1, load_type_def_from_i_d/1, load_workspace_from_i_d/1, module/0, module_source/2, secret/2, set_secret/2, source_map/3, type_def/0, version/2]).
-export_type([for_secret/0, for_module_source/0, for_llm/0, for_http/0, for_git/0, for_env/0, for_current_workspace/0, for_container/0, opts/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-type for_secret() :: any().
-type for_module_source() :: any().
-type for_llm() :: any().
-type for_http() :: any().
-type for_git() :: any().
-type for_env() :: any().
-type for_current_workspace() :: any().
-type for_container() :: any().
-opaque opts(NPW) :: {opts,
gleam@option:option(binary()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(integer()),
gleam@option:option(binary()),
gleam@option:option(dagger@dsl@types:socket()),
gleam@option:option(binary()),
gleam@option:option(dagger@dsl@types:secret()),
gleam@option:option(dagger@dsl@types:secret()),
gleam@option:option(dagger@dsl@types:service()),
gleam@option:option(binary()),
gleam@option:option(dagger@dsl@types:secret()),
gleam@option:option(binary()),
gleam@option:option(integer()),
gleam@option:option(binary()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(dagger@dsl@types:module_source_kind()),
gleam@option:option(binary())} |
{gleam_phantom, NPW}.
-file("src/dagger/dsl/dag.gleam", 44).
-spec defaults() -> opts(any()).
defaults() ->
{opts,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none}.
-file("src/dagger/dsl/dag.gleam", 69).
-spec none(opts(NPZ)) -> opts(NPZ).
none(Opts) ->
Opts.
-file("src/dagger/dsl/dag.gleam", 73).
-spec opt_platform(opts(for_container()), binary()) -> opts(for_container()).
opt_platform(Opts, Val) ->
{opts,
{some, Val},
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 77).
-spec opt_skip_migration_check(opts(for_current_workspace()), boolean()) -> opts(for_current_workspace()).
opt_skip_migration_check(Opts, Val) ->
{opts,
erlang:element(2, Opts),
{some, Val},
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 81).
-spec opt_privileged(opts(for_env()), boolean()) -> opts(for_env()).
opt_privileged(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
{some, Val},
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 85).
-spec opt_writable(opts(for_env()), boolean()) -> opts(for_env()).
opt_writable(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
{some, Val},
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 89).
-spec opt_permissions(opts(NQK), integer()) -> opts(NQK).
opt_permissions(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
{some, Val},
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 93).
-spec opt_ssh_known_hosts(opts(for_git()), binary()) -> opts(for_git()).
opt_ssh_known_hosts(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
{some, Val},
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 97).
-spec opt_ssh_auth_socket(opts(for_git()), dagger@dsl@types:socket()) -> opts(for_git()).
opt_ssh_auth_socket(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
{some, Val},
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 101).
-spec opt_http_auth_username(opts(for_git()), binary()) -> opts(for_git()).
opt_http_auth_username(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
{some, Val},
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 105).
-spec opt_http_auth_token(opts(for_git()), dagger@dsl@types:secret()) -> opts(for_git()).
opt_http_auth_token(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
{some, Val},
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 109).
-spec opt_http_auth_header(opts(for_git()), dagger@dsl@types:secret()) -> opts(for_git()).
opt_http_auth_header(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
{some, Val},
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 113).
-spec opt_experimental_service_host(opts(NQX), dagger@dsl@types:service()) -> opts(NQX).
opt_experimental_service_host(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
{some, Val},
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 117).
-spec opt_name(opts(for_http()), binary()) -> opts(for_http()).
opt_name(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
{some, Val},
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 121).
-spec opt_auth_header(opts(for_http()), dagger@dsl@types:secret()) -> opts(for_http()).
opt_auth_header(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
{some, Val},
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 125).
-spec opt_model(opts(for_llm()), binary()) -> opts(for_llm()).
opt_model(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
{some, Val},
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 129).
-spec opt_max_a_p_i_calls(opts(for_llm()), integer()) -> opts(for_llm()).
opt_max_a_p_i_calls(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
{some, Val},
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 133).
-spec opt_ref_pin(opts(for_module_source()), binary()) -> opts(for_module_source()).
opt_ref_pin(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
{some, Val},
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 137).
-spec opt_disable_find_up(opts(for_module_source()), boolean()) -> opts(for_module_source()).
opt_disable_find_up(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
{some, Val},
erlang:element(19, Opts),
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 141).
-spec opt_allow_not_exists(opts(for_module_source()), boolean()) -> opts(for_module_source()).
opt_allow_not_exists(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
{some, Val},
erlang:element(20, Opts),
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 145).
-spec opt_require_kind(
opts(for_module_source()),
dagger@dsl@types:module_source_kind()
) -> opts(for_module_source()).
opt_require_kind(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
{some, Val},
erlang:element(21, Opts)}.
-file("src/dagger/dsl/dag.gleam", 149).
-spec opt_cache_key(opts(for_secret()), binary()) -> opts(for_secret()).
opt_cache_key(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts),
{some, Val}}.
-file("src/dagger/dsl/dag.gleam", 154).
?DOC(" initialize an address to load directories, containers, secrets or other object types.\n").
-spec address(binary()) -> dagger@dsl@types:address().
address(Value) ->
Field = {field,
<<"address"/utf8>>,
[{<<"value"/utf8>>, {g_string, Value}}],
[]},
{address, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 160).
?DOC(" Constructs a cache volume for a given cache key.\n").
-spec cache_volume(binary()) -> dagger@dsl@types:cache_volume().
cache_volume(Key) ->
Field = {field,
<<"cacheVolume"/utf8>>,
[{<<"key"/utf8>>, {g_string, Key}}],
[]},
{cache_volume, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 166).
?DOC(" Dagger Cloud configuration and state\n").
-spec cloud() -> dagger@dsl@types:cloud().
cloud() ->
Field = {field, <<"cloud"/utf8>>, [], []},
{cloud, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 171).
-spec encode_container(opts(any())) -> list({binary(), dagger@types:value()}).
encode_container(Opts) ->
gleam@list:filter_map([case erlang:element(2, Opts) of
{some, Val} ->
{ok, {<<"platform"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 182).
?DOC(
" Creates a scratch container, with no image or metadata.\n"
" To pull an image, follow up with the \"from\" function.\n"
).
-spec container(fun((opts(for_container())) -> opts(for_container()))) -> dagger@dsl@types:container().
container(With_fn) ->
Opts = With_fn(defaults()),
Field = {field, <<"container"/utf8>>, encode_container(Opts), []},
{container, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 191).
?DOC(
" Returns the current environment\n"
" When called from a function invoked via an LLM tool call, this will be the LLM's current environment, including any modifications made through calling tools. Env values returned by functions become the new environment for subsequent calls, and Changeset values returned by functions are applied to the environment's workspace.\n"
" When called from a module function outside of an LLM, this returns an Env with the current module installed, and with the current module's source directory as its workspace.\n"
).
-spec current_env() -> dagger@dsl@types:env().
current_env() ->
Field = {field, <<"currentEnv"/utf8>>, [], []},
{env, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 198).
?DOC(
" The FunctionCall context that the SDK caller is currently executing in.\n"
" If the caller is not currently executing in a function, this will return an error.\n"
).
-spec current_function_call() -> dagger@dsl@types:function_call().
current_function_call() ->
Field = {field, <<"currentFunctionCall"/utf8>>, [], []},
{function_call, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 204).
?DOC(" The module currently being served in the session, if any.\n").
-spec current_module() -> dagger@dsl@types:current_module().
current_module() ->
Field = {field, <<"currentModule"/utf8>>, [], []},
{current_module, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 210).
?DOC(" The TypeDef representations of the objects currently being served in the session.\n").
-spec current_type_defs(
fun((dagger@dsl@types:type_def()) -> list(dagger@types:field())),
dagger@types:client(),
fun(({ok, list(dagger@dsl@types:type_def())} |
{error, dagger@types:query_error()}) -> NSA)
) -> NSA.
current_type_defs(Select, Client, Handler) ->
Subfields = Select({type_def, {pure, []}}),
Field = {field, <<"currentTypeDefs"/utf8>>, [], Subfields},
Op = begin
dagger@types:bind(
{pure, []},
fun(Q) ->
Full_query = lists:append(Q, [Field]),
{fetch,
Full_query,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1},
fun(Dyn) ->
Path = dagger@types:make_path(Full_query),
case gleam@dynamic@decode:run(
Dyn,
gleam@dynamic@decode:at(
Path,
gleam@dynamic@decode:list(
{decoder,
fun gleam@dynamic@decode:decode_dynamic/1}
)
)
) of
{ok, Items} ->
{pure,
{ok,
gleam@list:map(
Items,
fun(_) ->
{type_def, {pure, Full_query}}
end
)}};
{error, _} ->
{pure,
{error,
{decoding_error,
<<"currentTypeDefs"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/dag.gleam", 231).
-spec encode_current_workspace(opts(any())) -> list({binary(),
dagger@types:value()}).
encode_current_workspace(Opts) ->
gleam@list:filter_map([case erlang:element(3, Opts) of
{some, Val} ->
{ok, {<<"skipMigrationCheck"/utf8>>, {g_bool, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 241).
?DOC(" Detect and return the current workspace.\n").
-spec current_workspace(
fun((opts(for_current_workspace())) -> opts(for_current_workspace()))
) -> dagger@dsl@types:workspace().
current_workspace(With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"currentWorkspace"/utf8>>,
encode_current_workspace(Opts),
[]},
{workspace, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 248).
?DOC(" The default platform of the engine.\n").
-spec default_platform(
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> NSH)
) -> NSH.
default_platform(Client, Handler) ->
Field = {field, <<"defaultPlatform"/utf8>>, [], []},
Op = begin
dagger@types:bind(
{pure, []},
fun(Q) ->
Full_query = lists:append(Q, [Field]),
{fetch,
Full_query,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1},
fun(Dyn) ->
Path = dagger@types:make_path(Full_query),
case gleam@dynamic@decode:run(
Dyn,
gleam@dynamic@decode:at(
Path,
{decoder,
fun gleam@dynamic@decode:decode_string/1}
)
) of
{ok, Val} ->
{pure, {ok, Val}};
{error, _} ->
{pure,
{error,
{decoding_error,
<<"defaultPlatform"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/dag.gleam", 269).
?DOC(" Creates an empty directory.\n").
-spec directory() -> dagger@dsl@types:directory().
directory() ->
Field = {field, <<"directory"/utf8>>, [], []},
{directory, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 275).
?DOC(" The Dagger engine container configuration and state\n").
-spec engine() -> dagger@dsl@types:engine().
engine() ->
Field = {field, <<"engine"/utf8>>, [], []},
{engine, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 280).
-spec encode_env(opts(any())) -> list({binary(), dagger@types:value()}).
encode_env(Opts) ->
gleam@list:filter_map([case erlang:element(4, Opts) of
{some, Val} ->
{ok, {<<"privileged"/utf8>>, {g_bool, Val}}};
none ->
{error, nil}
end, case erlang:element(5, Opts) of
{some, Val@1} ->
{ok, {<<"writable"/utf8>>, {g_bool, Val@1}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 294).
?DOC(" Initializes a new environment\n").
-spec env(fun((opts(for_env())) -> opts(for_env()))) -> dagger@dsl@types:env().
env(With_fn) ->
Opts = With_fn(defaults()),
Field = {field, <<"env"/utf8>>, encode_env(Opts), []},
{env, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 301).
?DOC(" Initialize an environment file\n").
-spec env_file() -> dagger@dsl@types:env_file().
env_file() ->
Field = {field, <<"envFile"/utf8>>, [], []},
{env_file, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 307).
?DOC(" Create a new error.\n").
-spec error(binary()) -> dagger@dsl@types:error().
error(Message) ->
Field = {field,
<<"error"/utf8>>,
[{<<"message"/utf8>>, {g_string, Message}}],
[]},
{error, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 312).
-spec encode_file(opts(any())) -> list({binary(), dagger@types:value()}).
encode_file(Opts) ->
gleam@list:filter_map([case erlang:element(6, Opts) of
{some, Val} ->
{ok, {<<"permissions"/utf8>>, {g_int, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 322).
?DOC(" Creates a file with the specified contents.\n").
-spec file(binary(), binary(), fun((opts(NSQ)) -> opts(NSQ))) -> dagger@dsl@types:file().
file(Name, Contents, With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"file"/utf8>>,
lists:append(
[{<<"name"/utf8>>, {g_string, Name}},
{<<"contents"/utf8>>, {g_string, Contents}}],
encode_file(Opts)
),
[]},
{file, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 329).
?DOC(" Creates a function.\n").
-spec function(binary(), dagger@dsl@types:type_def()) -> dagger@dsl@types:function_().
function(Name, Return_type) ->
Field = {field,
<<"function"/utf8>>,
[{<<"name"/utf8>>, {g_string, Name}},
{<<"returnType"/utf8>>,
{g_deferred, erlang:element(2, Return_type)}}],
[]},
{function, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 335).
?DOC(" Create a code generation result, given a directory containing the generated code.\n").
-spec generated_code(dagger@dsl@types:directory()) -> dagger@dsl@types:generated_code().
generated_code(Code) ->
Field = {field,
<<"generatedCode"/utf8>>,
[{<<"code"/utf8>>, {g_deferred, erlang:element(2, Code)}}],
[]},
{generated_code, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 340).
-spec encode_git(opts(any())) -> list({binary(), dagger@types:value()}).
encode_git(Opts) ->
gleam@list:filter_map([case erlang:element(7, Opts) of
{some, Val} ->
{ok, {<<"sshKnownHosts"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end, case erlang:element(8, Opts) of
{some, Val@1} ->
{ok,
{<<"sshAuthSocket"/utf8>>,
{g_deferred, erlang:element(2, Val@1)}}};
none ->
{error, nil}
end, case erlang:element(9, Opts) of
{some, Val@2} ->
{ok, {<<"httpAuthUsername"/utf8>>, {g_string, Val@2}}};
none ->
{error, nil}
end, case erlang:element(10, Opts) of
{some, Val@3} ->
{ok,
{<<"httpAuthToken"/utf8>>,
{g_deferred, erlang:element(2, Val@3)}}};
none ->
{error, nil}
end, case erlang:element(11, Opts) of
{some, Val@4} ->
{ok,
{<<"httpAuthHeader"/utf8>>,
{g_deferred, erlang:element(2, Val@4)}}};
none ->
{error, nil}
end, case erlang:element(12, Opts) of
{some, Val@5} ->
{ok,
{<<"experimentalServiceHost"/utf8>>,
{g_deferred, erlang:element(2, Val@5)}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 370).
?DOC(" Queries a Git repository.\n").
-spec git(binary(), fun((opts(for_git())) -> opts(for_git()))) -> dagger@dsl@types:git_repository().
git(Url, With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"git"/utf8>>,
lists:append([{<<"url"/utf8>>, {g_string, Url}}], encode_git(Opts)),
[]},
{git_repository, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 377).
?DOC(" Queries the host environment.\n").
-spec host() -> dagger@dsl@types:host().
host() ->
Field = {field, <<"host"/utf8>>, [], []},
{host, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 382).
-spec encode_http(opts(any())) -> list({binary(), dagger@types:value()}).
encode_http(Opts) ->
gleam@list:filter_map([case erlang:element(6, Opts) of
{some, Val} ->
{ok, {<<"permissions"/utf8>>, {g_int, Val}}};
none ->
{error, nil}
end, case erlang:element(12, Opts) of
{some, Val@1} ->
{ok,
{<<"experimentalServiceHost"/utf8>>,
{g_deferred, erlang:element(2, Val@1)}}};
none ->
{error, nil}
end, case erlang:element(13, Opts) of
{some, Val@2} ->
{ok, {<<"name"/utf8>>, {g_string, Val@2}}};
none ->
{error, nil}
end, case erlang:element(14, Opts) of
{some, Val@3} ->
{ok,
{<<"authHeader"/utf8>>,
{g_deferred, erlang:element(2, Val@3)}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 404).
?DOC(" Returns a file containing an http remote url content.\n").
-spec http(binary(), fun((opts(for_http())) -> opts(for_http()))) -> dagger@dsl@types:file().
http(Url, With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"http"/utf8>>,
lists:append([{<<"url"/utf8>>, {g_string, Url}}], encode_http(Opts)),
[]},
{file, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 411).
?DOC(" Initialize a JSON value\n").
-spec json() -> dagger@dsl@types:j_s_o_n_value().
json() ->
Field = {field, <<"json"/utf8>>, [], []},
{j_s_o_n_value, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 416).
-spec encode_llm(opts(any())) -> list({binary(), dagger@types:value()}).
encode_llm(Opts) ->
gleam@list:filter_map([case erlang:element(15, Opts) of
{some, Val} ->
{ok, {<<"model"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end, case erlang:element(16, Opts) of
{some, Val@1} ->
{ok, {<<"maxAPICalls"/utf8>>, {g_int, Val@1}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 430).
?DOC(" Initialize a Large Language Model (LLM)\n").
-spec llm(fun((opts(for_llm())) -> opts(for_llm()))) -> dagger@dsl@types:l_l_m().
llm(With_fn) ->
Opts = With_fn(defaults()),
Field = {field, <<"llm"/utf8>>, encode_llm(Opts), []},
{l_l_m, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 437).
?DOC(" Load a Address from its ID.\n").
-spec load_address_from_i_d(dagger@dsl@types:address()) -> dagger@dsl@types:address().
load_address_from_i_d(Id) ->
Field = {field,
<<"loadAddressFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{address, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 443).
?DOC(" Load a Binding from its ID.\n").
-spec load_binding_from_i_d(dagger@dsl@types:binding()) -> dagger@dsl@types:binding().
load_binding_from_i_d(Id) ->
Field = {field,
<<"loadBindingFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{binding, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 449).
?DOC(" Load a CacheVolume from its ID.\n").
-spec load_cache_volume_from_i_d(dagger@dsl@types:cache_volume()) -> dagger@dsl@types:cache_volume().
load_cache_volume_from_i_d(Id) ->
Field = {field,
<<"loadCacheVolumeFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{cache_volume, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 455).
?DOC(" Load a Changeset from its ID.\n").
-spec load_changeset_from_i_d(dagger@dsl@types:changeset()) -> dagger@dsl@types:changeset().
load_changeset_from_i_d(Id) ->
Field = {field,
<<"loadChangesetFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{changeset, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 461).
?DOC(" Load a Check from its ID.\n").
-spec load_check_from_i_d(dagger@dsl@types:check()) -> dagger@dsl@types:check().
load_check_from_i_d(Id) ->
Field = {field,
<<"loadCheckFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{check, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 467).
?DOC(" Load a CheckGroup from its ID.\n").
-spec load_check_group_from_i_d(dagger@dsl@types:check_group()) -> dagger@dsl@types:check_group().
load_check_group_from_i_d(Id) ->
Field = {field,
<<"loadCheckGroupFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{check_group, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 473).
?DOC(" Load a Cloud from its ID.\n").
-spec load_cloud_from_i_d(dagger@dsl@types:cloud()) -> dagger@dsl@types:cloud().
load_cloud_from_i_d(Id) ->
Field = {field,
<<"loadCloudFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{cloud, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 479).
?DOC(" Load a Container from its ID.\n").
-spec load_container_from_i_d(dagger@dsl@types:container()) -> dagger@dsl@types:container().
load_container_from_i_d(Id) ->
Field = {field,
<<"loadContainerFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{container, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 485).
?DOC(" Load a CurrentModule from its ID.\n").
-spec load_current_module_from_i_d(dagger@dsl@types:current_module()) -> dagger@dsl@types:current_module().
load_current_module_from_i_d(Id) ->
Field = {field,
<<"loadCurrentModuleFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{current_module, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 491).
?DOC(" Load a Directory from its ID.\n").
-spec load_directory_from_i_d(dagger@dsl@types:directory()) -> dagger@dsl@types:directory().
load_directory_from_i_d(Id) ->
Field = {field,
<<"loadDirectoryFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{directory, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 497).
?DOC(" Load a EngineCacheEntry from its ID.\n").
-spec load_engine_cache_entry_from_i_d(dagger@dsl@types:engine_cache_entry()) -> dagger@dsl@types:engine_cache_entry().
load_engine_cache_entry_from_i_d(Id) ->
Field = {field,
<<"loadEngineCacheEntryFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{engine_cache_entry, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 503).
?DOC(" Load a EngineCacheEntrySet from its ID.\n").
-spec load_engine_cache_entry_set_from_i_d(
dagger@dsl@types:engine_cache_entry_set()
) -> dagger@dsl@types:engine_cache_entry_set().
load_engine_cache_entry_set_from_i_d(Id) ->
Field = {field,
<<"loadEngineCacheEntrySetFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{engine_cache_entry_set, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 509).
?DOC(" Load a EngineCache from its ID.\n").
-spec load_engine_cache_from_i_d(dagger@dsl@types:engine_cache()) -> dagger@dsl@types:engine_cache().
load_engine_cache_from_i_d(Id) ->
Field = {field,
<<"loadEngineCacheFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{engine_cache, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 515).
?DOC(" Load a Engine from its ID.\n").
-spec load_engine_from_i_d(dagger@dsl@types:engine()) -> dagger@dsl@types:engine().
load_engine_from_i_d(Id) ->
Field = {field,
<<"loadEngineFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{engine, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 521).
?DOC(" Load a EnumTypeDef from its ID.\n").
-spec load_enum_type_def_from_i_d(dagger@dsl@types:enum_type_def()) -> dagger@dsl@types:enum_type_def().
load_enum_type_def_from_i_d(Id) ->
Field = {field,
<<"loadEnumTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{enum_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 527).
?DOC(" Load a EnumValueTypeDef from its ID.\n").
-spec load_enum_value_type_def_from_i_d(dagger@dsl@types:enum_value_type_def()) -> dagger@dsl@types:enum_value_type_def().
load_enum_value_type_def_from_i_d(Id) ->
Field = {field,
<<"loadEnumValueTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{enum_value_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 533).
?DOC(" Load a EnvFile from its ID.\n").
-spec load_env_file_from_i_d(dagger@dsl@types:env_file()) -> dagger@dsl@types:env_file().
load_env_file_from_i_d(Id) ->
Field = {field,
<<"loadEnvFileFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{env_file, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 539).
?DOC(" Load a Env from its ID.\n").
-spec load_env_from_i_d(dagger@dsl@types:env()) -> dagger@dsl@types:env().
load_env_from_i_d(Id) ->
Field = {field,
<<"loadEnvFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{env, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 545).
?DOC(" Load a EnvVariable from its ID.\n").
-spec load_env_variable_from_i_d(dagger@dsl@types:env_variable()) -> dagger@dsl@types:env_variable().
load_env_variable_from_i_d(Id) ->
Field = {field,
<<"loadEnvVariableFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{env_variable, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 551).
?DOC(" Load a Error from its ID.\n").
-spec load_error_from_i_d(dagger@dsl@types:error()) -> dagger@dsl@types:error().
load_error_from_i_d(Id) ->
Field = {field,
<<"loadErrorFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{error, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 557).
?DOC(" Load a ErrorValue from its ID.\n").
-spec load_error_value_from_i_d(dagger@dsl@types:error_value()) -> dagger@dsl@types:error_value().
load_error_value_from_i_d(Id) ->
Field = {field,
<<"loadErrorValueFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{error_value, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 563).
?DOC(" Load a FieldTypeDef from its ID.\n").
-spec load_field_type_def_from_i_d(dagger@dsl@types:field_type_def()) -> dagger@dsl@types:field_type_def().
load_field_type_def_from_i_d(Id) ->
Field = {field,
<<"loadFieldTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{field_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 569).
?DOC(" Load a File from its ID.\n").
-spec load_file_from_i_d(dagger@dsl@types:file()) -> dagger@dsl@types:file().
load_file_from_i_d(Id) ->
Field = {field,
<<"loadFileFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{file, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 575).
?DOC(" Load a FunctionArg from its ID.\n").
-spec load_function_arg_from_i_d(dagger@dsl@types:function_arg()) -> dagger@dsl@types:function_arg().
load_function_arg_from_i_d(Id) ->
Field = {field,
<<"loadFunctionArgFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{function_arg, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 581).
?DOC(" Load a FunctionCallArgValue from its ID.\n").
-spec load_function_call_arg_value_from_i_d(
dagger@dsl@types:function_call_arg_value()
) -> dagger@dsl@types:function_call_arg_value().
load_function_call_arg_value_from_i_d(Id) ->
Field = {field,
<<"loadFunctionCallArgValueFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{function_call_arg_value, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 587).
?DOC(" Load a FunctionCall from its ID.\n").
-spec load_function_call_from_i_d(dagger@dsl@types:function_call()) -> dagger@dsl@types:function_call().
load_function_call_from_i_d(Id) ->
Field = {field,
<<"loadFunctionCallFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{function_call, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 593).
?DOC(" Load a Function from its ID.\n").
-spec load_function_from_i_d(dagger@dsl@types:function_()) -> dagger@dsl@types:function_().
load_function_from_i_d(Id) ->
Field = {field,
<<"loadFunctionFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{function, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 599).
?DOC(" Load a GeneratedCode from its ID.\n").
-spec load_generated_code_from_i_d(dagger@dsl@types:generated_code()) -> dagger@dsl@types:generated_code().
load_generated_code_from_i_d(Id) ->
Field = {field,
<<"loadGeneratedCodeFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{generated_code, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 605).
?DOC(" Load a Generator from its ID.\n").
-spec load_generator_from_i_d(dagger@dsl@types:generator()) -> dagger@dsl@types:generator().
load_generator_from_i_d(Id) ->
Field = {field,
<<"loadGeneratorFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{generator, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 611).
?DOC(" Load a GeneratorGroup from its ID.\n").
-spec load_generator_group_from_i_d(dagger@dsl@types:generator_group()) -> dagger@dsl@types:generator_group().
load_generator_group_from_i_d(Id) ->
Field = {field,
<<"loadGeneratorGroupFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{generator_group, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 617).
?DOC(" Load a GitRef from its ID.\n").
-spec load_git_ref_from_i_d(dagger@dsl@types:git_ref()) -> dagger@dsl@types:git_ref().
load_git_ref_from_i_d(Id) ->
Field = {field,
<<"loadGitRefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{git_ref, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 623).
?DOC(" Load a GitRepository from its ID.\n").
-spec load_git_repository_from_i_d(dagger@dsl@types:git_repository()) -> dagger@dsl@types:git_repository().
load_git_repository_from_i_d(Id) ->
Field = {field,
<<"loadGitRepositoryFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{git_repository, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 629).
?DOC(" Load a Host from its ID.\n").
-spec load_host_from_i_d(dagger@dsl@types:host()) -> dagger@dsl@types:host().
load_host_from_i_d(Id) ->
Field = {field,
<<"loadHostFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{host, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 635).
?DOC(" Load a InputTypeDef from its ID.\n").
-spec load_input_type_def_from_i_d(dagger@dsl@types:input_type_def()) -> dagger@dsl@types:input_type_def().
load_input_type_def_from_i_d(Id) ->
Field = {field,
<<"loadInputTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{input_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 641).
?DOC(" Load a InterfaceTypeDef from its ID.\n").
-spec load_interface_type_def_from_i_d(dagger@dsl@types:interface_type_def()) -> dagger@dsl@types:interface_type_def().
load_interface_type_def_from_i_d(Id) ->
Field = {field,
<<"loadInterfaceTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{interface_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 647).
?DOC(" Load a JSONValue from its ID.\n").
-spec load_j_s_o_n_value_from_i_d(dagger@dsl@types:j_s_o_n_value()) -> dagger@dsl@types:j_s_o_n_value().
load_j_s_o_n_value_from_i_d(Id) ->
Field = {field,
<<"loadJSONValueFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{j_s_o_n_value, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 653).
?DOC(" Load a LLM from its ID.\n").
-spec load_l_l_m_from_i_d(dagger@dsl@types:l_l_m()) -> dagger@dsl@types:l_l_m().
load_l_l_m_from_i_d(Id) ->
Field = {field,
<<"loadLLMFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{l_l_m, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 659).
?DOC(" Load a LLMTokenUsage from its ID.\n").
-spec load_l_l_m_token_usage_from_i_d(dagger@dsl@types:l_l_m_token_usage()) -> dagger@dsl@types:l_l_m_token_usage().
load_l_l_m_token_usage_from_i_d(Id) ->
Field = {field,
<<"loadLLMTokenUsageFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{l_l_m_token_usage, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 665).
?DOC(" Load a Label from its ID.\n").
-spec load_label_from_i_d(dagger@dsl@types:label()) -> dagger@dsl@types:label().
load_label_from_i_d(Id) ->
Field = {field,
<<"loadLabelFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{label, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 671).
?DOC(" Load a ListTypeDef from its ID.\n").
-spec load_list_type_def_from_i_d(dagger@dsl@types:list_type_def()) -> dagger@dsl@types:list_type_def().
load_list_type_def_from_i_d(Id) ->
Field = {field,
<<"loadListTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{list_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 677).
?DOC(" Load a ModuleConfigClient from its ID.\n").
-spec load_module_config_client_from_i_d(
dagger@dsl@types:module_config_client()
) -> dagger@dsl@types:module_config_client().
load_module_config_client_from_i_d(Id) ->
Field = {field,
<<"loadModuleConfigClientFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{module_config_client, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 683).
?DOC(" Load a Module from its ID.\n").
-spec load_module_from_i_d(dagger@dsl@types:module_()) -> dagger@dsl@types:module_().
load_module_from_i_d(Id) ->
Field = {field,
<<"loadModuleFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{module, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 689).
?DOC(" Load a ModuleSource from its ID.\n").
-spec load_module_source_from_i_d(dagger@dsl@types:module_source()) -> dagger@dsl@types:module_source().
load_module_source_from_i_d(Id) ->
Field = {field,
<<"loadModuleSourceFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{module_source, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 695).
?DOC(" Load a ObjectTypeDef from its ID.\n").
-spec load_object_type_def_from_i_d(dagger@dsl@types:object_type_def()) -> dagger@dsl@types:object_type_def().
load_object_type_def_from_i_d(Id) ->
Field = {field,
<<"loadObjectTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{object_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 701).
?DOC(" Load a Port from its ID.\n").
-spec load_port_from_i_d(dagger@dsl@types:port_()) -> dagger@dsl@types:port_().
load_port_from_i_d(Id) ->
Field = {field,
<<"loadPortFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{port, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 707).
?DOC(" Load a SDKConfig from its ID.\n").
-spec load_s_d_k_config_from_i_d(dagger@dsl@types:s_d_k_config()) -> dagger@dsl@types:s_d_k_config().
load_s_d_k_config_from_i_d(Id) ->
Field = {field,
<<"loadSDKConfigFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{s_d_k_config, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 713).
?DOC(" Load a ScalarTypeDef from its ID.\n").
-spec load_scalar_type_def_from_i_d(dagger@dsl@types:scalar_type_def()) -> dagger@dsl@types:scalar_type_def().
load_scalar_type_def_from_i_d(Id) ->
Field = {field,
<<"loadScalarTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{scalar_type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 719).
?DOC(" Load a SearchResult from its ID.\n").
-spec load_search_result_from_i_d(dagger@dsl@types:search_result()) -> dagger@dsl@types:search_result().
load_search_result_from_i_d(Id) ->
Field = {field,
<<"loadSearchResultFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{search_result, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 725).
?DOC(" Load a SearchSubmatch from its ID.\n").
-spec load_search_submatch_from_i_d(dagger@dsl@types:search_submatch()) -> dagger@dsl@types:search_submatch().
load_search_submatch_from_i_d(Id) ->
Field = {field,
<<"loadSearchSubmatchFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{search_submatch, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 731).
?DOC(" Load a Secret from its ID.\n").
-spec load_secret_from_i_d(dagger@dsl@types:secret()) -> dagger@dsl@types:secret().
load_secret_from_i_d(Id) ->
Field = {field,
<<"loadSecretFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{secret, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 737).
?DOC(" Load a Service from its ID.\n").
-spec load_service_from_i_d(dagger@dsl@types:service()) -> dagger@dsl@types:service().
load_service_from_i_d(Id) ->
Field = {field,
<<"loadServiceFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{service, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 743).
?DOC(" Load a Socket from its ID.\n").
-spec load_socket_from_i_d(dagger@dsl@types:socket()) -> dagger@dsl@types:socket().
load_socket_from_i_d(Id) ->
Field = {field,
<<"loadSocketFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{socket, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 749).
?DOC(" Load a SourceMap from its ID.\n").
-spec load_source_map_from_i_d(dagger@dsl@types:source_map()) -> dagger@dsl@types:source_map().
load_source_map_from_i_d(Id) ->
Field = {field,
<<"loadSourceMapFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{source_map, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 755).
?DOC(" Load a Stat from its ID.\n").
-spec load_stat_from_i_d(dagger@dsl@types:stat()) -> dagger@dsl@types:stat().
load_stat_from_i_d(Id) ->
Field = {field,
<<"loadStatFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{stat, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 761).
?DOC(" Load a Terminal from its ID.\n").
-spec load_terminal_from_i_d(dagger@dsl@types:terminal()) -> dagger@dsl@types:terminal().
load_terminal_from_i_d(Id) ->
Field = {field,
<<"loadTerminalFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{terminal, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 767).
?DOC(" Load a TypeDef from its ID.\n").
-spec load_type_def_from_i_d(dagger@dsl@types:type_def()) -> dagger@dsl@types:type_def().
load_type_def_from_i_d(Id) ->
Field = {field,
<<"loadTypeDefFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 773).
?DOC(" Load a Workspace from its ID.\n").
-spec load_workspace_from_i_d(dagger@dsl@types:workspace()) -> dagger@dsl@types:workspace().
load_workspace_from_i_d(Id) ->
Field = {field,
<<"loadWorkspaceFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{workspace, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 779).
?DOC(" Create a new module.\n").
-spec module() -> dagger@dsl@types:module_().
module() ->
Field = {field, <<"module"/utf8>>, [], []},
{module, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 784).
-spec encode_module_source(opts(any())) -> list({binary(), dagger@types:value()}).
encode_module_source(Opts) ->
gleam@list:filter_map([case erlang:element(17, Opts) of
{some, Val} ->
{ok, {<<"refPin"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end, case erlang:element(18, Opts) of
{some, Val@1} ->
{ok, {<<"disableFindUp"/utf8>>, {g_bool, Val@1}}};
none ->
{error, nil}
end, case erlang:element(19, Opts) of
{some, Val@2} ->
{ok, {<<"allowNotExists"/utf8>>, {g_bool, Val@2}}};
none ->
{error, nil}
end, case erlang:element(20, Opts) of
{some, Val@3} ->
{ok,
{<<"requireKind"/utf8>>,
{g_string,
dagger@dsl@types:module_source_kind_to_json(
Val@3
)}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 806).
?DOC(" Create a new module source instance from a source ref string\n").
-spec module_source(
binary(),
fun((opts(for_module_source())) -> opts(for_module_source()))
) -> dagger@dsl@types:module_source().
module_source(Ref_string, With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"moduleSource"/utf8>>,
lists:append(
[{<<"refString"/utf8>>, {g_string, Ref_string}}],
encode_module_source(Opts)
),
[]},
{module_source, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 812).
-spec encode_secret(opts(any())) -> list({binary(), dagger@types:value()}).
encode_secret(Opts) ->
gleam@list:filter_map([case erlang:element(21, Opts) of
{some, Val} ->
{ok, {<<"cacheKey"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 822).
?DOC(" Creates a new secret.\n").
-spec secret(binary(), fun((opts(for_secret())) -> opts(for_secret()))) -> dagger@dsl@types:secret().
secret(Uri, With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"secret"/utf8>>,
lists:append([{<<"uri"/utf8>>, {g_string, Uri}}], encode_secret(Opts)),
[]},
{secret, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 830).
?DOC(
" Sets a secret given a user defined name to its plaintext and returns the secret.\n"
" The plaintext value is limited to a size of 128000 bytes.\n"
).
-spec set_secret(binary(), binary()) -> dagger@dsl@types:secret().
set_secret(Name, Plaintext) ->
Field = {field,
<<"setSecret"/utf8>>,
[{<<"name"/utf8>>, {g_string, Name}},
{<<"plaintext"/utf8>>, {g_string, Plaintext}}],
[]},
{secret, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 836).
?DOC(" Creates source map metadata.\n").
-spec source_map(binary(), integer(), integer()) -> dagger@dsl@types:source_map().
source_map(Filename, Line, Column) ->
Field = {field,
<<"sourceMap"/utf8>>,
[{<<"filename"/utf8>>, {g_string, Filename}},
{<<"line"/utf8>>, {g_int, Line}},
{<<"column"/utf8>>, {g_int, Column}}],
[]},
{source_map, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 842).
?DOC(" Create a new TypeDef.\n").
-spec type_def() -> dagger@dsl@types:type_def().
type_def() ->
Field = {field, <<"typeDef"/utf8>>, [], []},
{type_def, {pure, [Field]}}.
-file("src/dagger/dsl/dag.gleam", 848).
?DOC(" Get the current Dagger Engine version.\n").
-spec version(
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> NTT)
) -> NTT.
version(Client, Handler) ->
Field = {field, <<"version"/utf8>>, [], []},
Op = begin
dagger@types:bind(
{pure, []},
fun(Q) ->
Full_query = lists:append(Q, [Field]),
{fetch,
Full_query,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1},
fun(Dyn) ->
Path = dagger@types:make_path(Full_query),
case gleam@dynamic@decode:run(
Dyn,
gleam@dynamic@decode:at(
Path,
{decoder,
fun gleam@dynamic@decode:decode_string/1}
)
) of
{ok, Val} ->
{pure, {ok, Val}};
{error, _} ->
{pure,
{error,
{decoding_error, <<"version"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).