feat: adjust project structure (#16)

This commit is contained in:
sigoden
2024-06-05 18:37:52 +08:00
committed by GitHub
parent 7e3f47093f
commit 005d23030d
15 changed files with 19 additions and 19 deletions
+22
View File
@@ -0,0 +1,22 @@
exports.declarate = function declarate() {
return {
"name": "may_execute_js_code",
"description": "Runs the javascript code in node.js.",
"parameters": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Javascript code to execute, such as `console.log(\"hello world\")`"
}
},
"required": [
"code"
]
}
}
}
exports.execute = function execute(data) {
eval(data.code)
}
+21
View File
@@ -0,0 +1,21 @@
def declarate():
return {
"name": "may_execute_py_code",
"description": "Runs the python code.",
"parameters": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Python code to execute, such as `print(\"hello world\")`"
}
},
"required": [
"code"
]
}
}
def execute(data):
exec(data["code"])
+22
View File
@@ -0,0 +1,22 @@
def declarate
{
"name": "may_execute_rb_code",
"description": "Runs the ruby code.",
"parameters": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Ruby code to execute, such as `puts \"hello world\"`"
}
},
"required": [
"code"
]
}
}
end
def execute(data)
eval(data["code"])
end
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
# @describe Get the current time.
main() {
date
}
eval "$(argc --argc-eval "$0" "$@")"
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
# @describe Get the current weather in a given location.
# @option --location! The city and optionally the state or country, e.g., "London", "San Francisco, CA".
main() {
curl -fsSL "https://wttr.in/$(echo "$argc_location" | sed 's/ /+/g')?format=4&M"
}
eval "$(argc --argc-eval "$0" "$@")"
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -e
# @describe Fetches the HTML content from a specified webpage URL and converts it to Markdown format.
# Use it to answer user questions that require up-to-date content from web pages.
# @meta require-tools curl,pandoc,sed
# @option --url! The URL to scrape.
main() {
# span and div tags are dropped from the HTML https://pandoc.org/MANUAL.html#raw-htmltex and sed removes any inline SVG images in image tags from the Markdown content.
curl -fsSL "$argc_url" | pandoc -f html-native_divs-native_spans -t gfm-raw_html | sed -E 's/!\[.*?\]\((data:image\/svg\+xml[^)]+)\)//g'
}
eval "$(argc --argc-eval "$0" "$@")"
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
# @describe Executes a shell command.
# @option --command! Command to execute, such as `ls -la`
main() {
eval "$argc_command"
}
eval "$(argc --argc-eval "$0" "$@")"
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
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"
}
eval "$(argc --argc-eval "$0" "$@")"
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
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_ID!
main() {
local curl_args=(
-sSf -G
--data-urlencode "output=JSON"
--data-urlencode "format=plaintext"
--data-urlencode "input=$argc_query"
--data-urlencode "appid=$WOLFRAM_API_ID"
"https://api.wolframalpha.com/v2/query"
)
curl "${curl_args[@]}" | \
jq -r '.queryresult.pods[] | select(.subpods[0].plaintext != "")'
}
eval "$(argc --argc-eval "$0" "$@")"