@rosthq/cli 0.5.14 → 0.5.15

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
@@ -41752,7 +41752,7 @@ When operating through CLI or MCP, create fewer seats first and ask for confirma
41752
41752
  order: 30,
41753
41753
  title: "Charter design playbook",
41754
41754
  summary: "How to draft strong Charters that work for human, agent, and hybrid seats.",
41755
- version: "2026-06-13.1",
41755
+ version: "2026-06-20.1",
41756
41756
  public: true,
41757
41757
  audiences: ["human", "cli", "mcp", "in_app_agent"],
41758
41758
  stages: ["charter_design", "staffing"],
@@ -41809,6 +41809,8 @@ List and read first, then draft, then leave activation to a human.
41809
41809
  - Draft one: \`{{cli}} command charter.draft --json '{"seat_id":"<seat-id>"}'\` (scope: seat or tenant-admin); draft every eligible seat with \`charter.draft_all\` / \`rost_draft_all_charters\`. Draft commands are not gated \u2014 they produce a draft \`charter_version_id\`. \`charter.draft_all\` only drafts **active** seats and returns the real result: \`{ drafted, skipped, draft_ids, skipped_seats: [{ seat_id, reason }] }\` where \`reason\` is \`seat_not_active\` (the seat is still draft/vacant \u2014 confirm it first) or \`charter_exists\` (it already has a draft/active Charter). Read \`skipped_seats\` to see why a freshly-built graph drafted fewer Charters than it has seats.
41810
41810
  - Edit a draft: \`charter.update_draft\` / \`rost_update_charter_draft\` with the \`charter_version_id\` and the new \`doc\`.
41811
41811
 
41812
+ In the app, \`/charters\` is both a drafting queue and a governance library. It shows active Charters, draft amendments, seats missing Charters, unsigned manifests, and steward-review gaps. Opening a live Charter is a review mode: read the active version, inspect its governance state, and open an amendment draft when the job needs to change. Active Charter content is never silently edited in place.
41813
+
41812
41814
  ## When to stop for confirmation
41813
41815
 
41814
41816
  \`charter.approve\`, \`charter.skip\`, \`charter.apply_seat_type_recommendation\`, and \`charter.sign_manifest\` are \`human_required\`. Over MCP \`rost_approve_charter\` returns a pending confirmation, not an activation. Approving a Charter, signing a permission manifest, or expanding authority is a human act recorded against \`decided_by\`. An agent prepares the draft and surfaces the approve link; it does not approve. See the confirmations guide.
@@ -42121,7 +42123,7 @@ Decisions should be recorded as human decisions. Handoffs should attach to seats
42121
42123
  order: 45,
42122
42124
  title: "How agents work",
42123
42125
  summary: "How {{brand}} agents operate inside seats, use Charters, report work, and escalate beyond authority.",
42124
- version: "2026-06-20.1",
42126
+ version: "2026-06-20.3",
42125
42127
  public: true,
42126
42128
  audiences: ["human", "cli", "mcp", "in_app_agent"],
42127
42129
  stages: ["staffing", "operating_rhythm"],
@@ -42130,6 +42132,7 @@ Decisions should be recorded as human decisions. Handoffs should attach to seats
42130
42132
  "agent.go_live",
42131
42133
  "agent.status",
42132
42134
  "agent.list_fleet",
42135
+ "agent.fleet_digest",
42133
42136
  "agent_setup.get",
42134
42137
  "agent_setup.update",
42135
42138
  "agent.decommission",
@@ -42204,13 +42207,17 @@ The model is only ever offered the tools the seat's manifest grants \u2014 a den
42204
42207
  3. The action runs bound to the seat's vaulted credential. The secret stays inside the call and never reaches the result, the audit row, the logs, or the model.
42205
42208
  4. Every call \u2014 allowed, denied, escalated, or invalid \u2014 writes a tool-call audit row you can review.
42206
42209
 
42210
+ When operational evidence appears in the app, it is formatted for review instead of shown as primary raw JSON. Tool arguments, escalation evidence, status evidence, Sync inputs, and task context are summarized as labeled fields; secret-looking values stay redacted. Raw identifiers remain available only as supporting detail when they help an operator trace the record.
42211
+
42207
42212
  Provider requests carry only the model payload the runtime needs; run attribution, tenant attribution, usage, and cost are recorded in {{brand}} audit tables after the call, not sent as custom provider metadata.
42208
42213
 
42209
42214
  Before an agent goes live, the sandbox dry run rehearses this against fake data and returns a per-tool preview: for each tool the agent would touch, whether it would run it, would be blocked, or would escalate \u2014 no external side effect. Review that preview before you approve go-live.
42210
42215
 
42211
42216
  ## What humans should review
42212
42217
 
42213
- Review the first dry runs, fleet overview, tool-call audit rows, escalations, and Signal impact. The fleet view at \`/agents\` shows every staffed agent seat at a glance; the agent-native equivalent is \`{{cli}} command agent.list_fleet --json '{}'\` / \`rost_list_agent_fleet\`, which returns lane, live state, last real turn, 24h/7d real turns, top measurable status, open escalations, and 7-day spend. 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.`
42218
+ The Agents page shows fleet health first: live state, recent runs, failed runs, open held actions, last activity, cost, and the next operator action. A seat's Trust Card drills into the same facts: run history, one-run detail, tool-call outcomes, product-visible errors, transcript references, 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.
42219
+
42220
+ Review the first dry runs, fleet overview, tool-call audit rows, escalations, and Signal impact. 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.`
42214
42221
  },
42215
42222
  {
42216
42223
  slug: "tool-access-and-vault",
@@ -42300,7 +42307,7 @@ There is exactly one way to give a connected tool its credential, and it is the
42300
42307
  order: 47,
42301
42308
  title: "Available tools guide",
42302
42309
  summary: "How to think about tool categories available to seats and what each category should be used for.",
42303
- version: "2026-06-20.2",
42310
+ version: "2026-06-20.3",
42304
42311
  public: true,
42305
42312
  audiences: ["human", "cli", "mcp", "in_app_agent"],
42306
42313
  stages: ["staffing"],
@@ -42349,7 +42356,7 @@ External connectors are being rolled out provider by provider, conservatively (r
42349
42356
  order: 48,
42350
42357
  title: "CLI and MCP installation guide",
42351
42358
  summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
42352
- version: "2026-06-20.7",
42359
+ version: "2026-06-20.8",
42353
42360
  public: true,
42354
42361
  audiences: ["human", "cli", "mcp", "in_app_agent"],
42355
42362
  stages: ["company_setup", "staffing"],
@@ -42385,6 +42392,7 @@ External connectors are being rolled out provider by provider, conservatively (r
42385
42392
  "agent.go_live",
42386
42393
  "agent.status",
42387
42394
  "agent.list_fleet",
42395
+ "agent.fleet_digest",
42388
42396
  "agent.get_run",
42389
42397
  "agent.list_runs",
42390
42398
  "agent.list_tool_calls"
@@ -42764,7 +42772,7 @@ These ergonomic wrappers (including the \`{{cli}} agent\` group) require **{{cli
42764
42772
  | \`{{cli}} integration list|status|test\` | \`integration.list\`, \`integration.status\`, \`integration.test\` | List connector metadata, read one connector's health, and run the provider-specific connection test without exposing credentials. | Tenant | \`{{cli}} integration test --provider google --json\` |
42765
42773
  | \`{{cli}} settings get|update\` | \`settings.get\`, \`settings.update\` | Read tenant settings; update budget caps. | Tenant | \`{{cli}} settings get --json\` |
42766
42774
  | \`{{cli}} member invite|update|remove\` | \`member.invite\`, \`member.update\`, \`member.remove\` | Manage tenant members. | Tenant | \`{{cli}} member invite --email ops@example.com --role member\` |
42767
- | \`{{cli}} agent templates|create|setup|tools|dry-run|go-live|status|run-now|get-run|show\` | \`agent_template.list\`, \`agent.create_from_template\`, \`agent.create_custom\`, \`agent_setup.get\`, \`agent_setup.update\`, \`agent.configure_tools\`, \`agent.run_dry_run\`, \`agent.go_live\`, \`agent.status\`, \`agent.run_now\`, \`agent.get_run\`, \`agent.show_markdown\` | Run the full agent setup and operation flow: list templates, create a draft from a template or guided custom answers (with \`--model\` and \`--effort\`), read or answer setup state, connect or decline tools, dry-run, go live, run on demand, read one run's transcript/error diagnostics, and show a markdown readout. Create and go-live stop at human gates; the dry-run is ungated by human approval but requires a signed manifest first. | Tenant and seat | \`{{cli}} agent get-run --seat-id <seat-id> --run-id <run-id> --json\` |
42775
+ | \`{{cli}} agent templates|create|setup|tools|dry-run|go-live|status|run-now|fleet-digest|get-run|show\` | \`agent_template.list\`, \`agent.create_from_template\`, \`agent.create_custom\`, \`agent_setup.get\`, \`agent_setup.update\`, \`agent.configure_tools\`, \`agent.run_dry_run\`, \`agent.go_live\`, \`agent.status\`, \`agent.run_now\`, \`agent.fleet_digest\`, \`agent.get_run\`, \`agent.show_markdown\` | Run the full agent setup and operation flow: list templates, create a draft from a template or guided custom answers (with \`--model\` and \`--effort\`), read or answer setup state, connect or decline tools, dry-run, go live, run on demand, capture the fleet-health digest, read one run's transcript/error diagnostics, and show a markdown readout. Create and go-live stop at human gates; the dry-run is ungated by human approval but requires a signed manifest first. | Tenant and seat | \`{{cli}} agent fleet-digest --json\` |
42768
42776
  | \`{{cli}} tools list\` | \`tool.catalog\` | List the discoverable tool catalog the builder reads (id, scope tiers, credential requirement, access policy, and execution-boundary guidance). | Tenant | \`{{cli}} tools list --json\` |
42769
42777
  | \`{{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\` |
42770
42778
  | \`{{cli}} compass show\` | \`compass.show_markdown\` | Render the current Compass as a clean markdown card for review. | Tenant | \`{{cli}} compass show --markdown\` |
@@ -42864,6 +42872,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
42864
42872
  | \`rost_list_compass_gaps\` | \`compass.list_gaps\` | List unanswered and answered Compass context gaps. | Tenant | Call with \`{}\` before answering gaps. |
42865
42873
  | \`rost_get_agent_status\` | \`agent.status\` | Read agent lane, live state, steward chain, dry-run result, Runner availability. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>"}\`. |
42866
42874
  | \`rost_list_agent_fleet\` | \`agent.list_fleet\` | Read every staffed agent seat at once: lane, live state, last real turn, 24h/7d real turns, measurable status, escalations, and 7-day spend. | Tenant | Call with \`{}\`; counts use the same seat-run association as \`agent.list_runs\`, with sandbox dry runs excluded from real turns. |
42875
+ | \`rost_get_dogfood_fleet_health_digest\` | \`agent.fleet_digest\` | Capture the daily dogfood fleet-health digest: live/idle state, 24h/7d turns, spend, recent failed runs, unresolved errors, failed notifications, and next actions. | Tenant | Call with \`{}\`; optional \`window_hours\` bounds recent failed-run evidence, while \`error_limit\` caps linked evidence per seat. |
42867
42876
  | \`rost_run_agent_now\` | \`agent.run_now\` | Queue an immediate run for a live staffed agent without changing its saved schedule; cloud lane dispatches to the executor and runner lane queues for the paired runner. | Tenant | Call with \`{"seat_id":"<seat-id>"}\`. |
42868
42877
  | \`rost_list_agent_runs\` | \`agent.list_runs\` | Read a seat's agent run history (status, lane, model, cost, per-run 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. |
42869
42878
  | \`rost_get_agent_run_diagnostics\` | \`agent.get_run\` | Read one run's diagnostic record: transcript reference, token/cost usage, outcome, and linked product-visible run errors. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>","run_id":"<run-id>"}\`. |
@@ -43426,7 +43435,7 @@ Stop before: approving a Charter, signing a manifest, connecting a tool or crede
43426
43435
  order: 72,
43427
43436
  title: "Settings guide",
43428
43437
  summary: "How to use Settings as the control plane for company access, channels, providers, tokens, and operating defaults.",
43429
- version: "2026-06-20.1",
43438
+ version: "2026-06-20.5",
43430
43439
  public: true,
43431
43440
  audiences: ["human", "cli", "mcp", "in_app_agent"],
43432
43441
  stages: ["company_setup", "staffing"],
@@ -43458,9 +43467,15 @@ Start with members and invites, then provider and channel connections, then MCP
43458
43467
  - Stored credentials (vault references only) and tool access approvals.
43459
43468
  - Operating defaults, including Sync Brief scope.
43460
43469
 
43470
+ Settings lifecycle timestamps are display metadata for tokens, connected machines, integrations, and stored credentials. They may be emitted by the database as either timestamp values or strings, but Settings renders them as safe labels rather than treating timestamp formatting failures as page-level failures.
43471
+
43472
+ When a settings source is temporarily unavailable, the app keeps the route open and marks affected sections as unavailable instead of showing raw errors or stale-looking editable values. Budget and Sync Brief controls stay read-only until their server-backed data can be loaded.
43473
+
43461
43474
  ## Integration health
43462
43475
 
43463
- \`integration.list\` lists connector metadata for CLI and MCP operators, \`integration.status\` reads one provider or integration id, and \`integration.test\` runs the installed provider-specific health check. These commands return account labels, scopes, capabilities, timestamps, and health only; they never return vault references, access tokens, refresh tokens, or raw provider responses. Google's test refreshes the vaulted OAuth credential and reads the Gmail profile as the minimal live check.
43476
+ \`integration.list\` lists connector metadata for CLI and MCP operators, \`integration.status\` reads one provider or integration id, and \`integration.test\` runs the installed provider-specific health check. These commands return account labels, scopes, capabilities, timestamps, and health only; they never return vault references, access tokens, refresh tokens, or raw provider responses. Google's test refreshes the vaulted OAuth credential and reads the Gmail profile as the minimal live check. Settings exposes the same Google test as an owner/operator button beside Connect/Reconnect, shows the last tested time, and turns failures into reconnect-oriented remediation copy rather than raw provider errors.
43477
+
43478
+ Reconnects keep historical rows for audit, but provider status in Settings, CLI, and MCP prefers the current connected row first, then the latest error or disconnected row.
43464
43479
 
43465
43480
  ## Sync Brief scope
43466
43481
 
@@ -45962,6 +45977,24 @@ ${field(record2, "summary")}`;
45962
45977
  return `queued ${field(workOrder, "lane")} work order ${field(workOrder, "id")} for agent ${field(workOrder, "agent_id")} (${field(workOrder, "status")})`;
