Files
stack/scripts/mosaic
T
jason.woltje 98d29769e2 bus, cli: tester reads and the W1-W7 tester writes, recorded as tester; scripts/mosaic sends plugins, name and names to the CLI (row 175, #1673)
TESTER_VERBS gains usage, names, limits, plugins, instances, project.list,
thread.list, name.set and project.create. A tester reads limits, plugins
and instances and sends plugins.set, instances.set and routes.set, each
logged with actor tester. The project file verbs refuse a tester
tester-refused. The broker and CLI drop the [mos test]
prefix rule (mos-0872 Q1). The CLI takes --tester on the seven reads and
the W1-W7 write forms and refuses it (exit 4) elsewhere, bus start and
stop included.

project init --tester checks the project area, refuses the area root
itself, binds the tester with one agents read, then commits the layout as
tester (mos-0872 Q2). scripts/mosaic sends plugins, name, names, follow,
threads and thread to packages/cli (sage-1081). The row 164 pins are
untouched.

Built by Dewey on 9e74925c2 (three commits to 989699f7c, manifest
2e30f2a1...29d5f), approved by Filbert in round 3 (#1673 comment 29279),
Sage's gate green on 716ddcf1e plus the patch.
2026-10-19 19:04:50 -05:00

41 lines
1.9 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 business <verb>`: business files and role instances. See
# packages/business/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 stay in packages/business.
case "${2:-}" in
instances|instance) exec node "$REPO/packages/cli/src/cli.mjs" "$@" ;;
esac
shift
exec node "$REPO/packages/business/src/cli.mjs" "$@"
fi
case "${1:-}" in
usage|project|limits|inbox|decide|tasks|agents|trail|talk|stop|launches|bus|plugins|name|names|follow|threads|thread) exec node "$REPO/packages/cli/src/cli.mjs" "$@" ;;
esac
exec node "$REPO/packages/seat/src/cli.mjs" "$@"