@rosthq/cli 0.5.22 → 0.5.24

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.
package/dist/index.js CHANGED
@@ -42145,7 +42145,7 @@ Decisions should be recorded as human decisions. Handoffs should attach to seats
42145
42145
  order: 45,
42146
42146
  title: "How agents work",
42147
42147
  summary: "How {{brand}} agents operate inside seats, use Charters, report work, and escalate beyond authority.",
42148
- version: "2026-06-21.3",
42148
+ version: "2026-06-21.4",
42149
42149
  public: true,
42150
42150
  audiences: ["human", "cli", "mcp", "in_app_agent"],
42151
42151
  stages: ["staffing", "operating_rhythm"],
@@ -42239,7 +42239,7 @@ Before an agent goes live, the sandbox dry run rehearses this against fake data
42239
42239
 
42240
42240
  The Agents page shows fleet health first: live state, recent runs, failed runs, open held actions, last activity, cost, and the next operator action. It also shows configuration completeness for each staffed agent seat: Steward chain, lane or runtime substrate, vaulted credentials, granted tools, model config, sandbox dry run, and go-live state, each with a remediation link when incomplete. A seat's Trust Card drills into the same facts: run history, one-run detail, tool-call outcomes, product-visible errors, transcript references, loaded Skill versions, and held confirmations or escalations. Open confirmations stay visible until they are decided or expire, even when they are older than the default activity window. Approving or rejecting a held confirmation from the seat page is scoped to that seat; rejection can include a short reason.
42241
42241
 
42242
- Review the first dry runs, fleet overview, tool-call audit rows, escalations, deliverables, and Signal impact. A seat's completed-work area combines explicit deliverables, work-log evidence, and successful run summaries into one operator-facing trail with safe links labelled as internal, Linear, GitHub, or external. The fleet view at \`/agents\` shows every staffed agent seat at a glance; the agent-native equivalents are \`{{cli}} command agent.list_fleet --json '{}'\` / \`rost_list_agent_fleet\` for the compact overview, and \`{{cli}} agent fleet-digest --json\` / \`agent.fleet_digest\` / \`rost_get_dogfood_fleet_health_digest\` for the daily dogfood evidence bundle. The digest returns live/idle state, 24h/7d turns, 7d/30d spend, recent failed runs, unresolved product errors, failed notifications, and a next action per seat. Fleet real-turn counts use the same seat-run association as \`agent.list_runs\`, filtered to real runs. Scheduled agents are checked in rounded five-minute buckets, so a minute-level cron inside the bucket queues one work order for that bucket rather than one order per minute. Sandbox dry runs do not count as real turns. If the agent is repeatedly blocked, revise the Charter or split the seat. If the agent is taking too much judgment, narrow its autonomous scope.`
42242
+ Review the first dry runs, fleet overview, tool-call audit rows, escalations, deliverables, and Signal impact. A seat's completed-work area combines explicit deliverables, work-log evidence, and successful run summaries into one operator-facing trail with safe links labelled as internal, Linear, GitHub, or external. The fleet view at \`/agents\` shows every staffed agent seat at a glance; the agent-native equivalents are \`{{cli}} command agent.list_fleet --json '{}'\` / \`rost_list_agent_fleet\` for the compact overview, and \`{{cli}} agent fleet-digest --json\` / \`agent.fleet_digest\` / \`rost_get_dogfood_fleet_health_digest\` for the daily dogfood evidence bundle. The digest returns live/idle state, 24h/7d turns, 7d/30d spend, recent failed runs, unresolved product errors, failed notifications, and a next action per seat. Shared system-health summaries use the same server-derived tenant, member, or seat-token scope so UI, CLI, and MCP operators see consistent stalled-work, unresolved-error, runner, and notification counts without client-supplied tenant boundaries. Fleet real-turn counts use the same seat-run association as \`agent.list_runs\`, filtered to real runs. Scheduled agents are checked in rounded five-minute buckets, so a minute-level cron inside the bucket queues one work order for that bucket rather than one order per minute. Sandbox dry runs do not count as real turns. If the agent is repeatedly blocked, revise the Charter or split the seat. If the agent is taking too much judgment, narrow its autonomous scope.`
42243
42243
  },
