AI default/tests: env-passed key, secure creation, harness install, isolated strict mocks
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QKxGW1raAWaqeU8WdHsMsp
This commit is contained in:
+22
-11
@@ -29,6 +29,13 @@ codex) agent="codex" ;;
|
||||
;;
|
||||
esac
|
||||
|
||||
command=$(cn_ai_harness_field "$harness" command)
|
||||
if ! command -v "$command" > /dev/null 2>&1; then
|
||||
install=$(cn_ai_harness_field "$harness" install)
|
||||
echo "Installing $harness: $install"
|
||||
$install
|
||||
fi
|
||||
|
||||
key=$(omarchy-cn-ai-secret get "$provider")
|
||||
|
||||
case "$harness" in
|
||||
@@ -44,17 +51,21 @@ claude-code)
|
||||
current=$(cat "$settings")
|
||||
cp "$settings" "$settings.omarchycn-bak-$(date +%Y%m%d-%H%M%S)"
|
||||
fi
|
||||
jq --arg base "$base" --arg key "$key" --arg model "$model" --arg fast "$fast" \
|
||||
'.env = (.env // {}) + {
|
||||
ANTHROPIC_BASE_URL: $base,
|
||||
ANTHROPIC_AUTH_TOKEN: $key,
|
||||
ANTHROPIC_API_KEY: $key,
|
||||
ANTHROPIC_MODEL: $model,
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: $model,
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: $model,
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: $fast
|
||||
}' <<<"$current" > "$settings.omarchycn-new"
|
||||
chmod 600 "$settings.omarchycn-new"
|
||||
# Key reaches jq via environment, never the argument list
|
||||
rm -f "$settings.omarchycn-new"
|
||||
(
|
||||
umask 077
|
||||
CN_AI_KEY="$key" jq --arg base "$base" --arg model "$model" --arg fast "$fast" \
|
||||
'.env = (.env // {}) + {
|
||||
ANTHROPIC_BASE_URL: $base,
|
||||
ANTHROPIC_AUTH_TOKEN: env.CN_AI_KEY,
|
||||
ANTHROPIC_API_KEY: env.CN_AI_KEY,
|
||||
ANTHROPIC_MODEL: $model,
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: $model,
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: $model,
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: $fast
|
||||
}' <<<"$current" > "$settings.omarchycn-new"
|
||||
)
|
||||
mv "$settings.omarchycn-new" "$settings"
|
||||
;;
|
||||
codex)
|
||||
|
||||
Reference in New Issue
Block a user