mosaic org config validate|resolve runs runConfigCommand (packages/organization/src/config-command.mjs), the callable service the old mosaic business validate|resolve executable now calls too. The service returns the exit code, never exits the process and does nothing on import. The spelling sets only the stderr prefix and the usage text; status and stdout are byte-identical, and the v1 output keeps the business key. mosaic org instances|instance|veto takes the same arguments as mosaic business instances|instance|veto and runs the same proof-bearing instances command. It is dispatched before orgCommand, so it never builds the dev-local-owner context. mosaic org validate FILE is unchanged. Help, the UI labels for agent actions and instance reasons, and the current docs now use the org spelling and the packages/organization paths. Two webui test regexes follow the label text. packages/cli/tests/ rename-b-commands.test.mjs compares the two spellings golden for golden on status, stdout, stderr and authorization outcomes, and covers a draft file named like an installed ID.
52 lines
2.7 KiB
Bash
Executable File
52 lines
2.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# `mosaic launch <seat>` and `mosaic seat task <seat> <text>`: seat launch
|
|
# with registration for the control board. See packages/seat/README.md.
|
|
# `mosaic queue <verb>`: the work queue. See packages/queue/README.md.
|
|
# `mosaic org config validate|resolve` and `mosaic org instances|instance|veto`:
|
|
# the installed organization files and role instances; `mosaic business <verb>`
|
|
# is the old spelling of both, with the same arguments. See
|
|
# packages/organization/README.md.
|
|
# `mosaic inbox|decide|tasks|agents|trail|talk|stop|launches` and
|
|
# `mosaic bus start|stop|status`: the human commands, managed sessions and
|
|
# the bus host. See packages/cli/README.md.
|
|
# This is the repository wrapper; run it by path from the checkout. A host
|
|
# may also put `mosaic` on PATH as a wrapper that runs a pinned copy's
|
|
# scripts/mosaic (scripts/stack-copy.sh wrapper, docs/TOOLS.md "Stack
|
|
# copies"). On Jason's host the estate CLI it replaced is `mosaic-old`.
|
|
# On a pinned host the human commands and --tester go through
|
|
# that `mosaic`, and from a checkout they exit 3. Queue commands stay on
|
|
# scripts/mosaic queue in the canonical checkout, because a copy refuses
|
|
# them. See packages/cli/README.md "One pinned copy".
|
|
set -euo pipefail
|
|
REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
# No argument: the full-screen app on a terminal (packages/cli/README.md).
|
|
if [ $# -eq 0 ]; then
|
|
exec node "$REPO/packages/cli/src/cli.mjs"
|
|
fi
|
|
if [ "${1:-}" = queue ]; then
|
|
shift
|
|
exec node "$REPO/packages/queue/src/cli.mjs" "$@"
|
|
fi
|
|
if [ "${1:-}" = business ]; then
|
|
# Row 165 (#1662): the human's role instance commands need the human proof,
|
|
# so they run in packages/cli. validate and resolve run in packages/organization (the old
|
|
# packages/business path is a shim of it, rename r2 stage B). Row 194 adds veto.
|
|
# This is the old spelling: `mosaic org config` and `mosaic org instances|instance|veto`
|
|
# run the same code through packages/cli, below.
|
|
case "${2:-}" in
|
|
instances|instance|veto) exec node "$REPO/packages/cli/src/cli.mjs" "$@" ;;
|
|
esac
|
|
shift
|
|
exec node "$REPO/packages/organization/src/cli.mjs" "$@"
|
|
fi
|
|
# `mosaic library survey`: names and counts from a writing repo, never its text
|
|
# (packages/library/README.md). Other library verbs are bus verbs.
|
|
if [ "${1:-}" = library ] && [ "${2:-}" = survey ]; then
|
|
shift
|
|
exec node "$REPO/packages/library/src/survey.mjs" "$@"
|
|
fi
|
|
case "${1:-}" in
|
|
org|proxy|halt|resume|processing|usage|project|limits|inbox|decide|tasks|agents|trail|talk|stop|launches|bus|console|plugins|credentials|hosts|grants|name|names|follow|threads|thread|access|dev|run) exec node "$REPO/packages/cli/src/cli.mjs" "$@" ;;
|
|
esac
|
|
exec node "$REPO/packages/seat/src/cli.mjs" "$@"
|