/** * peaks asset * CLI — M5 / spec §5 / §7.4 * * Adds the umbrella verbs for the post-run crystallization flow: * * peaks asset crystallize --from-task --loop-name \ * --loop-scenario --bee-name \ * --bee-version --bee-description \ * --brief-what-happened --brief-why-it-matters \ * --brief-what-learned --brief-what-action \ * [--bee-relation-reason ] [--brief-bullet ]... \ * [--source-trace ]... [--evaluator-summary ] \ * [--user-decision-summary ] \ * [--trigger ] \ * [--project ] [--json] * peaks asset dispose --crystallization-event --mode \ * [--project ] [--json] * peaks asset status [--loop ] [--bee ] [--project ] [--json] * * The crystallize verb prints the 4-section brief in the * user-facing recommendation; refuses to proceed if any brief * section is missing (EvidenceBriefSchema.refine guard + * CrystallizationService pre-run gate). * * The dispose verb handles trace-only / retain / destroy. trace_only * retires the crystallization event but keeps the source trace; * retain is a no-op on the asset (the user wants to keep it as * evidence); destroy hard-retires both the event and (if the * user opts in) the created/updated assets. The CLI defaults to * trace-only disposal for safety. * * The status verb lists loop + bee lifecycle state plus any * crystallization events that reference them. * * Each verb prints a structured JSON envelope (`printResult` with * `asJson=true`). The user never types a JSON manifest / form * field; the LLM runs the CLI on the user's behalf. * * Defense in depth: the CrystallizationService enforces the * pre-run gate and the brief-section guard; the CLI only * translates flags into the service payload. * * The verb implementations live beside this file, one module per verb: * `asset-crystallize-command.ts`, `asset-dispose-command.ts`, * `asset-status-command.ts`, with their shared bootstrap in * `asset-command-shared.ts`. */ import type { Command } from 'commander'; import type { ProgramIO } from '../cli-helpers.js'; export declare function registerAssetCommands(program: Command, io: ProgramIO): void;