@dst-justin/relay 2.5.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/package.json +1 -1
- package/relay +41 -5
package/README.md
CHANGED
|
@@ -288,6 +288,12 @@ Sessions live in `~/.claude/projects/` and are shared across all accounts — af
|
|
|
288
288
|
|
|
289
289
|
## Changelog
|
|
290
290
|
|
|
291
|
+
### v2.7.0 — 2026-09-04
|
|
292
|
+
- `relay provider add` now turns on gateway model discovery by default (previously required `--discover-models`); opt out with `--no-discover-models`.
|
|
293
|
+
|
|
294
|
+
### v2.6.0 — 2026-09-04
|
|
295
|
+
- Add `relay run -c`/`--continue`/`-r`/`--resume` — replays the last account/provider `relay run` used in the current directory, so a crashed or Ctrl-C'd one-off provider session can resume without retyping the provider name.
|
|
296
|
+
|
|
291
297
|
### v2.5.0 — 2026-08-12
|
|
292
298
|
- Add `--subagent-model` to `relay provider add`, storing a `subagent_model` field that `relay provider use`/`relay run` inject as `CLAUDE_CODE_SUBAGENT_MODEL` — lets a LiteLLM provider pin the subagent model independently of the main `ANTHROPIC_MODEL`.
|
|
293
299
|
- `relay provider list` now also shows `subagent_model` when set.
|
package/package.json
CHANGED
package/relay
CHANGED
|
@@ -966,7 +966,7 @@ PYEOF
|
|
|
966
966
|
|
|
967
967
|
cmd_provider_add() {
|
|
968
968
|
local name="${1:-}"
|
|
969
|
-
[[ -z "${name}" ]] && { err "usage: relay provider add <name> --base-url <url> --token <token> [--model <model>] [--subagent-model <model>] [--discover-models]"; exit 1; }
|
|
969
|
+
[[ -z "${name}" ]] && { err "usage: relay provider add <name> --base-url <url> --token <token> [--model <model>] [--subagent-model <model>] [--no-discover-models]"; exit 1; }
|
|
970
970
|
shift
|
|
971
971
|
case "${name}" in
|
|
972
972
|
*[!a-zA-Z0-9_-]*) err "name must contain only letters, numbers, underscores, or hyphens"; exit 1 ;;
|
|
@@ -981,7 +981,10 @@ cmd_provider_add() {
|
|
|
981
981
|
return 0
|
|
982
982
|
fi
|
|
983
983
|
|
|
984
|
-
|
|
984
|
+
# Discovery defaults on: without a pinned --model there's nothing else to
|
|
985
|
+
# route with, and with one it's still useful for `relay provider list` /
|
|
986
|
+
# future switches, so opt-out (--no-discover-models) rather than opt-in.
|
|
987
|
+
local base_url="" token="" model="" subagent_model="" discover=1
|
|
985
988
|
while [[ $# -gt 0 ]]; do
|
|
986
989
|
case "$1" in
|
|
987
990
|
--base-url) base_url="${2:-}"; shift 2 ;;
|
|
@@ -989,6 +992,7 @@ cmd_provider_add() {
|
|
|
989
992
|
--model) model="${2:-}"; shift 2 ;;
|
|
990
993
|
--subagent-model) subagent_model="${2:-}"; shift 2 ;;
|
|
991
994
|
--discover-models) discover=1; shift ;;
|
|
995
|
+
--no-discover-models) discover=0; shift ;;
|
|
992
996
|
*) err "unknown option: $1"; exit 1 ;;
|
|
993
997
|
esac
|
|
994
998
|
done
|
|
@@ -1103,18 +1107,49 @@ cmd_provider_remove() {
|
|
|
1103
1107
|
ok "Deleted provider '${name}'"
|
|
1104
1108
|
}
|
|
1105
1109
|
|
|
1110
|
+
_run_history_dir() { printf '%s/run-history' "${RELAY_DIR}"; }
|
|
1111
|
+
|
|
1112
|
+
# Per-directory "last name run here" pointer so `relay run -c`/`--resume` can
|
|
1113
|
+
# replay the same account/provider without retyping it — a crashed or
|
|
1114
|
+
# Ctrl-C'd `relay run <provider>` has no other record of what backend that
|
|
1115
|
+
# session used, since exec replaces the process before any trap could fire.
|
|
1116
|
+
_run_history_key() { printf '%s' "${PWD}" | cksum | awk '{print $1}'; }
|
|
1117
|
+
|
|
1118
|
+
_run_record_last() {
|
|
1119
|
+
mkdir -p "$(_run_history_dir)"
|
|
1120
|
+
printf '%s' "$1" > "$(_run_history_dir)/$(_run_history_key)"
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
_run_last_name_for_cwd() {
|
|
1124
|
+
local f; f="$(_run_history_dir)/$(_run_history_key)"
|
|
1125
|
+
[[ -f "${f}" ]] && cat "${f}"
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1106
1128
|
cmd_run() {
|
|
1107
1129
|
local name="${1:-}"
|
|
1108
1130
|
[[ -z "${name}" ]] && { err "usage: relay run <name> [-- <claude args...>]"; exit 1; }
|
|
1109
|
-
shift
|
|
1110
|
-
[[ "${1:-}" == "--" ]] && shift
|
|
1111
1131
|
|
|
1112
1132
|
require_claude
|
|
1113
1133
|
|
|
1134
|
+
case "${name}" in
|
|
1135
|
+
-c|--continue|-r|--resume)
|
|
1136
|
+
# Reuse the last account/provider run from this directory; leave "$@"
|
|
1137
|
+
# untouched so -c/--resume (and any session id after it) still reach claude.
|
|
1138
|
+
name=$(_run_last_name_for_cwd)
|
|
1139
|
+
[[ -z "${name}" ]] && { err "No previous 'relay run <name>' recorded for this directory — run 'relay run <name>' once first"; exit 1; }
|
|
1140
|
+
;;
|
|
1141
|
+
*)
|
|
1142
|
+
shift
|
|
1143
|
+
[[ "${1:-}" == "--" ]] && shift
|
|
1144
|
+
;;
|
|
1145
|
+
esac
|
|
1146
|
+
|
|
1114
1147
|
if account_exists "${name}"; then
|
|
1148
|
+
_run_record_last "${name}"
|
|
1115
1149
|
do_switch "${name}"
|
|
1116
1150
|
exec "${REAL_CLAUDE}" "$@"
|
|
1117
1151
|
elif provider_exists "${name}"; then
|
|
1152
|
+
_run_record_last "${name}"
|
|
1118
1153
|
local base_url token model subagent_model discover settings_file
|
|
1119
1154
|
base_url=$(_provider_field "${name}" base_url)
|
|
1120
1155
|
token=$(_provider_field "${name}" auth_token)
|
|
@@ -2771,6 +2806,7 @@ cmd_help() {
|
|
|
2771
2806
|
printf " ${B}One-off runs${R}\n"
|
|
2772
2807
|
printf " %-42s %s\n" " relay run <name>" "one-off session on an account or provider, then exec claude"
|
|
2773
2808
|
printf " %-42s %s\n" " relay run <name> -- <args>" "forward extra args to claude itself, e.g. -- --resume"
|
|
2809
|
+
printf " %-42s %s\n" " relay run -c|--resume" "replay last account/provider used by 'relay run' in this dir"
|
|
2774
2810
|
printf " %-42s %s\n" " (leaves global switch/provider state untouched — safe for concurrent sessions)"
|
|
2775
2811
|
echo ""
|
|
2776
2812
|
|
|
@@ -2781,7 +2817,7 @@ cmd_help() {
|
|
|
2781
2817
|
printf " %-42s %s\n" " --model <model>" "optional: pin ANTHROPIC_MODEL to this alias"
|
|
2782
2818
|
printf " %-42s %s\n" " --subagent-model <model>" "optional: pin CLAUDE_CODE_SUBAGENT_MODEL"
|
|
2783
2819
|
printf " %-42s %s\n" " " "(overrides every subagent's own model: frontmatter)"
|
|
2784
|
-
printf " %-42s %s\n" " --discover-models"
|
|
2820
|
+
printf " %-42s %s\n" " --no-discover-models" "opt out: gateway model discovery is on by default"
|
|
2785
2821
|
printf " %-42s %s\n" " relay provider list" "list configured providers + their settings"
|
|
2786
2822
|
printf " %-42s %s\n" " relay provider use <name>" "route all future sessions through this provider"
|
|
2787
2823
|
printf " %-42s %s\n" " relay provider off" "stop routing through a provider, resume subscription account"
|