32 lines
1.1 KiB
Bash
Executable File
32 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# description: Spawn N subagents with a shared prompt, wait for all to complete, return concatenated results (fork-join).
|
|
# Args: [-n N] [-name NAME] [-agent A] [-backend B] [-model M] [-cwd DIR] [-keep] <prompt...>
|
|
# Output: concatenated results from all subagents, in submission order. With -n > 1, results are separated by === {id} === headers.
|
|
set -euo pipefail
|
|
|
|
OLLIE="${OLLIE:-$HOME/mnt/ollie}"
|
|
|
|
die() { printf 'subagent_spawn: %s\n' "$*" >&2; exit 1; }
|
|
|
|
n=1; args=()
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case $1 in
|
|
-n) n=$2; shift ;;
|
|
-name) args+=(-name "$2"); shift ;;
|
|
-agent) args+=(-agent "$2"); shift ;;
|
|
-backend) args+=(-backend "$2"); shift ;;
|
|
-model) args+=(-model "$2"); shift ;;
|
|
-cwd) args+=(-cwd "$2"); shift ;;
|
|
-keep) args+=(-keep) ;;
|
|
--) shift; break ;;
|
|
-*) die "unknown flag: $1" ;;
|
|
*) break ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
[ $# -eq 0 ] && die "prompt required"
|
|
|
|
exec "$OLLIE/s/bfg" -parallel "$n" "${args[@]}" "$@"
|