#!/bin/bash set -e ARGS=("${@-}") TMP_FILE="/tmp/aicommit" system=$( cat - </dev/null || exit 1 if [[ -z ${GROQ_API_KEY} ]]; then echo "API key not set." exit 1 fi if ! diff=$(git diff --cached); then echo "Failed to get diff." exit 1 fi message=$( jq -n \ ".messages = [{role: \"system\", content: $(jq -R -s '@json' <<<"${system}")}, {role: \"user\", content: $(jq -R -s '@json' <<<"${diff}")}] | .model = \"llama-3.1-70b-versatile\" | .temperature = 1 | .max_tokens = 1024 | .top_p = 1 | .stream = false | .stop = null" ) # trunk-ignore(shellcheck/SC2312) curl -s "https://api.groq.com/openai/v1/chat/completions" \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${GROQ_API_KEY}" \ -d "${message}" | jq -r '.choices[0].message.content | gsub("\""; "")' >"${TMP_FILE}" if [[ 0 -ne $? ]]; then echo "Failed to get response." exit 1 fi git commit -e -m "$(cat ${TMP_FILE})" && rm ${TMP_FILE} popd >/dev/null || exit 1