Files

1.4 KiB

description
description
List carts, show the active one, or switch carts in-process

The user invoked /cart with argument: $ARGUMENTS

Handle it as follows, calling tools directly and reporting back tersely:

  • Empty / list / ls → call cart_list and cart_info. Render a compact table with columns: slug, name, voice (or -), version, (mark the current one). Append a one-line totals summary.

  • current / active / ? → call cart_info and report just slug + name (and voice if set). One line.

  • main / eems / base → call cart_load with no slug argument. Confirm the swap by echoing the returned slug, name, and path. One line.

  • Anything else → treat as a cart slug. Call cart_load with tag="$ARGUMENTS". On success, echo the new active slug + name + path (one line). On error (typo, cart not found), surface the error string verbatim and suggest /cart list.

Rules:

  • Don't narrate ("I'll now..."). Just call tools and report.
  • No more than 6 lines of output total (table can exceed if many carts).
  • Don't call any other tools — cart ops only.
  • Remember: this is an in-process swap. opencode chat history is shared across carts; only EEMS data is isolated. Don't restate this every time — only mention it if the user switches into a different cart for the first time in this session.