From 384ae73c800d1ed25175e30c5c40e9c3a5011532 Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Fri, 10 Oct 2025 13:38:27 -0600 Subject: [PATCH] feat: Cleaned the built-in functions to not have leftover dependencies --- assets/functions/tools/execute_command.sh | 189 +-------------- assets/functions/tools/fs_cat.sh | 190 +-------------- assets/functions/tools/fs_ls.sh | 189 +-------------- assets/functions/tools/fs_mkdir.sh | 189 +-------------- assets/functions/tools/fs_patch.sh | 200 +--------------- assets/functions/tools/fs_rm.sh | 190 +-------------- assets/functions/tools/fs_write.sh | 199 +--------------- assets/functions/tools/get_current_weather.sh | 189 +-------------- assets/functions/tools/query_jira_issues.sh | 189 +-------------- assets/functions/tools/web_search_loki.sh | 220 +----------------- 10 files changed, 10 insertions(+), 1934 deletions(-) diff --git a/assets/functions/tools/execute_command.sh b/assets/functions/tools/execute_command.sh index 57ac528..17ec0a0 100755 --- a/assets/functions/tools/execute_command.sh +++ b/assets/functions/tools/execute_command.sh @@ -14,191 +14,4 @@ main() { guard_operation # shellcheck disable=SC2154 eval "$argc_command" >> "$LLM_OUTPUT" -} - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Execute the shell command. - -USAGE: --command - -OPTIONS: - --command The command to execute. - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --command) - _argc_take_args "--command " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_command:-}" ]]; then - argc_command="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--command\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_command:--command ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } +} \ No newline at end of file diff --git a/assets/functions/tools/fs_cat.sh b/assets/functions/tools/fs_cat.sh index 9143082..9d898e5 100755 --- a/assets/functions/tools/fs_cat.sh +++ b/assets/functions/tools/fs_cat.sh @@ -11,192 +11,4 @@ set -e main() { # shellcheck disable=SC2154 cat "$argc_path" >> "$LLM_OUTPUT" -} - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Read the contents of a file at the specified path. -Use this when you need to examine the contents of an existing file. - -USAGE: --path - -OPTIONS: - --path The path of the file to read - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --path) - _argc_take_args "--path " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_path:-}" ]]; then - argc_path="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--path\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_path:--path ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } \ No newline at end of file +} \ No newline at end of file diff --git a/assets/functions/tools/fs_ls.sh b/assets/functions/tools/fs_ls.sh index 7ac19d5..236c15c 100755 --- a/assets/functions/tools/fs_ls.sh +++ b/assets/functions/tools/fs_ls.sh @@ -10,191 +10,4 @@ set -e main() { # shellcheck disable=SC2154 ls -1 "$argc_path" >> "$LLM_OUTPUT" -} - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -List all files and directories at the specified path. - -USAGE: --path - -OPTIONS: - --path The path of the directory to list - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --path) - _argc_take_args "--path " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_path:-}" ]]; then - argc_path="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--path\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_path:--path ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } +} \ No newline at end of file diff --git a/assets/functions/tools/fs_mkdir.sh b/assets/functions/tools/fs_mkdir.sh index 8017eb5..63898bb 100755 --- a/assets/functions/tools/fs_mkdir.sh +++ b/assets/functions/tools/fs_mkdir.sh @@ -11,191 +11,4 @@ main() { # shellcheck disable=SC2154 mkdir -p "$argc_path" echo "Directory created: $argc_path" >> "$LLM_OUTPUT" -} - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Create a new directory at the specified path. - -USAGE: --path - -OPTIONS: - --path The path of the directory to create - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --path) - _argc_take_args "--path " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_path:-}" ]]; then - argc_path="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--path\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_path:--path ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } \ No newline at end of file +} \ No newline at end of file diff --git a/assets/functions/tools/fs_patch.sh b/assets/functions/tools/fs_patch.sh index 7450560..bcd0159 100755 --- a/assets/functions/tools/fs_patch.sh +++ b/assets/functions/tools/fs_patch.sh @@ -2,7 +2,7 @@ set -e # @describe Apply a patch to a file at the specified path. -# This can be used to edit the file without having to rewrite the whole file. +# This can be used to edit a file without having to rewrite the whole file. # @option --path! The path of the file to apply the patch to # @option --contents! The patch to apply to the file @@ -29,201 +29,3 @@ main() { info "Applied the patch to: $argc_path" >> "$LLM_OUTPUT" } - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Apply a patch to a file at the specified path. -This can be used to edit the file without having to rewrite the whole file. - -USAGE: --path --contents - -OPTIONS: - --path The path of the file to apply the patch to - --contents The patch to apply to the file - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --path) - _argc_take_args "--path " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_path:-}" ]]; then - argc_path="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--path\` cannot be used multiple times" - fi - ;; - --contents) - _argc_take_args "--contents " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_contents:-}" ]]; then - argc_contents="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--contents\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_path:--path ' 'argc_contents:--contents ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } diff --git a/assets/functions/tools/fs_rm.sh b/assets/functions/tools/fs_rm.sh index e181c2d..b4efbbb 100755 --- a/assets/functions/tools/fs_rm.sh +++ b/assets/functions/tools/fs_rm.sh @@ -19,192 +19,4 @@ main() { fi echo "Path removed: $argc_path" >> "$LLM_OUTPUT" -} - - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Remove the file or directory at the specified path. - -USAGE: --path - -OPTIONS: - --path The path of the file or directory to remove - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --path) - _argc_take_args "--path " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_path:-}" ]]; then - argc_path="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--path\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_path:--path ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } +} \ No newline at end of file diff --git a/assets/functions/tools/fs_write.sh b/assets/functions/tools/fs_write.sh index 8e69108..341f319 100755 --- a/assets/functions/tools/fs_write.sh +++ b/assets/functions/tools/fs_write.sh @@ -24,201 +24,4 @@ main() { printf "%s" "$argc_contents" > "$argc_path" echo "The File contents were written to: $argc_path" >> "$LLM_OUTPUT" -} - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Write the full file contents to a file at the specified path. - -USAGE: --path --contents - -OPTIONS: - --path The path of the file to write to - --contents The full contents to write to the file - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --path) - _argc_take_args "--path " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_path:-}" ]]; then - argc_path="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--path\` cannot be used multiple times" - fi - ;; - --contents) - _argc_take_args "--contents " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_contents:-}" ]]; then - argc_contents="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--contents\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_path:--path ' 'argc_contents:--contents ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } +} \ No newline at end of file diff --git a/assets/functions/tools/get_current_weather.sh b/assets/functions/tools/get_current_weather.sh index 2ee88c3..fd84c9a 100755 --- a/assets/functions/tools/get_current_weather.sh +++ b/assets/functions/tools/get_current_weather.sh @@ -9,191 +9,4 @@ set -e main() { curl -fsSL "https://wttr.in/$(echo "$argc_location" | sed 's/ /+/g')?format=4&M" \ >> "$LLM_OUTPUT" -} - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Get the current weather in a given location. - -USAGE: --location - -OPTIONS: - --location The city and optionally the state or country, e.g., "London", "San Francisco, CA". - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --location) - _argc_take_args "--location " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_location:-}" ]]; then - argc_location="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--location\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_location:--location ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } \ No newline at end of file +} \ No newline at end of file diff --git a/assets/functions/tools/query_jira_issues.sh b/assets/functions/tools/query_jira_issues.sh index 9bc7f86..4160be0 100755 --- a/assets/functions/tools/query_jira_issues.sh +++ b/assets/functions/tools/query_jira_issues.sh @@ -8,191 +8,4 @@ set -e main() { jira issue ls -q "$argc_jql_query" --plain >> "$LLM_OUTPUT" -} - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Query for jira issues using a Jira Query Language (JQL) query - -USAGE: --jql-query - -OPTIONS: - --jql-query The Jira Query Language query to execute - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - LLM_OUTPUT The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --jql-query) - _argc_take_args "--jql-query " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_jql_query:-}" ]]; then - argc_jql_query="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--jql-query\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_jql_query:--jql-query ' - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } +} \ No newline at end of file diff --git a/assets/functions/tools/web_search_loki.sh b/assets/functions/tools/web_search_loki.sh index 7179ad3..7532ae0 100755 --- a/assets/functions/tools/web_search_loki.sh +++ b/assets/functions/tools/web_search_loki.sh @@ -33,222 +33,4 @@ main() { fi loki -m "$WEB_SEARCH_MODEL" "$argc_query" >> "$LLM_OUTPUT" -} - - -# ARGC-BUILD { -# This block was generated by argc (https://github.com/sigoden/argc). -# Modifying it manually is not recommended - -_argc_run() { - if [[ "${1:-}" == "___internal___" ]]; then - _argc_die "error: unsupported ___internal___ command" - fi - if [[ "${OS:-}" == "Windows_NT" ]] && [[ -n "${MSYSTEM:-}" ]]; then - set -o igncr - fi - argc__args=("$(basename "$0" .sh)" "$@") - argc__positionals=() - _argc_index=1 - _argc_len="${#argc__args[@]}" - _argc_tools=() - _argc_parse - _argc_require_tools "${_argc_tools[@]}" - if [ -n "${argc__fn:-}" ]; then - $argc__fn "${argc__positionals[@]}" - fi -} - -_argc_usage() { - cat <<-'EOF' -Perform a web search to get up-to-date information or additional context. -Use this when you need current information or feel a search could provide a better answer. - -USAGE: --query - -OPTIONS: - --query The query to search for. - -h, --help Print help - -V, --version Print version - -ENVIRONMENTS: - WEB_SEARCH_MODEL - The model for web-searching. - - supported loki models: - - gemini:gemini-2.0-* - - vertexai:gemini-* - - perplexity:* - - ernie:* - [default: gemini:gemini-2.5-flash] - - LLM_OUTPUT - The output path [default: /dev/stdout] -EOF - exit -} - -_argc_version() { - echo 0.0.0 - exit -} - -_argc_parse() { - local _argc_key _argc_action - local _argc_subcmds="" - while [[ $_argc_index -lt $_argc_len ]]; do - _argc_item="${argc__args[_argc_index]}" - _argc_key="${_argc_item%%=*}" - case "$_argc_key" in - --help | -help | -h) - _argc_usage - ;; - --version | -version | -V) - _argc_version - ;; - --) - _argc_dash="${#argc__positionals[@]}" - argc__positionals+=("${argc__args[@]:$((_argc_index + 1))}") - _argc_index=$_argc_len - break - ;; - --query) - _argc_take_args "--query " 1 1 "-" "" - _argc_index=$((_argc_index + _argc_take_args_len + 1)) - if [[ -z "${argc_query:-}" ]]; then - argc_query="${_argc_take_args_values[0]:-}" - else - _argc_die "error: the argument \`--query\` cannot be used multiple times" - fi - ;; - *) - if _argc_maybe_flag_option "-" "$_argc_item"; then - _argc_die "error: unexpected argument \`$_argc_key\` found" - fi - argc__positionals+=("$_argc_item") - _argc_index=$((_argc_index + 1)) - ;; - esac - done - _argc_require_params "error: the following required arguments were not provided:" \ - 'argc_query:--query ' - _argc_tools=(loki) - if [[ -n "${_argc_action:-}" ]]; then - $_argc_action - else - argc__fn=main - if [[ "${argc__positionals[0]:-}" == "help" ]] && [[ "${#argc__positionals[@]}" -eq 1 ]]; then - _argc_usage - fi - if [[ -z "${WEB_SEARCH_MODEL:-}" ]]; then - export WEB_SEARCH_MODEL=gemini:gemini-2.5-flash - fi - if [[ -z "${LLM_OUTPUT:-}" ]]; then - export LLM_OUTPUT=/dev/stdout - fi - fi -} - -_argc_take_args() { - _argc_take_args_values=() - _argc_take_args_len=0 - local param="$1" min="$2" max="$3" signs="$4" delimiter="$5" - if [[ "$min" -eq 0 ]] && [[ "$max" -eq 0 ]]; then - return - fi - local _argc_take_index=$((_argc_index + 1)) _argc_take_value - if [[ "$_argc_item" == *=* ]]; then - _argc_take_args_values=("${_argc_item##*=}") - else - while [[ $_argc_take_index -lt $_argc_len ]]; do - _argc_take_value="${argc__args[_argc_take_index]}" - if _argc_maybe_flag_option "$signs" "$_argc_take_value"; then - if [[ "${#_argc_take_value}" -gt 1 ]]; then - break - fi - fi - _argc_take_args_values+=("$_argc_take_value") - _argc_take_args_len=$((_argc_take_args_len + 1)) - if [[ "$_argc_take_args_len" -ge "$max" ]]; then - break - fi - _argc_take_index=$((_argc_take_index + 1)) - done - fi - if [[ "${#_argc_take_args_values[@]}" -lt "$min" ]]; then - _argc_die "error: incorrect number of values for \`$param\`" - fi - if [[ -n "$delimiter" ]] && [[ "${#_argc_take_args_values[@]}" -gt 0 ]]; then - local item values arr=() - for item in "${_argc_take_args_values[@]}"; do - IFS="$delimiter" read -r -a values <<<"$item" - arr+=("${values[@]}") - done - _argc_take_args_values=("${arr[@]}") - fi -} - -_argc_require_params() { - local message="$1" missed_envs="" item name render_name - for item in "${@:2}"; do - name="${item%%:*}" - render_name="${item##*:}" - if [[ -z "${!name:-}" ]]; then - missed_envs="$missed_envs"$'\n'" $render_name" - fi - done - if [[ -n "${missed_envs}" ]]; then - _argc_die "$message$missed_envs" - fi -} - -_argc_maybe_flag_option() { - local signs="$1" arg="$2" - if [[ -z "$signs" ]]; then - return 1 - fi - local cond=false - if [[ "$signs" == *"+"* ]]; then - if [[ "$arg" =~ ^\+[^+].* ]]; then - cond=true - fi - elif [[ "$arg" == -* ]]; then - if (( ${#arg} < 3 )) || [[ ! "$arg" =~ ^---.* ]]; then - cond=true - fi - fi - if [[ "$cond" == "false" ]]; then - return 1 - fi - local value="${arg%%=*}" - if [[ "$value" =~ [[:space:]] ]]; then - return 1 - fi - return 0 -} - -_argc_require_tools() { - local tool missing_tools=() - for tool in "$@"; do - if ! command -v "$tool" >/dev/null 2>&1; then - missing_tools+=("$tool") - fi - done - if [[ "${#missing_tools[@]}" -gt 0 ]]; then - echo "error: missing tools: ${missing_tools[*]}" >&2 - exit 1 - fi -} - -_argc_die() { - if [[ $# -eq 0 ]]; then - cat - else - echo "$*" >&2 - fi - exit 1 -} - -_argc_run "$@" - -# ARGC-BUILD } +} \ No newline at end of file