45963
45978
  });
45964
45979
  },
45980
+ "fleet-digest": (ctx, rest) => {
45981
+ const parsed = parseFlags(rest);
45982
+ const body = withOptional({}, {
45983
+ window_hours: optionalNumber(parsed, "window-hours"),
45984
+ error_limit: optionalNumber(parsed, "error-limit")
45985
+ });
45986
+ return execute(ctx, parsed, "agent.fleet_digest", body, (output) => {
45987
+ const record2 = asRecord(output);
45988
+ const summary = asRecord(record2.summary);
45989
+ const agents = asArray(record2.agents);
45990
+ const header = `fleet ${field(summary, "fleet_count")} seats live=${field(summary, "live_count")} idle=${field(summary, "idle_count")} turns24h=${field(summary, "turns_24h")} failed24h=${field(summary, "failed_runs_24h")} spend7d=$${field(summary, "spend_7d_usd")}`;
45991
+ const lines = agents.map((agent) => {
45992
+ const r = asRecord(agent);
45993
+ return `${field(r, "seat_name")} ${field(r, "health_status")} live=${field(r, "live")} turns24h=${field(r, "turns_24h")} failed=${field(r, "failed_runs_24h")} next=${field(r, "suggested_next_action")}`;
45994
+ });
45995
+ return [header, ...lines].join("\n");
45996
+ });
45997
+ },
45965
45998
  "get-run": (ctx, rest) => {
45966
45999
  const parsed = parseFlags(rest);
45967
46000
  const body = {
@@ -46003,7 +46036,7 @@ function agentConfigureTools(ctx, rest, decision) {
46003
46036
  });
46004
46037
  }
