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, platform/2, privileged/2, writable/2, permissions/2, ssh_known_hosts/2, ssh_auth_socket/2, http_auth_username/2, http_auth_token/2, http_auth_header/2, experimental_service_host/2, name/2, auth_header/2, model/2, max_a_p_i_calls/2, ref_pin/2, disable_find_up/2, allow_not_exists/2, require_kind/2, 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, 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, module/0, module_source/2, secret/2, set_secret/2, source_map/3, type_def/0, version/2]).
-export_type([opts/0]).
-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 opts() :: {opts,
gleam@option:option(binary()),
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())}.
-file("src/dagger/dsl/dag.gleam", 34).
-spec defaults() -> opts().
defaults() ->
{opts,
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", 58).
-spec none(opts()) -> opts().
none(Opts) ->
Opts.
-file("src/dagger/dsl/dag.gleam", 62).
-spec platform(opts(), binary()) -> opts().
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)}.
-file("src/dagger/dsl/dag.gleam", 66).
-spec privileged(opts(), boolean()) -> opts().
privileged(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)}.
-file("src/dagger/dsl/dag.gleam", 70).
-spec writable(opts(), boolean()) -> opts().
writable(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)}.
-file("src/dagger/dsl/dag.gleam", 74).
-spec permissions(opts(), integer()) -> opts().
permissions(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)}.
-file("src/dagger/dsl/dag.gleam", 78).
-spec ssh_known_hosts(opts(), binary()) -> opts().
ssh_known_hosts(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)}.
-file("src/dagger/dsl/dag.gleam", 82).
-spec ssh_auth_socket(opts(), dagger@dsl@types:socket()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 86).
-spec http_auth_username(opts(), binary()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 90).
-spec http_auth_token(opts(), dagger@dsl@types:secret()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 94).
-spec http_auth_header(opts(), dagger@dsl@types:secret()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 98).
-spec experimental_service_host(opts(), dagger@dsl@types:service()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 102).
-spec name(opts(), binary()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 106).
-spec auth_header(opts(), dagger@dsl@types:secret()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 110).
-spec model(opts(), binary()) -> opts().
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),
{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)}.
-file("src/dagger/dsl/dag.gleam", 114).
-spec max_a_p_i_calls(opts(), integer()) -> opts().
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),
{some, Val},
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts)}.
-file("src/dagger/dsl/dag.gleam", 118).
-spec ref_pin(opts(), binary()) -> opts().
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),
{some, Val},
erlang:element(17, Opts),
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts)}.
-file("src/dagger/dsl/dag.gleam", 122).
-spec disable_find_up(opts(), boolean()) -> opts().
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),
{some, Val},
erlang:element(18, Opts),
erlang:element(19, Opts),
erlang:element(20, Opts)}.
-file("src/dagger/dsl/dag.gleam", 126).
-spec allow_not_exists(opts(), boolean()) -> opts().
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),
{some, Val},
erlang:element(19, Opts),
erlang:element(20, Opts)}.
-file("src/dagger/dsl/dag.gleam", 130).
-spec require_kind(opts(), dagger@dsl@types:module_source_kind()) -> opts().
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),
{some, Val},
erlang:element(20, Opts)}.
-file("src/dagger/dsl/dag.gleam", 134).
-spec cache_key(opts(), binary()) -> opts().
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),
{some, Val}}.
-file("src/dagger/dsl/dag.gleam", 139).
?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", 145).
?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", 151).
?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", 156).
-spec encode_container(opts()) -> 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", 167).
?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()) -> opts())) -> 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", 176).
?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", 183).
?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", 189).
?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", 195).
?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()}) -> KZA)
) -> KZA.
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", 217).
?DOC(" The default platform of the engine.\n").
-spec default_platform(
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> KZC)
) -> KZC.
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", 238).
?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", 244).
?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", 249).
-spec encode_env(opts()) -> list({binary(), dagger@types:value()}).
encode_env(Opts) ->
gleam@list:filter_map([case erlang:element(3, Opts) of
{some, Val} ->
{ok, {<<"privileged"/utf8>>, {g_bool, Val}}};
none ->
{error, nil}
end, case erlang:element(4, 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", 263).
?DOC(" Initializes a new environment\n").
-spec env(fun((opts()) -> opts())) -> 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", 270).
?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", 276).
?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", 281).
-spec encode_file(opts()) -> list({binary(), dagger@types:value()}).
encode_file(Opts) ->
gleam@list:filter_map([case erlang:element(5, Opts) of
{some, Val} ->
{ok, {<<"permissions"/utf8>>, {g_int, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 291).
?DOC(" Creates a file with the specified contents.\n").
-spec file(binary(), binary(), fun((opts()) -> opts())) -> 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", 298).
?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", 304).
?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", 309).
-spec encode_git(opts()) -> list({binary(), dagger@types:value()}).
encode_git(Opts) ->
gleam@list:filter_map([case erlang:element(6, Opts) of
{some, Val} ->
{ok, {<<"sshKnownHosts"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end, case erlang:element(7, Opts) of
{some, Val@1} ->
{ok,
{<<"sshAuthSocket"/utf8>>,
{g_deferred, erlang:element(2, Val@1)}}};
none ->
{error, nil}
end, case erlang:element(8, Opts) of
{some, Val@2} ->
{ok, {<<"httpAuthUsername"/utf8>>, {g_string, Val@2}}};
none ->
{error, nil}
end, case erlang:element(9, Opts) of
{some, Val@3} ->
{ok,
{<<"httpAuthToken"/utf8>>,
{g_deferred, erlang:element(2, Val@3)}}};
none ->
{error, nil}
end, case erlang:element(10, Opts) of
{some, Val@4} ->
{ok,
{<<"httpAuthHeader"/utf8>>,
{g_deferred, erlang:element(2, Val@4)}}};
none ->
{error, nil}
end, case erlang:element(11, 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", 339).
?DOC(" Queries a Git repository.\n").
-spec git(binary(), fun((opts()) -> opts())) -> 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", 346).
?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", 351).
-spec encode_http(opts()) -> list({binary(), dagger@types:value()}).
encode_http(Opts) ->
gleam@list:filter_map([case erlang:element(5, Opts) of
{some, Val} ->
{ok, {<<"permissions"/utf8>>, {g_int, Val}}};
none ->
{error, nil}
end, case erlang:element(11, Opts) of
{some, Val@1} ->
{ok,
{<<"experimentalServiceHost"/utf8>>,
{g_deferred, erlang:element(2, Val@1)}}};
none ->
{error, nil}
end, case erlang:element(12, Opts) of
{some, Val@2} ->
{ok, {<<"name"/utf8>>, {g_string, Val@2}}};
none ->
{error, nil}
end, case erlang:element(13, 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", 373).
?DOC(" Returns a file containing an http remote url content.\n").
-spec http(binary(), fun((opts()) -> opts())) -> 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", 380).
?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", 385).
-spec encode_llm(opts()) -> list({binary(), dagger@types:value()}).
encode_llm(Opts) ->
gleam@list:filter_map([case erlang:element(14, Opts) of
{some, Val} ->
{ok, {<<"model"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end, case erlang:element(15, 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", 399).
?DOC(" Initialize a Large Language Model (LLM)\n").
-spec llm(fun((opts()) -> opts())) -> 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", 406).
?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", 412).
?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", 418).
?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", 424).
?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", 430).
?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", 436).
?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", 442).
?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", 448).
?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", 454).
?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", 460).
?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", 466).
?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", 472).
?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", 478).
?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", 484).
?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", 490).
?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", 496).
?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", 502).
?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", 508).
?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", 514).
?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", 520).
?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", 526).
?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", 532).
?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", 538).
?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", 544).
?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", 550).
?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", 556).
?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", 562).
?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", 568).
?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", 574).
?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", 580).
?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", 586).
?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", 592).
?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", 598).
?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", 604).
?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", 610).
?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", 616).
?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", 622).
?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", 628).
?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", 634).
?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", 640).
?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", 646).
?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", 652).
?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", 658).
?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", 664).
?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", 670).
?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", 676).
?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", 682).
?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", 688).
?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", 694).
?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", 700).
?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", 706).
?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", 712).
?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", 718).
?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", 724).
?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", 730).
?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", 736).
?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", 742).
?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", 747).
-spec encode_module_source(opts()) -> list({binary(), dagger@types:value()}).
encode_module_source(Opts) ->
gleam@list:filter_map([case erlang:element(16, Opts) of
{some, Val} ->
{ok, {<<"refPin"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end, case erlang:element(17, Opts) of
{some, Val@1} ->
{ok, {<<"disableFindUp"/utf8>>, {g_bool, Val@1}}};
none ->
{error, nil}
end, case erlang:element(18, Opts) of
{some, Val@2} ->
{ok, {<<"allowNotExists"/utf8>>, {g_bool, Val@2}}};
none ->
{error, nil}
end, case erlang:element(19, 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", 769).
?DOC(" Create a new module source instance from a source ref string\n").
-spec module_source(binary(), fun((opts()) -> opts())) -> 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", 775).
-spec encode_secret(opts()) -> list({binary(), dagger@types:value()}).
encode_secret(Opts) ->
gleam@list:filter_map([case erlang:element(20, Opts) of
{some, Val} ->
{ok, {<<"cacheKey"/utf8>>, {g_string, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/dag.gleam", 785).
?DOC(" Creates a new secret.\n").
-spec secret(binary(), fun((opts()) -> opts())) -> 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", 793).
?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", 799).
?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", 805).
?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", 811).
?DOC(" Get the current Dagger Engine version.\n").
-spec version(
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> KZL)
) -> KZL.
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)).