feat: Created the coder and sql agents

This commit is contained in:
2025-10-10 13:38:47 -06:00
parent 384ae73c80
commit 16577ddc5e
4 changed files with 73 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
# SQL
An AI agent that helps you manage a SQL database.
> The tool script uses [usql](https://github.com/xo/usql) to interact with SQL, it supports all mainstream databases.
+17
View File
@@ -0,0 +1,17 @@
name: Sql
description: An AI agent that helps you manage any SQL database
version: 0.1.0
instructions: |
You are an AI agent that manages a SQL database.
Prefix all referenced tables with the name of the schema that they are in.
For all sqlite databases, prefix each table name with 'main' as the schema
Available tools:
{{__tools__}}
variables:
- name: dsn
description: The database connection url. e.g. pgsql://user:pass@host:port
conversation_starters:
- What you can do?
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -e
# @meta require-tools usql
# @env LLM_OUTPUT=/dev/stdout The output path
# @env LLM_AGENT_VAR_DSN! The database connection url. e.g. pgsql://user:pass@host:port
PROMPT_UTILS="${LLM_ROOT_DIR:-$(dirname "${BASH_SOURCE[0]}")/..}/utils/prompt-utils.sh"
# shellcheck disable=SC1090
source "$PROMPT_UTILS"
# @cmd Execute a SELECT query
# @option --query! SELECT SQL query to execute
read_query() {
# shellcheck disable=SC2154
if ! grep -qi '^select' <<<"$argc_query"; then
error "only SELECT queries are allowed" >&2
exit 1
fi
_run_sql "$argc_query"
}
# @cmd Execute an SQL query
# @option --query! SQL query to execute
write_query() {
guard_operation "Execute SQL?"
_run_sql "$argc_query"
}
# @cmd List all tables
list_tables() {
_run_sql "\dt+"
}
# @cmd Get the schema information for a specific table
# @option --table-name! Name of the table to describe
describe_table() {
# shellcheck disable=SC2154
_run_sql "\d $argc_table_name"
}
_run_sql() {
usql "$LLM_AGENT_VAR_DSN" -c "$1" >> "$LLM_OUTPUT"
}