46005
46038
  function agentUsage(bin) {
46006
- return `Usage: ${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|get-run|show [--json]
46039
+ return `Usage: ${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|fleet-digest|get-run|show [--json]
46007
46040
  ${bin} agent templates
46008
46041
  ${bin} agent create --seat-id <id> --template <slug> [--expected-version <v>]
46009
46042
  ${bin} agent create --seat-id <id> --custom [--steward-seat-id <id>] [--lane cloud|mcp_session|runner] [--model triage|balanced|complex|hardest|<id>] [--effort low|medium|high|xhigh|max] [--owns <text>] [--success <text>] [--never-alone <text>]
@@ -46014,6 +46047,7 @@ function agentUsage(bin) {
46014
46047
  ${bin} agent go-live --seat-id <id> --charter-version-id <id>
46015
46048
  ${bin} agent status --seat-id <id>
46016
46049
  ${bin} agent run-now --seat-id <id> [--task-id <id>]
46050
+ ${bin} agent fleet-digest [--window-hours <n>] [--error-limit <n>]
46017
46051
  ${bin} agent get-run --seat-id <id> --run-id <id>
46018
46052
  ${bin} agent show --seat-id <id> [--markdown]`;
46019
46053
  }
@@ -46200,7 +46234,7 @@ function operationUsageLines(bin) {
46200
46234
  `${bin} notification settings|test|errors`,
46201
46235
  `${bin} settings get|update`,
46202
46236
  `${bin} member invite|update|remove`,
46203
- `${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|get-run|show`,
46237
+ `${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|fleet-digest|get-run|show`,
46204
46238
  `${bin} tools list`,
46205
46239
  `${bin} model list`,
46206
46240
  `${bin} compass show`,