@cello-protocol/cli 0.0.51 → 0.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,7 +37,7 @@ export interface ParityOptions extends EmitOptions {
37
37
  /**
38
38
  * The persisted agent selection, or undefined if none was ever made.
39
39
  *
40
- * ENOENT — never selected — is the ONLY swallowed error (review F4). A blanket catch here would let
40
+ * ENOENT — never selected — is the ONLY swallowed error. A blanket catch here would let
41
41
  * an unreadable file (EACCES, EISDIR, a corrupt mount) read as "no selection", after which the
42
42
  * daemon's sole-online fallback would quietly run the command as whatever agent happens to be up:
43
43
  * the operator's selection silently replaced by a different identity, exit 0. Anything that is not
@@ -45,16 +45,14 @@ export interface ParityOptions extends EmitOptions {
45
45
  */
46
46
  export declare function readCurrentAgent(celloDir: string): Promise<string | undefined>;
47
47
  /**
48
- * The ONE place a CLI command's daemon IPC method is named (review T2).
48
+ * CLI command name → the daemon IPC method it calls. The ONE place a CLI command's daemon IPC
49
+ * method is named.
49
50
  *
50
51
  * The registry's `ipcMethod` field is set FROM this map, and every function below dispatches FROM
51
52
  * this map — so the field that DoD §9's parity test audits is, by construction, the literal that is
52
- * actually sent. Previously the two were independent strings: the registry could say
53
- * `cello_contact_set_moniker` while the code called `cello_contact_set_away`, and the audit — which
54
- * only read the metadata — would happily pass. A comment-in-a-field is not a guarantee; this is.
55
- */
56
- /**
57
- * CLI command name → the daemon IPC method it calls.
53
+ * actually sent. Two independent strings would let the registry say `cello_contact_set_moniker`
54
+ * while the code calls `cello_contact_set_away`, and the audit — which only reads the metadata —
55
+ * would happily pass. A comment-in-a-field is not a guarantee; this is.
58
56
  *
59
57
  * The KEYS are the CLI/MCP capability names (DOD-ONBOARD-HELP-1 §2b: one vocabulary). The VALUES
60
58
  * are the daemon's IPC WIRE names, which deliberately do NOT move — the shim maps tool
@@ -75,12 +73,16 @@ export declare const IPC_METHODS: {
75
73
  readonly receive: "cello_receive";
76
74
  readonly "close-session": "cello_close_session";
77
75
  readonly "await-session": "cello_await_session";
76
+ readonly "name-session": "cello_name_session";
78
77
  readonly contacts: "cello_contact_list";
79
78
  readonly "contact-add": "cello_contact_add";
80
79
  readonly "contact-remove": "cello_contact_remove";
81
80
  readonly "contact-set-tier": "cello_contact_set_tier";
82
81
  readonly "contact-set-away": "cello_contact_set_away";
83
82
  readonly "contact-set-moniker": "cello_contact_set_moniker";
83
+ readonly "settings-get": "cello_settings_get";
84
+ readonly "settings-set": "cello_settings_set";
85
+ readonly "moniker-set": "cello_set_moniker";
84
86
  };
85
87
  /** `cello agents` → cello_list_agents. Daemon-wide, not agent-scoped. */
86
88
  export declare function listAgents(celloDir: string, opts: ParityOptions): Promise<CliOutput>;
@@ -108,15 +110,12 @@ export declare function inbox(celloDir: string, opts: ParityOptions & {
108
110
  /** `cello transcript <session-id>` → cello_get_transcript (durable, survives a daemon restart). */
109
111
  export declare function transcript(celloDir: string, sessionId: string, opts: ParityOptions): Promise<CliOutput>;
110
112
  /**
111
- * `cello sealed-receipt <session-id>` → cello_get_sealed_receipt.
113
+ * `cello sealed-receipt <session-id>` → cello_get_sealed_receipt: the notarized bilateral SEAL
114
+ * receipt, the artifact the whole close ceremony exists to produce and the one an arbitrator reads.
112
115
  *
113
- * NOT in the brief's mapping table, which listed cello_get_sealed_receipt as "already covered by
114
- * `receipts`". It is not: `cello relay-receipts <name>` calls cello_get_relay_receipts — a DIFFERENT
115
- * handler (per-message relay delivery proofs). The notarized bilateral SEAL receipt — the artifact
116
- * the whole close ceremony exists to produce, and the one an arbitrator reads — had no CLI surface
117
- * at all. Added under the standing rule: a real, non-stub handler with no CLI command gets one.
118
- * (DOD-ONBOARD-HELP-1 later renamed `receipts` → `relay-receipts` precisely because two names that
119
- * differed by a single plural could not be told apart — the very confusion this comment records.)
116
+ * NOT the same handler as `cello relay-receipts <name>`, which calls cello_get_relay_receipts
117
+ * (per-message relay delivery proofs). The two are routinely conflated; they are different
118
+ * artifacts and must keep distinct names.
120
119
  */
121
120
  export declare function sealedReceipt(celloDir: string, sessionId: string, opts: ParityOptions): Promise<CliOutput>;
122
121
  /** `cello contact <pubkey> add` → cello_contact_add. */
@@ -131,6 +130,14 @@ export declare function contactSetTier(celloDir: string, pubkey: string, tier: n
131
130
  export declare function contactSetAway(celloDir: string, pubkey: string, message: string | null, opts: ParityOptions): Promise<CliOutput>;
132
131
  /** `cello contact set-moniker <pubkey> <moniker>` → cello_contact_set_moniker (per-CONTACT pet name). */
133
132
  export declare function contactSetMoniker(celloDir: string, pubkey: string, moniker: string | null, opts: ParityOptions): Promise<CliOutput>;
133
+ /** `cello settings get [key]` → cello_settings_get. Omitted key returns the whole set. */
134
+ export declare function settingsGet(celloDir: string, key: string | undefined, opts: ParityOptions): Promise<CliOutput>;
135
+ /** `cello settings set <key> <value>` → cello_settings_set. The DAEMON validates the key and, for
136
+ * bound keys, that the value is a finite positive integer; the CLI surfaces its verdict verbatim. */
137
+ export declare function settingsSet(celloDir: string, key: string, value: string, opts: ParityOptions): Promise<CliOutput>;
138
+ /** `cello moniker set <name>` / `cello moniker clear` → cello_set_moniker. Null clears the override.
139
+ * This is the agent's OWN outbound name — not `contact set-moniker`, which names a COUNTERPARTY. */
140
+ export declare function monikerSet(celloDir: string, moniker: string | null, opts: ParityOptions): Promise<CliOutput>;
134
141
  /** `cello initiate-session <target-pubkey>` → cello_initiate_session. Prints the session_id. */
135
142
  export declare function initiate(celloDir: string, targetPubkey: string, opts: ParityOptions): Promise<CliOutput>;
136
143
  /**
@@ -159,7 +166,16 @@ export declare function receive(celloDir: string, sessionId: string, opts: Parit
159
166
  */
160
167
  export declare function closeSession(celloDir: string, sessionId: string, opts: ParityOptions & {
161
168
  force?: boolean;
169
+ sessionName?: string;
162
170
  }): Promise<CliOutput>;
171
+ /**
172
+ * `cello name-session <session-id> <name...>` (or --clear) → cello_name_session.
173
+ *
174
+ * DOD-SESSION-NAME-1 (AC-A15). The name is taken from the remaining positionals and joined, so
175
+ * multi-word names work without quoting: `cello name-session ab12… the deploy postmortem`.
176
+ * `--clear` sends null, which is how you un-name a session.
177
+ */
178
+ export declare function nameSession(celloDir: string, sessionId: string, sessionName: string | null, opts: ParityOptions): Promise<CliOutput>;
163
179
  /** `cello await-session [--timeout-ms N]` → cello_await_session. Blocks for an inbound doorbell. */
164
180
  export declare function awaitSession(celloDir: string, opts: ParityOptions & {
165
181
  timeoutMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"parity-commands.d.ts","sourceRoot":"","sources":["../src/parity-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parity-commands.d.ts","sourceRoot":"","sources":["../src/parity-commands.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ function currentAgentPath(celloDir) {
38
38
  /**
39
39
  * The persisted agent selection, or undefined if none was ever made.
40
40
  *
41
- * ENOENT — never selected — is the ONLY swallowed error (review F4). A blanket catch here would let
41
+ * ENOENT — never selected — is the ONLY swallowed error. A blanket catch here would let
42
42
  * an unreadable file (EACCES, EISDIR, a corrupt mount) read as "no selection", after which the
43
43
  * daemon's sole-online fallback would quietly run the command as whatever agent happens to be up:
44
44
  * the operator's selection silently replaced by a different identity, exit 0. Anything that is not
@@ -56,9 +56,9 @@ export async function readCurrentAgent(celloDir) {
56
56
  }
57
57
  }
58
58
  /**
59
- * Forget the persisted selection. Called by `stop-agent` (review F1): the daemon clears an agent
60
- * from every connection's current-agent state when it is stopped, so the CLI's durable mirror of
61
- * that state must be cleared too. Leaving it behind was a genuine defect — see stopAgent().
59
+ * Forget the persisted selection. Called by `stop-agent`: the daemon clears an agent from every
60
+ * connection's current-agent state when it is stopped, so the CLI's durable mirror of that state
61
+ * must be cleared too.
62
62
  */
63
63
  async function clearCurrentAgent(celloDir) {
64
64
  try {
@@ -92,7 +92,7 @@ async function withDaemon(celloDir, opts, agentScoped, fn) {
92
92
  try {
93
93
  await client.send("ipc.connect", { clientType: "cli" });
94
94
  if (agentScoped) {
95
- // Review F2 — an EMPTY --agent must never be treated as "no --agent". `--agent "$VAR"` with
95
+ // An EMPTY --agent must never be treated as "no --agent". `--agent "$VAR"` with
96
96
  // VAR unset yields "", which is not nullish: it would suppress the persisted selection, fail
97
97
  // the truthiness check below, run NO replay, and let the daemon's sole-online fallback execute
98
98
  // the command as whatever agent happened to be up — exit 0, wrong identity, silently. That is
@@ -102,9 +102,9 @@ async function withDaemon(celloDir, opts, agentScoped, fn) {
102
102
  }
103
103
  const selected = opts.agent ?? (await readCurrentAgent(celloDir));
104
104
  if (selected) {
105
- // Review F1 — the replay must not RESURRECT a stopped agent. cello_use_agent auto-starts an
106
- // offline agent (AUTOSTART-1), so replaying it blindly meant `cello stop-agent alice` could
107
- // be silently undone by the very next read-only command (`cello inbox`), bringing alice back
105
+ // The replay must not RESURRECT a stopped agent. cello_use_agent auto-starts an offline
106
+ // agent (AUTOSTART-1), so replaying it blindly would let `cello stop-agent alice` be
107
+ // silently undone by the very next read-only command (`cello inbox`), bringing alice back
108
108
  // online and reachable with no signal. Stopping an agent is kill-switch-adjacent; a command
109
109
  // that reads must never re-arm it. The MCP surface never does this — the daemon clears the
110
110
  // agent from every connection on stop, and later calls get no_current_agent.
@@ -126,8 +126,23 @@ async function withDaemon(celloDir, opts, agentScoped, fn) {
126
126
  return emitTransportError("unexpected_replay_response", `Selecting agent '${selected}' returned an unrecognized response, so the command was not run. This is a daemon/CLI version mismatch — check 'cello status'.`, opts);
127
127
  }
128
128
  }
129
- // No selection at all → send nothing, and let the daemon apply its own documented fallback
130
- // (sole online agent; ambiguous → no_current_agent). Guessing here would misroute.
129
+ else {
130
+ // NO selection. The daemon's fallback is "the sole ONLINE agent", and it refuses only when
131
+ // two or more are online — so with several agents known and exactly one up, it runs the
132
+ // command as that one. `cello stop-agent <selected>` clears the selection, which walks
133
+ // straight into it: the next command silently re-targets whoever else happens to be online.
134
+ //
135
+ // With ONE known agent the fallback is unambiguous and useful (a fresh operator who never ran
136
+ // `use-agent` still works). With more than one it is a guess about intent, and a guess must
137
+ // not be made silently on the operator's behalf.
138
+ const known = await listKnownAgents(client);
139
+ if (known === null) {
140
+ return emitTransportError("agent_list_unavailable", "The daemon's agent list could not be read, so this command was not run — without it there is no way to tell whether an unselected command would target the agent you meant. Check 'cello status'.", opts);
141
+ }
142
+ if (known.length > 1) {
143
+ return emitTransportError("no_agent_selected", `No agent is selected and the daemon knows ${known.length} (${known.join(", ")}), so this command was not run — it would otherwise have silently targeted whichever agent happened to be online. Choose one with 'cello use-agent <name>', or pass --agent <name>.`, opts);
144
+ }
145
+ }
131
146
  }
132
147
  const result = await fn(client);
133
148
  return emitIpcResult(result, opts);
@@ -141,14 +156,35 @@ async function withDaemon(celloDir, opts, agentScoped, fn) {
141
156
  }
142
157
  /**
143
158
  * Is this agent currently ONLINE? Asked via cello_list_agents (a real handler, no new IPC path) so
144
- * the replay can refuse to auto-start a stopped agent (review F1). Fails CLOSED: any unexpected
145
- * shape reads as "not online", which fails the command loud rather than resurrecting an agent the
146
- * operator deliberately stopped.
159
+ * the replay can refuse to auto-start a stopped agent. Fails CLOSED: any unexpected shape reads as
160
+ * "not online", which fails the command loud rather than resurrecting an agent the operator
161
+ * deliberately stopped.
147
162
  */
148
163
  async function isAgentOnline(client, name) {
149
164
  const res = (await client.send("cello_list_agents"));
150
165
  return (res.agents ?? []).some((a) => a.name === name && a.state === "online");
151
166
  }
167
+ /**
168
+ * Every agent the daemon KNOWS — loaded, whether online or not. Used to decide whether "no
169
+ * selection" is unambiguous (one agent) or a guess about the operator's intent (several).
170
+ *
171
+ * Counts KNOWN agents, not online ones. Counting only the online ones reopens the hole it exists to
172
+ * close: stopping the selected agent drops the count to one, so the guess looks safe again at
173
+ * exactly the moment the operator said they do not want that agent.
174
+ *
175
+ * FAILS CLOSED, like its sibling isAgentOnline. Returns null — never an empty list — when the daemon
176
+ * answers with a shape it does not recognize. An empty list would sail through a `length > 1` guard
177
+ * and hand the decision straight back to the daemon's sole-online fallback, which is the very thing
178
+ * the guard is there to prevent. A counter that cannot count must not answer "one".
179
+ */
180
+ async function listKnownAgents(client) {
181
+ const res = (await client.send("cello_list_agents"));
182
+ if (!Array.isArray(res.agents))
183
+ return null;
184
+ return res.agents
185
+ .map((a) => a.name)
186
+ .filter((n) => typeof n === "string");
187
+ }
152
188
  /** The common case: one IPC call, agent-scoped unless stated otherwise. */
153
189
  function ipcCommand(celloDir, method, params, opts, agentScoped = true) {
154
190
  return withDaemon(celloDir, opts, agentScoped, async (client) => {
@@ -160,16 +196,14 @@ function defined(params) {
160
196
  return Object.fromEntries(Object.entries(params).filter(([, v]) => v !== undefined));
161
197
  }
162
198
  /**
163
- * The ONE place a CLI command's daemon IPC method is named (review T2).
199
+ * CLI command name → the daemon IPC method it calls. The ONE place a CLI command's daemon IPC
200
+ * method is named.
164
201
  *
165
202
  * The registry's `ipcMethod` field is set FROM this map, and every function below dispatches FROM
166
203
  * this map — so the field that DoD §9's parity test audits is, by construction, the literal that is
167
- * actually sent. Previously the two were independent strings: the registry could say
168
- * `cello_contact_set_moniker` while the code called `cello_contact_set_away`, and the audit — which
169
- * only read the metadata — would happily pass. A comment-in-a-field is not a guarantee; this is.
170
- */
171
- /**
172
- * CLI command name → the daemon IPC method it calls.
204
+ * actually sent. Two independent strings would let the registry say `cello_contact_set_moniker`
205
+ * while the code calls `cello_contact_set_away`, and the audit — which only reads the metadata —
206
+ * would happily pass. A comment-in-a-field is not a guarantee; this is.
173
207
  *
174
208
  * The KEYS are the CLI/MCP capability names (DOD-ONBOARD-HELP-1 §2b: one vocabulary). The VALUES
175
209
  * are the daemon's IPC WIRE names, which deliberately do NOT move — the shim maps tool
@@ -190,12 +224,16 @@ export const IPC_METHODS = {
190
224
  receive: "cello_receive",
191
225
  "close-session": "cello_close_session",
192
226
  "await-session": "cello_await_session",
227
+ "name-session": "cello_name_session",
193
228
  contacts: "cello_contact_list",
194
229
  "contact-add": "cello_contact_add",
195
230
  "contact-remove": "cello_contact_remove",
196
231
  "contact-set-tier": "cello_contact_set_tier",
197
232
  "contact-set-away": "cello_contact_set_away",
198
233
  "contact-set-moniker": "cello_contact_set_moniker",
234
+ "settings-get": "cello_settings_get",
235
+ "settings-set": "cello_settings_set",
236
+ "moniker-set": "cello_set_moniker",
199
237
  };
200
238
  // ─── Group A: agent lifecycle ──────────────────────────────────────────────────────────────────
201
239
  /** `cello agents` → cello_list_agents. Daemon-wide, not agent-scoped. */
@@ -241,25 +279,19 @@ export function transcript(celloDir, sessionId, opts) {
241
279
  return ipcCommand(celloDir, IPC_METHODS.transcript, { session_id: sessionId }, opts);
242
280
  }
243
281
  /**
244
- * `cello sealed-receipt <session-id>` → cello_get_sealed_receipt.
282
+ * `cello sealed-receipt <session-id>` → cello_get_sealed_receipt: the notarized bilateral SEAL
283
+ * receipt, the artifact the whole close ceremony exists to produce and the one an arbitrator reads.
245
284
  *
246
- * NOT in the brief's mapping table, which listed cello_get_sealed_receipt as "already covered by
247
- * `receipts`". It is not: `cello relay-receipts <name>` calls cello_get_relay_receipts — a DIFFERENT
248
- * handler (per-message relay delivery proofs). The notarized bilateral SEAL receipt — the artifact
249
- * the whole close ceremony exists to produce, and the one an arbitrator reads — had no CLI surface
250
- * at all. Added under the standing rule: a real, non-stub handler with no CLI command gets one.
251
- * (DOD-ONBOARD-HELP-1 later renamed `receipts` → `relay-receipts` precisely because two names that
252
- * differed by a single plural could not be told apart — the very confusion this comment records.)
285
+ * NOT the same handler as `cello relay-receipts <name>`, which calls cello_get_relay_receipts
286
+ * (per-message relay delivery proofs). The two are routinely conflated; they are different
287
+ * artifacts and must keep distinct names.
253
288
  */
254
289
  export function sealedReceipt(celloDir, sessionId, opts) {
255
290
  return ipcCommand(celloDir, IPC_METHODS["sealed-receipt"], { session_id: sessionId }, opts);
256
291
  }
257
- // Review F3: the WHOLE address book now speaks the §3 contract, not just the three new sub-verbs.
258
- // Previously add/remove/list/tier/away went through the legacy path (errors pretty-printed to
259
- // STDOUT, no --pretty) while the new set-moniker used the parity path (errors to stderr) — so a
260
- // bash script branching on stderr got DIFFERENT conventions between sub-verbs of the same command.
261
- // One command, one contract. (Behavior change, journaled: contact failures now print JSON on stderr
262
- // rather than stdout; the exit codes were already correct.)
292
+ // The WHOLE address book speaks the §3 contract — every sub-verb, not just some. A bash script
293
+ // branching on stderr must not get DIFFERENT conventions between sub-verbs of the same command.
294
+ // One command, one contract: contact failures print JSON on stderr, never stdout.
263
295
  /** `cello contact <pubkey> add` → cello_contact_add. */
264
296
  export function contactAdd(celloDir, pubkey, opts) {
265
297
  return ipcCommand(celloDir, IPC_METHODS["contact-add"], { pubkey }, opts);
@@ -284,6 +316,26 @@ export function contactSetAway(celloDir, pubkey, message, opts) {
284
316
  export function contactSetMoniker(celloDir, pubkey, moniker, opts) {
285
317
  return ipcCommand(celloDir, IPC_METHODS["contact-set-moniker"], { pubkey, moniker }, opts);
286
318
  }
319
+ // ─── Agent settings and outbound name ──────────────────────────────────────────────────────────
320
+ //
321
+ // AGENT-SCOPED: they write to one agent's row, so they resolve their agent through withDaemon's
322
+ // use-agent replay like every other agent-scoped command. Do not give them a private connection
323
+ // helper — a second connection path is a second agent-resolution rule, and one operator gesture must
324
+ // not mean two different things depending on which command it reaches.
325
+ /** `cello settings get [key]` → cello_settings_get. Omitted key returns the whole set. */
326
+ export function settingsGet(celloDir, key, opts) {
327
+ return ipcCommand(celloDir, IPC_METHODS["settings-get"], defined({ key }), opts);
328
+ }
329
+ /** `cello settings set <key> <value>` → cello_settings_set. The DAEMON validates the key and, for
330
+ * bound keys, that the value is a finite positive integer; the CLI surfaces its verdict verbatim. */
331
+ export function settingsSet(celloDir, key, value, opts) {
332
+ return ipcCommand(celloDir, IPC_METHODS["settings-set"], { key, value }, opts);
333
+ }
334
+ /** `cello moniker set <name>` / `cello moniker clear` → cello_set_moniker. Null clears the override.
335
+ * This is the agent's OWN outbound name — not `contact set-moniker`, which names a COUNTERPARTY. */
336
+ export function monikerSet(celloDir, moniker, opts) {
337
+ return ipcCommand(celloDir, IPC_METHODS["moniker-set"], { moniker }, opts);
338
+ }
287
339
  // ─── Group B: live conversation (mirrors the MCP params EXACTLY) ───────────────────────────────
288
340
  /** `cello initiate-session <target-pubkey>` → cello_initiate_session. Prints the session_id. */
289
341
  export function initiate(celloDir, targetPubkey, opts) {
@@ -313,9 +365,25 @@ export function receive(celloDir, sessionId, opts) {
313
365
  * ceremony. --force is passed ONLY when asked for (mirroring the shim), since it forfeits the seal.
314
366
  */
315
367
  export function closeSession(celloDir, sessionId, opts) {
316
- const params = opts.force ? { session_id: sessionId, force: true } : { session_id: sessionId };
368
+ const params = { session_id: sessionId };
369
+ if (opts.force)
370
+ params.force = true;
371
+ // DOD-SESSION-NAME-1 (AC-A14): only sent when the operator asked for it. Omitted means "no name",
372
+ // which is a meaningful state — never fill it in for them.
373
+ if (opts.sessionName !== undefined)
374
+ params.session_name = opts.sessionName;
317
375
  return ipcCommand(celloDir, IPC_METHODS["close-session"], params, opts);
318
376
  }
377
+ /**
378
+ * `cello name-session <session-id> <name...>` (or --clear) → cello_name_session.
379
+ *
380
+ * DOD-SESSION-NAME-1 (AC-A15). The name is taken from the remaining positionals and joined, so
381
+ * multi-word names work without quoting: `cello name-session ab12… the deploy postmortem`.
382
+ * `--clear` sends null, which is how you un-name a session.
383
+ */
384
+ export function nameSession(celloDir, sessionId, sessionName, opts) {
385
+ return ipcCommand(celloDir, IPC_METHODS["name-session"], { session_id: sessionId, session_name: sessionName }, opts);
386
+ }
319
387
  /** `cello await-session [--timeout-ms N]` → cello_await_session. Blocks for an inbound doorbell. */
320
388
  export function awaitSession(celloDir, opts) {
321
389
  return ipcCommand(celloDir, IPC_METHODS["await-session"], defined({ timeout_ms: opts.timeoutMs }), opts);
@@ -1 +1 @@
1
- {"version":3,"file":"parity-commands.js","sourceRoot":"","sources":["../src/parity-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parity-commands.js","sourceRoot":"","sources":["../src/parity-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAkB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAwC,MAAM,eAAe,CAAC;AAUxG,qGAAqG;AACrG,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAK,GAA6B,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,CAAC,iBAAiB;QAC1F,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAK,GAA6B,EAAE,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IACnE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,IAAY;IAC7D,MAAM,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,UAAU,CACvB,QAAgB,EAChB,IAAmB,EACnB,WAAoB,EACpB,EAA2D;IAE3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,kBAAkB,CACvB,oBAAoB,EACpB,gEAAgE,EAChE,IAAI,CACL,CAAC;IACJ,CAAC;IAED,IAAI,MAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,kBAAkB,CACvB,oBAAoB,EACpB,sCAAsC,IAAI,CAAC,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,EAC5J,IAAI,CACL,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAExD,IAAI,WAAW,EAAE,CAAC;YAChB,gFAAgF;YAChF,6FAA6F;YAC7F,+FAA+F;YAC/F,8FAA8F;YAC9F,wFAAwF;YACxF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACzD,OAAO,kBAAkB,CACvB,qBAAqB,EACrB,qJAAqJ,EACrJ,IAAI,CACL,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,wFAAwF;gBACxF,qFAAqF;gBACrF,0FAA0F;gBAC1F,4FAA4F;gBAC5F,2FAA2F;gBAC3F,6EAA6E;gBAC7E,EAAE;gBACF,2FAA2F;gBAC3F,kFAAkF;gBAClF,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAC7C,OAAO,kBAAkB,CACvB,wBAAwB,EACxB,UAAU,QAAQ,+FAA+F,QAAQ,6IAA6I,EACtQ,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,4FAA4F;gBAC5F,sFAAsF;gBACtF,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAA4B,CAAC;gBACnG,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;oBACrB,2FAA2F;oBAC3F,4FAA4F;oBAC5F,sFAAsF;oBACtF,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK;wBAAE,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACxD,OAAO,kBAAkB,CACvB,4BAA4B,EAC5B,oBAAoB,QAAQ,gIAAgI,EAC5J,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,2FAA2F;gBAC3F,wFAAwF;gBACxF,uFAAuF;gBACvF,4FAA4F;gBAC5F,EAAE;gBACF,8FAA8F;gBAC9F,4FAA4F;gBAC5F,iDAAiD;gBACjD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,OAAO,kBAAkB,CACvB,wBAAwB,EACxB,mMAAmM,EACnM,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,kBAAkB,CACvB,mBAAmB,EACnB,6CAA6C,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qLAAqL,EACnQ,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,kBAAkB,CACvB,WAAW,EACX,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7E,IAAI,CACL,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,MAAiB,EAAE,IAAY;IAC1D,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAA0D,CAAC;IAC9G,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,eAAe,CAAC,MAAiB;IAC9C,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAyB,CAAC;IAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAQ,GAAG,CAAC,MAAoC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,2EAA2E;AAC3E,SAAS,UAAU,CACjB,QAAgB,EAChB,MAAc,EACd,MAA+B,EAC/B,IAAmB,EACnB,WAAW,GAAG,IAAI;IAElB,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9D,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAA4B,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,SAAS,OAAO,CAAC,MAA+B;IAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,mBAAmB;IAC3B,aAAa,EAAE,mBAAmB;IAClC,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,2BAA2B;IAClC,UAAU,EAAE,sBAAsB;IAClC,gBAAgB,EAAE,0BAA0B;IAC5C,kBAAkB,EAAE,wBAAwB;IAC5C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,eAAe;IACxB,eAAe,EAAE,qBAAqB;IACtC,eAAe,EAAE,qBAAqB;IACtC,cAAc,EAAE,oBAAoB;IACpC,QAAQ,EAAE,oBAAoB;IAC9B,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,sBAAsB;IACxC,kBAAkB,EAAE,wBAAwB;IAC5C,kBAAkB,EAAE,wBAAwB;IAC5C,qBAAqB,EAAE,2BAA2B;IAClD,cAAc,EAAE,oBAAoB;IACpC,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,mBAAmB;CAC1B,CAAC;AAEX,kGAAkG;AAElG,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,IAAmB;IAC9D,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAmB;IAC5E,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAmB;IACjF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACzF,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtE,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAmB;IAChF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACxF,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;QAAE,MAAM,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,KAAK,CACnB,QAAgB,EAChB,IAAmD;IAEnD,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACvF,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,SAAiB,EAAE,IAAmB;IACjF,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AACvF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,SAAiB,EAAE,IAAmB;IACpF,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AAC9F,CAAC;AAED,+FAA+F;AAC/F,gGAAgG;AAChG,kFAAkF;AAElF,wDAAwD;AACxD,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAmB;IAC9E,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAmB;IACjF,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,IAAmB;IAC/D,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAY,EAAE,IAAmB;IAChG,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AACvF,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAsB,EAAE,IAAmB;IAC1G,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAsB,EAAE,IAAmB;IAC7G,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,kGAAkG;AAClG,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,qGAAqG;AACrG,uEAAuE;AAEvE,0FAA0F;AAC1F,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,GAAuB,EAAE,IAAmB;IACxF,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACnF,CAAC;AAED;sGACsG;AACtG,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,GAAW,EAAE,KAAa,EAAE,IAAmB;IAC3F,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;AACjF,CAAC;AAED;qGACqG;AACrG,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAsB,EAAE,IAAmB;IACtF,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,kGAAkG;AAElG,gGAAgG;AAChG,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,YAAoB,EAAE,IAAmB;IAClF,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;AACtG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAClB,QAAgB,EAChB,SAAiB,EACjB,OAAe,EACf,IAAsE;IAEtE,OAAO,UAAU,CACf,QAAQ,EACR,YAAY,EACZ,OAAO,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAC3F,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,QAAgB,EAChB,SAAiB,EACjB,IAA+D;IAE/D,OAAO,UAAU,CACf,QAAQ,EACR,eAAe,EACf,OAAO,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EACxF,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,SAAiB,EACjB,IAA+D;IAE/D,MAAM,MAAM,GAA4B,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAClE,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACpC,kGAAkG;IAClG,2DAA2D;IAC3D,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;IAC3E,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,SAAiB,EACjB,WAA0B,EAC1B,IAAmB;IAEnB,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AACvH,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,IAA4C;IAE5C,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC3G,CAAC"}
@@ -3,13 +3,12 @@
3
3
  *
4
4
  * Each entry carries { name, summary, help, flags, run }. Everything derives from this one table:
5
5
  * - dispatch (src/bin/cello.ts) — no switch to keep in sync,
6
- * - the `cello --help` described `Commands:` table — rendered from each entry's `summary`
7
- * (this is DOD-ONBOARD-HELP-1's remaining gap; the old surface was a pipe-delimited blob),
8
- * - per-command `cello <cmd> --help` — the pre-existing help text, moved here VERBATIM,
6
+ * - the `cello --help` described `Commands:` table — rendered from each entry's `summary`,
7
+ * - per-command `cello <cmd> --help`,
9
8
  * - the recognized-flag set used to reject unknown flags before dispatch.
10
9
  *
11
- * Consequence, and the reason for the refactor: the help table, per-command help, and dispatch
12
- * CANNOT DRIFT, and adding a command FORCES adding its one-line summary.
10
+ * Consequence: the help table, per-command help, and dispatch CANNOT DRIFT, and adding a command
11
+ * FORCES adding its one-line summary.
13
12
  */
14
13
  import type { Logger } from "@cello-protocol/daemon";
15
14
  /** What a command needs from the process to run. Injected so dispatch is testable in-process. */
@@ -77,10 +76,10 @@ export declare function flagsFor(name: string): ReadonlyMap<string, FlagSpec>;
77
76
  /**
78
77
  * DOD-ONBOARD-HELP-1 §1: render the `Commands:` table GROUPED and in logical order.
79
78
  *
80
- * Flat-and-arbitrary was the reopen: `register` appeared before `create-agent`, so the table
81
- * literally listed step 2 above step 1. Sections in GROUP_ORDER, commands in declaration order
82
- * within each — the order a reader would actually do them. Name column is padded across the WHOLE
83
- * table (not per group) so the summaries line up as one column down the page.
79
+ * Sections in GROUP_ORDER, commands in declaration order within each — the order a reader would
80
+ * actually do them. A flat/alphabetical table is wrong: it lists `register` (step 2) above
81
+ * `create-agent` (step 1). Name column is padded across the WHOLE table (not per group) so the
82
+ * summaries line up as one column down the page.
84
83
  */
85
84
  export declare function renderCommandsTable(): string;
86
85
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAgDrD,iGAAiG;AACjG,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,qGAAqG;AACrG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,uFAOd,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC9D;AAgFD,eAAO,MAAM,QAAQ,EAAE,SAAS,WAAW,EA8jB1C,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEjE;AAgBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAOpE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAS5C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAiDrD,iGAAiG;AACjG,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,qGAAqG;AACrG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,uFAOd,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC9D;AA+ED,eAAO,MAAM,QAAQ,EAAE,SAAS,WAAW,EA0mB1C,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEjE;AAgBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAOpE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAS5C"}