refactor: retrieve function returns json (#4)
This commit is contained in:
@@ -3,7 +3,6 @@ set -e
|
|||||||
|
|
||||||
# @meta dotenv
|
# @meta dotenv
|
||||||
|
|
||||||
|
|
||||||
# @cmd Call the function
|
# @cmd Call the function
|
||||||
# @arg func![`_choice_func`] The function name
|
# @arg func![`_choice_func`] The function name
|
||||||
# @arg args~[?`_choice_func_args`] The function args
|
# @arg args~[?`_choice_func_args`] The function args
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
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`"
|
# @option --shell-command~ "Shell command to execute, such as `ls -la`"
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
|||||||
@@ -4,17 +4,13 @@ set -e
|
|||||||
# @describe Takes in a query string and returns search result from DuckDuckGo.
|
# @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.
|
# Use it to answer user questions that require dates, facts, real-time information, or news.
|
||||||
# This ensures accurate and up-to-date answers.
|
# This ensures accurate and up-to-date answers.
|
||||||
#
|
|
||||||
# @meta require-tools ddgr
|
# @meta require-tools ddgr
|
||||||
# @env DDG_MAX_RESULTS=5 The max results to return.
|
# @env DDG_MAX_RESULTS=5 The max results to return.
|
||||||
# @option --query! The query to search for.
|
# @option --query! The query to search for.
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
ddgr -n $DDG_MAX_RESULTS --json "$argc_query" | \
|
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"
|
|
||||||
'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
eval "$(argc --argc-eval "$0" "$@")"
|
eval "$(argc --argc-eval "$0" "$@")"
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ set -e
|
|||||||
# @describe Get an answer to a question using Wolfram Alpha. Input should the query in English.
|
# @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.
|
# Use it to answer user questions that require computation, detailed facts, data analysis, or complex queries.
|
||||||
# This ensures accurate and precise answers.
|
# 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() {
|
main() {
|
||||||
local curl_args=(
|
local curl_args=(
|
||||||
@@ -14,10 +14,11 @@ main() {
|
|||||||
--data-urlencode "output=JSON"
|
--data-urlencode "output=JSON"
|
||||||
--data-urlencode "format=plaintext"
|
--data-urlencode "format=plaintext"
|
||||||
--data-urlencode "input=$argc_query"
|
--data-urlencode "input=$argc_query"
|
||||||
--data-urlencode "appid=$WOLFRAM_API_KEY"
|
--data-urlencode "appid=$WOLFRAM_API_ID"
|
||||||
"https://api.wolframalpha.com/v2/query"
|
"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" "$@")"
|
eval "$(argc --argc-eval "$0" "$@")"
|
||||||
|
|||||||
Reference in New Issue
Block a user