refactor: retrieve function returns json (#4)

This commit is contained in:
sigoden
2024-05-18 10:21:57 +08:00
committed by GitHub
parent 1a24e820dd
commit 07ce5ccaf6
4 changed files with 8 additions and 12 deletions
-1
View File
@@ -3,7 +3,6 @@ set -e
# @meta dotenv
# @cmd Call the function
# @arg func![`_choice_func`] The function name
# @arg args~[?`_choice_func_args`] The function args
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -e
# @describe Executes a shell command and returns the output.
# @describe Executes a shell command. This tool does not return data to LLM.
# @option --shell-command~ "Shell command to execute, such as `ls -la`"
main() {
+2 -6
View File
@@ -4,17 +4,13 @@ set -e
# @describe Takes in a query string and returns search result from DuckDuckGo.
# Use it to answer user questions that require dates, facts, real-time information, or news.
# This ensures accurate and up-to-date answers.
#
# @meta require-tools ddgr
# @env DDG_MAX_RESULTS=5 The max results to return.
# @option --query! The query to search for.
main() {
ddgr -n $DDG_MAX_RESULTS --json "$argc_query" | \
jq -r '. as $input |
reduce range(0; length) as $i ([]; . + [ $input[$i] | .index = $i ]) |
.[] | "### \(.index+1). \u001b]8;;\(.url)\u001b\\\(.title)\u001b]8;;\u001b\\\n\(.abstract)\n"
'
ddgr -n $DDG_MAX_RESULTS --json "$argc_query"
}
eval "$(argc --argc-eval "$0" "$@")"
+5 -4
View File
@@ -4,9 +4,9 @@ set -e
# @describe Get an answer to a question using Wolfram Alpha. Input should the query in English.
# Use it to answer user questions that require computation, detailed facts, data analysis, or complex queries.
# This ensures accurate and precise answers.
# @option --query! The query to search for.
# @env WOLFRAM_API_KEY! The API key used to connect to WolframAlpha
# @option --query! The query to search for.
# @env WOLFRAM_API_ID!
main() {
local curl_args=(
@@ -14,10 +14,11 @@ main() {
--data-urlencode "output=JSON"
--data-urlencode "format=plaintext"
--data-urlencode "input=$argc_query"
--data-urlencode "appid=$WOLFRAM_API_KEY"
--data-urlencode "appid=$WOLFRAM_API_ID"
"https://api.wolframalpha.com/v2/query"
)
curl "${curl_args[@]}" | jq -r '.queryresult.pods[] | select(.subpods[0].plaintext != "") | .title, .subpods[0].plaintext'
curl "${curl_args[@]}" | \
jq -r '.queryresult.pods[] | select(.subpods[0].plaintext != "")'
}
eval "$(argc --argc-eval "$0" "$@")"