42244
42244
  {
42245
42245
  slug: "tool-access-and-vault",
@@ -42384,7 +42384,7 @@ External connectors are being rolled out provider by provider, conservatively (r
42384
42384
  order: 48,
42385
42385
  title: "CLI and MCP installation guide",
42386
42386
  summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
42387
- version: "2026-06-21.12",
42387
+ version: "2026-06-21.14",
42388
42388
  public: true,
42389
42389
  audiences: ["human", "cli", "mcp", "in_app_agent"],
42390
42390
  stages: ["company_setup", "staffing"],
@@ -42444,7 +42444,14 @@ External connectors are being rolled out provider by provider, conservatively (r
42444
42444
  "integration.readiness",
42445
42445
  "integration.status",
42446
42446
  "integration.test",
42447
- "tenant.rename"
42447
+ "tenant.rename",
42448
+ "deliverable.list",
42449
+ "deliverable.get",
42450
+ "deliverable.create",
42451
+ "deliverable.attach",
42452
+ "error_log.list",
42453
+ "error_log.resolve",
42454
+ "error_log.supersede"
42448
42455
  ],
42449
42456
  legal: {
42450
42457
  publicRisk: "low",
@@ -42817,6 +42824,7 @@ The signed-in app exposes the same Skill command surface under **Skills** in the
42817
42824
  | \`{{cli}} goal list|create|update|status|reparent|drop\` | \`goal.list\`, \`goal.create\`, \`goal.update\`, \`goal.set_status\`, \`goal.reparent\`, \`goal.drop\` | Manage Cascade goals. Scope varies by verb: \`status\` is seat-scoped, \`list\`/\`create\` need a tenant token, and \`update\`/\`reparent\`/\`drop\` require tenant-admin. | Seat to tenant-admin | \`{{cli}} goal list --json\` |
42818
42825
  | \`{{cli}} friction list|file|resolve|link\` | \`friction.list\`, \`friction.file_issue\`, \`friction.resolve\`, \`friction.link_task\` | File and resolve Friction issues. | Seat | \`{{cli}} friction list --status open --json\` |
42819
42826
  | \`{{cli}} escalation list|get|resolve|reject\` | \`escalation.list\`, \`escalation.get\`, \`escalation.resolve\`, \`escalation.reject\` | Work the steward escalation queue. | Steward | \`{{cli}} escalation list --json\` |
42827
+ | \`{{cli}} error list|resolve|supersede\` | \`error_log.list\`, \`error_log.resolve\`, \`error_log.supersede\` | List active, acknowledged, resolved, or superseded product error logs and let a human acknowledge, resolve, or supersede stale errors with evidence links. | Tenant | \`{{cli}} error list --resolved active --json\`; \`{{cli}} error resolve --error-log-id <id> --reason "Fixed in PR #123"\` |
42820
42828
  | \`{{cli}} sync brief|compile|complete\` | \`sync.brief.get\`, \`sync.brief.compile\`, \`sync.run.complete\` | Compile, read, and complete a weekly Sync. | Tenant | \`{{cli}} sync brief --json\` |
42821
42829
  | \`{{cli}} runner list|status|work-orders|revoke\` | \`runner.list\`, \`runner.status\`, \`work_order.list\`, \`runner.revoke\` | Inspect runners and work orders; revoke a runner. | Tenant | \`{{cli}} runner list --json\` |
42822
42830
  | \`{{cli}} notification settings|test|errors\` | \`notification.settings.get\`, \`notification.test\`, \`notification.list_errors\` | Read notification settings, send a test, and list failed deliveries with linked product error source, seat id, and run id when available. | Tenant | \`{{cli}} notification errors --limit 10 --json\` |
@@ -42831,6 +42839,7 @@ The signed-in app exposes the same Skill command surface under **Skills** in the
42831
42839
  | \`{{cli}} model list\` | \`model.catalog\` | List guided model tiers with recommendations, token prices, cost bands, best-fit work, and model ids for \`--model\`. | Tenant | \`{{cli}} model list --json\` |
42832
42840
  | \`{{cli}} compass show\` | \`compass.show_markdown\` | Render the current Compass as a clean markdown card for review. | Tenant | \`{{cli}} compass show --markdown\` |
42833
42841
  | \`{{cli}} charter show\` | \`charter.show_markdown\` | Render a seat's Charter as a clean markdown card for review. | Tenant | \`{{cli}} charter show --seat-id <id> --markdown\` |
42842
+ | \`{{cli}} deliverable list|get|create|attach\` | \`deliverable.list\`, \`deliverable.get\`, \`deliverable.create\`, \`deliverable.attach\` | List, get, create, or attach agent deliverables for a seat. Deliverables are durable work outputs visible across UI, CLI, and MCP. | Tenant (list/get), Seat (create/attach) | \`{{cli}} deliverable list --seat-id <id> --json\`; \`{{cli}} deliverable create --title "Brief" --kind brief\` |
42834
42843
 
42835
42844
  Skills wrapper help:
42836
42845
 
@@ -42950,6 +42959,10 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
42950
42959
  | \`rost_list_agent_runs\` | \`agent.list_runs\` | Read a seat's agent run history (status, lane, model, cost, per-run Skill activation, tool-call, and guard-held counts) plus the seat's run/tool-call rollup including held-action count. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>"}\`; pass \`limit\` for a deeper window. |
42951
42960
  | \`rost_get_agent_run_diagnostics\` | \`agent.get_run\` | Read one run's diagnostic record: transcript reference, token/cost usage, outcome, linked product-visible run errors, and loaded Skill activation file metadata. File hashes/sizes identify the immutable source package, while model prompt text may be bounded or truncated. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>","run_id":"<run-id>"}\`. |
42952
42961
  | \`rost_list_agent_tool_calls\` | \`agent.list_tool_calls\` | Read a seat's tool-call ledger (tool name, guard result, manifest clause, outcome) with the held-action count as the hero metric. Never returns argument summaries or secret material. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>"}\`; pass \`held_only: true\` for only guard-held calls. |
42962
+ | \`rost_list_agent_deliverables\` | \`deliverable.list\` | List durable agent deliverables for a seat, including explicit outputs and successful-run summaries. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>"}\`. |
42963
+ | \`rost_get_agent_deliverable\` | \`deliverable.get\` | Read one durable agent deliverable by id for a seat. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>","deliverable_id":"<id>"}\`. |
42964
+ | \`rost_create_agent_deliverable\` | \`deliverable.create\` | Create a scrubbed durable work output for the acting seat. | Seat | Call with title, kind, summary/content, and optional safe links. |
42965
+ | \`rost_attach_agent_deliverable\` | \`deliverable.attach\` | Attach a scrubbed deliverable to a source run, task, or work order after server-side seat validation. | Seat | Call with title, kind, and the source ids that belong to the acting seat. |
42953
42966
  | \`rost_list_agent_templates\` | \`agent_template.list\` | List stock agent templates and metadata. | Tenant | Call with \`{}\`. |
42954
42967
  | \`rost_create_agent_from_template\` | \`agent.create_from_template\` | Create a draft stock agent and draft Charter from a template (draft-only; occupancy needs a human steward). | Tenant | Call with \`seat_id\` and \`template_slug\`; expect human confirmation. |
42955
42968
  | \`rost_start_agent_setup\` | \`agent_setup.start\` | Start an agent setup draft for template, custom, or existing mode. | Tenant | Call with \`mode\` and seat placement. |
@@ -42974,6 +42987,9 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
42974
42987
  | \`rost_update_notification_settings\` | \`notification.settings.update\` | Update tenant notification preferences. | Tenant | Call with the fields to change. |
42975
42988
  | \`rost_send_test_notification\` | \`notification.test\` | Emit an in-app test notification to the acting human. | Tenant | Call with \`{}\`. |
42976
42989
  | \`rost_list_notification_errors\` | \`notification.list_errors\` | List recent failed notification deliveries with linked \`error_log_id\`, source, seat id, and run id when available. | Tenant | Call with optional \`limit\`; \`source=run\` rows can be followed with \`agent.get_run\`. |
42990
+ | \`rost_list_error_logs\` | \`error_log.list\` | List product error logs by seat, source, severity, and active/resolved state. | Tenant | Call with \`{"resolved":"active"}\` before acknowledging stale failures. |
42991
+ | \`rost_resolve_error_log\` | \`error_log.resolve\` | Acknowledge or resolve an error log with a required human reason and optional task, issue, or PR link. | Tenant | Call with \`error_log_id\`, \`reason\`, and \`disposition\` \`acknowledged\` or \`resolved\`. |
42992
+ | \`rost_supersede_error_log\` | \`error_log.supersede\` | Mark an older error log as superseded by a newer in-tenant error log. | Tenant | Call with \`error_log_id\`, \`new_error_log_id\`, and \`reason\`. |
42977
42993
  | \`rost_list_integrations\` | \`integration.list\` | List connected integration metadata and latest health state. | Tenant | Call with \`{}\` or \`{"provider":"google"}\`; no secrets or vault refs are returned. |
42978
42994
  | \`rost_check_integration_readiness\` | \`integration.readiness\` | Return the connector setup checklist: OAuth env/callback, tenant connection, scopes, latest test state, external verification/CASA, handler availability, and DER-coded next actions. | Tenant | Call with \`{"provider":"google"}\`; metadata only, no secrets or vault refs. |
42979
42995
  | \`rost_get_integration_status\` | \`integration.status\` | Read one integration's metadata by provider or integration id. | Tenant | Call with \`{"provider":"google"}\` or \`{"integration_id":"<id>"}\`. |
@@ -47110,6 +47126,73 @@ function modelUsage(bin) {
47110
47126
  return `Usage: ${bin} model list [--json]
47111
47127
  ${bin} model list \u2014 guided model tiers with recommendations, token prices, cost bands, and model ids for --model.`;
47112
47128
  }
47129
+ var errorWrapper = (context, args) => dispatch(context, "error", args, {
47130
+ list: (ctx, rest) => {
47131
+ const parsed = parseFlags(rest);
47132
+ const body = withOptional({}, {
47133
+ seat_id: optionalValue(parsed, "seat-id"),
47134
+ source: optionalValue(parsed, "source"),
47135
+ severity: optionalValue(parsed, "severity"),
47136
+ resolved: optionalValue(parsed, "resolved"),
47137
+ limit: optionalNumber(parsed, "limit")
47138
+ });
47139
+ return execute(ctx, parsed, "error_log.list", body, (output) => {
47140
+ const record2 = asRecord(output);
47141
+ const errors = asArray(record2.errors);
47142
+ if (errors.length === 0) {
47143
+ return "No error logs matching the filter.";
47144
+ }
47145
+ return errors.map((entry) => {
47146
+ const r = asRecord(entry);
47147
+ const disposition = field(r, "disposition");
47148
+ const marker = disposition === "active" ? "*" : " ";
47149
+ const severityLabel = field(r, "severity").charAt(0).toUpperCase();
47150
+ return `${marker} ${field(r, "error_log_id")} [${severityLabel}] ${field(r, "source")} ${disposition} ${field(r, "code")} ${field(r, "message")} ${field(r, "created_at")}`;
47151
+ }).join("\n") + (field(record2, "total") !== "" ? `
47152
+ Total: ${field(record2, "total")}` : "");
47153
+ });
47154
+ },
47155
+ resolve: (ctx, rest) => {
47156
+ const parsed = parseFlags(rest);
47157
+ const errorLogId = requireValue2(parsed, "error-log-id");
47158
+ const reason = requireValue2(parsed, "reason");
47159
+ const body = withOptional({
47160
+ error_log_id: errorLogId,
47161
+ reason
47162
+ }, {
47163
+ disposition: optionalValue(parsed, "disposition"),
47164
+ linked_task_id: optionalValue(parsed, "linked-task-id"),
47165
+ linked_issue_id: optionalValue(parsed, "linked-issue-id"),
47166
+ linked_pr_ref: optionalValue(parsed, "linked-pr-ref")
47167
+ });
47168
+ return execute(ctx, parsed, "error_log.resolve", body, (output) => {
47169
+ const record2 = asRecord(output);
47170
+ return `Resolved error ${field(record2, "error_log_id")} as ${field(record2, "disposition")} at ${field(record2, "resolved_at")}.`;
47171
+ });
47172
+ },
47173
+ supersede: (ctx, rest) => {
47174
+ const parsed = parseFlags(rest);
47175
+ const body = withOptional({
47176
+ error_log_id: requireValue2(parsed, "error-log-id"),
47177
+ new_error_log_id: requireValue2(parsed, "new-error-log-id"),
47178
+ reason: requireValue2(parsed, "reason")
47179
+ }, {
47180
+ linked_task_id: optionalValue(parsed, "linked-task-id"),
47181
+ linked_issue_id: optionalValue(parsed, "linked-issue-id"),
47182
+ linked_pr_ref: optionalValue(parsed, "linked-pr-ref")
47183
+ });
47184
+ return execute(ctx, parsed, "error_log.supersede", body, (output) => {
47185
+ const record2 = asRecord(output);
47186
+ return `Superseded error ${field(record2, "error_log_id")} \u2192 ${field(record2, "superseded_by_id")} at ${field(record2, "resolved_at")}.`;
47187
+ });
47188
+ }
47189
+ }, errorUsage(context.binName));
47190
+ function errorUsage(bin) {
47191
+ return `Usage: ${bin} error list|resolve|supersede [--json]
47192
+ ${bin} error list [--seat-id <id>] [--source run|llm|tool|mcp|runner|integration|job|web] [--severity warning|error|critical] [--resolved active|acknowledged|resolved|all] [--limit <n>]
47193
+ ${bin} error resolve --error-log-id <id> --reason <text> [--disposition acknowledged|resolved] [--linked-task-id <id>] [--linked-issue-id <id>] [--linked-pr-ref <url>]
47194
+ ${bin} error supersede --error-log-id <id> --new-error-log-id <id> --reason <text> [--linked-task-id <id>] [--linked-issue-id <id>] [--linked-pr-ref <url>]`;
47195
+ }
47113
47196
  var compassWrapper = (context, args) => dispatch(context, "compass", args, {
47114
47197
  show: (ctx, rest) => {
47115
47198
  const parsed = parseFlags(rest, /* @__PURE__ */ new Set(["markdown"]));
@@ -47131,6 +47214,87 @@ function charterUsage(bin) {
47131
47214
  return `Usage: ${bin} charter show --seat-id <id> [--markdown] [--json]
47132
47215
  ${bin} charter show --seat-id <id> --markdown \u2014 render a seat's active or latest Charter as a markdown card.`;
47133
47216
  }
47217
+ function formatDeliverableList(output) {
47218
+ const deliverables = asArray(asRecord(output).deliverables);
47219
+ if (deliverables.length === 0) {
47220
+ return "No deliverables for this seat.";
47221
+ }
47222
+ return deliverables.map((entry) => {
47223
+ const r = asRecord(entry);
47224
+ const summary = field(r, "summary") === "\u2014" ? "" : ` \u2014 ${field(r, "summary")}`;
47225
+ return `${field(r, "id")} [${field(r, "kind")}] ${field(r, "title")}${summary}`;
47226
+ }).join("\n");
47227
+ }
47228
+ function formatDeliverableDetail(output) {
47229
+ const d = asRecord(asRecord(output).deliverable);
47230
+ const links = asArray(d.links).map((entry) => {
47231
+ const l = asRecord(entry);
47232
+ return ` ${field(l, "kind")}: ${field(l, "label")} <${field(l, "url")}>`;
47233
+ }).join("\n");
47234
+ return [
47235
+ `# ${field(d, "title")} [${field(d, "kind")}]`,
47236
+ field(d, "id"),
47237
+ field(d, "summary") === "\u2014" ? "" : field(d, "summary"),
47238
+ field(d, "content") === "\u2014" ? "" : `content:
47239
+ ${field(d, "content")}`,
47240
+ `delivered: ${field(d, "delivered_at")}`,
47241
+ `run: ${field(d, "source_run_status")} ${field(d, "source_run_model")}`,
47242
+ `task: ${field(d, "source_task_title")}`,
47243
+ links.length > 0 ? `links:
47244
+ ${links}` : ""
47245
+ ].filter((line) => line.length > 0).join("\n");
47246
+ }
47247
+ function formatDeliverableWrite(output) {
47248
+ const record2 = asRecord(output);
47249
+ return `deliverable ${field(record2, "deliverable_id")} recorded.`;
47250
+ }
47251
+ var deliverableWrapper = (context, args) => dispatch(context, "deliverable", args, {
47252
+ list: (ctx, rest) => {
47253
+ const parsed = parseFlags(rest);
47254
+ const seatId = requireValue2(parsed, "seat-id");
47255
+ return execute(ctx, parsed, "deliverable.list", { seat_id: seatId }, formatDeliverableList);
47256
+ },
47257
+ get: (ctx, rest) => {
47258
+ const parsed = parseFlags(rest);
47259
+ const body = {
47260
+ seat_id: requireValue2(parsed, "seat-id"),
47261
+ deliverable_id: requireValue2(parsed, "deliverable-id")
47262
+ };
47263
+ return execute(ctx, parsed, "deliverable.get", body, formatDeliverableDetail);
47264
+ },
47265
+ create: (ctx, rest) => {
47266
+ const parsed = parseFlags(rest, /* @__PURE__ */ new Set(["json"]));
47267
+ const body = withOptional({
47268
+ kind: optionalValue(parsed, "kind") ?? "other",
47269
+ title: requireValue2(parsed, "title")
47270
+ }, {
47271
+ summary: optionalValue(parsed, "summary"),
47272
+ content: optionalValue(parsed, "content")
47273
+ });
47274
+ return execute(ctx, parsed, "deliverable.create", body, formatDeliverableWrite);
47275
+ },
47276
+ attach: (ctx, rest) => {
47277
+ const parsed = parseFlags(rest);
47278
+ const body = withOptional({
47279
+ kind: optionalValue(parsed, "kind") ?? "other",
47280
+ title: requireValue2(parsed, "title")
47281
+ }, {
47282
+ run_id: optionalValue(parsed, "run-id"),
47283
+ task_id: optionalValue(parsed, "task-id"),
47284
+ work_order_id: optionalValue(parsed, "work-order-id"),
47285
+ summary: optionalValue(parsed, "summary"),
47286
+ content: optionalValue(parsed, "content")
47287
+ });
47288
+ return execute(ctx, parsed, "deliverable.attach", body, formatDeliverableWrite);
47289
+ }
47290
+ }, deliverableUsage(context.binName));
47291
+ function deliverableUsage(bin) {
47292
+ return `Usage: ${bin} deliverable list|get|create|attach [--json]
47293
+ ${bin} deliverable list --seat-id <id>
47294
+ ${bin} deliverable get --seat-id <id> --deliverable-id <id>
47295
+ ${bin} deliverable create --title <text> [--kind brief|work_evidence|artifact|report|other] [--summary <text>] [--content <text>]
47296
+ ${bin} deliverable attach --title <text> [--run-id <id>] [--task-id <id>] [--work-order-id <id>] [--kind brief|work_evidence|artifact|report|other] [--summary <text>] [--content <text>]`;
47297
+ }
47134
47298
  var OPERATION_GROUPS = [
47135
47299
  "task",
47136
47300
  "status",
@@ -47138,6 +47302,7 @@ var OPERATION_GROUPS = [
47138
47302
  "goal",
47139
47303
  "friction",
47140
47304
  "escalation",
47305
+ "error",
47141
47306
  "sync",
47142
47307
  "runner",
47143
47308
  "notification",
@@ -47149,7 +47314,8 @@ var OPERATION_GROUPS = [
47149
47314
  "skills",
47150
47315
  "model",
47151
47316
  "compass",
47152
- "charter"
47317
+ "charter",
47318
+ "deliverable"
47153
47319
  ];
47154
47320
  var wrappers = {
47155
47321
  task: taskWrapper,
@@ -47158,6 +47324,7 @@ var wrappers = {
47158
47324
  goal: goalWrapper,
47159
47325
  friction: frictionWrapper,
47160
47326
  escalation: escalationWrapper,
47327
+ error: errorWrapper,
47161
47328
  sync: syncWrapper,
47162
47329
  runner: runnerWrapper,
47163
47330
  notification: notificationWrapper,
@@ -47169,7 +47336,8 @@ var wrappers = {
47169
47336
  skills: skillsWrapper,
47170
47337
  model: modelWrapper,
47171
47338
  compass: compassWrapper,
47172
- charter: charterWrapper
47339
+ charter: charterWrapper,
47340
+ deliverable: deliverableWrapper
47173
47341
  };
47174
47342
  function isOperationGroup(value) {
47175
47343
  return value !== void 0 && OPERATION_GROUPS.includes(value);
@@ -47181,6 +47349,7 @@ var groupUsageBuilders = {
47181
47349
  goal: goalUsage,
47182
47350
  friction: frictionUsage,
47183
47351
  escalation: escalationUsage,
47352
+ error: errorUsage,
47184
47353
  sync: syncUsage,
47185
47354
  runner: runnerUsage,
47186
47355
  notification: notificationUsage,
@@ -47192,7 +47361,8 @@ var groupUsageBuilders = {
47192
47361
  skills: skillsUsage,
47193
47362
  model: modelUsage,
47194
47363
  compass: compassUsage,
47195
- charter: charterUsage
47364
+ charter: charterUsage,
47365
+ deliverable: deliverableUsage
47196
47366
  };
47197
47367
  function operationGroupUsage(group, bin) {
47198
47368
  return usageWithSchemaFooter(groupUsageBuilders[group](bin), bin);
@@ -47213,6 +47383,7 @@ function operationUsageLines(bin) {
47213
47383
  `${bin} goal list|create|update|status|reparent|drop`,
47214
47384
  `${bin} friction list|file|resolve|link`,
47215
47385
  `${bin} escalation list|get|resolve|reject`,
47386
+ `${bin} error list|resolve|supersede`,
47216
47387
  `${bin} sync brief|compile|complete`,
47217
47388
  `${bin} runner list|status|work-orders|revoke`,
47218
47389
  `${bin} notification settings|test|errors`,
@@ -47223,7 +47394,8 @@ function operationUsageLines(bin) {
47223
47394
  `${bin} skills list|get|file|assigned|check-dependencies`,
47224
47395
  `${bin} model list`,
47225
47396
  `${bin} compass show`,
47226
- `${bin} charter show`
47397
+ `${bin} charter show`,
47398
+ `${bin} deliverable list|get|create|attach`
47227
47399
  ];
47228
47400
  }
47229
47401