refactor(lib): extract large inline python blocks to lib_py package and optimize abstraction layer
This commit is contained in:
@@ -82,6 +82,10 @@ fi
|
||||
# Preflight
|
||||
[ -n "$WORKSPACE" ] || { echo "ERROR: --workspace required" >&2; usage; exit 2; }
|
||||
[ -n "$AGENT" ] || { echo "ERROR: --agent required" >&2; usage; exit 2; }
|
||||
case "$AGENT" in
|
||||
claude|agy|hermes|cline) ;;
|
||||
*) echo "ERROR: --agent must be claude, agy, hermes or cline, got: $AGENT" >&2; exit 2 ;;
|
||||
esac
|
||||
[ -n "$ROLE" ] || { echo "ERROR: --role required" >&2; usage; exit 2; }
|
||||
[ -d "$WORKSPACE" ] || { echo "ERROR: workspace $WORKSPACE not a directory" >&2; exit 1; }
|
||||
# B-3: `command -v herdr` matches lib.sh's herdr() function and `type -P herdr`
|
||||
@@ -117,7 +121,7 @@ fi
|
||||
|
||||
# 세션 이름 — lib.sh::derive_session_name 이 단일 소스 (P0-A)
|
||||
if [ -z "$SESSION_NAME" ]; then
|
||||
SESSION_NAME="$(derive_session_name "$WORKSPACE" "$AGENT")"
|
||||
SESSION_NAME="$(derive_session_name "$WORKSPACE" "$AGENT" "$ROLE")"
|
||||
fi
|
||||
|
||||
# 이미 살아있으면 실패
|
||||
@@ -168,6 +172,7 @@ spawn() {
|
||||
claude)
|
||||
if { [ -x "$WRAPPER" ] && [ "$(basename "$WRAPPER")" != "claude" ]; } || [ "$USE_WRAPPER" = "1" ]; then
|
||||
SESSION_UUID=""
|
||||
CMD_FULL="${RESOLVED_BIN} --dangerously-skip-permissions"
|
||||
nohup "$WRAPPER" >/dev/null 2>&1 &
|
||||
disown
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user