1#!/usr/bin/env bash
2
3# SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
4#
5# SPDX-License-Identifier: CC0-1.0
6
7set -euo pipefail
8
9valid_packages="handoff, personas"
10
11resolve_package_dir() {
12 case "$1" in
13 handoff|pi-handoff|@amolith/pi-handoff) printf '%s\n' packages/handoff ;;
14 personas|pi-personas|@amolith/pi-personas) printf '%s\n' packages/personas ;;
15 *)
16 echo "Error: unknown package '$1'" >&2
17 echo "Valid packages: $valid_packages" >&2
18 exit 1
19 ;;
20 esac
21}
22
23if [[ $# -eq 0 ]]; then
24 echo "Error: at least one package is required" >&2
25 echo "Valid packages: $valid_packages" >&2
26 exit 1
27fi
28
29results=()
30for package in "$@"; do
31 dir=$(resolve_package_dir "$package")
32 if [[ ${#results[@]} -gt 0 ]]; then
33 for existing in "${results[@]}"; do
34 if [[ "$existing" == "$dir" ]]; then
35 echo "Error: multiple selectors resolved to '$dir' (duplicate triggered by '$package')" >&2
36 exit 1
37 fi
38 done
39 fi
40 results+=("$dir")
41done
42
43printf '%s\n' "${results[@]}"