@rosthq/cli 0.5.8 → 0.5.10
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 +82 -28
- package/dist/index.js.map +3 -3
- package/dist/operations.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -41785,11 +41785,11 @@ Drafting can be assisted by agents. Activation is a human decision. When authori
|
|
|
41785
41785
|
order: 40,
|
|
41786
41786
|
title: "Agent staffing playbook",
|
|
41787
41787
|
summary: "How to decide whether a seat should be human, agent, or hybrid, and how to go live safely.",
|
|
41788
|
-
version: "2026-06-19.
|
|
41788
|
+
version: "2026-06-19.2",
|
|
41789
41789
|
public: true,
|
|
41790
41790
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
41791
41791
|
stages: ["staffing"],
|
|
41792
|
-
relatedCommandIds: ["staffing.assign_user", "staffing.assign_agent_dry_run", "agent.go_live", "agent.status", "agent.run_now", "agent.list_runs", "agent.list_tool_calls", "mcp_token.create", "agent_template.list", "agent.create_from_template", "agent_setup.start", "agent_setup.get", "agent_setup.update", "agent.update_schedule", "agent.decommission", "agent.create_custom", "agent.configure_tools", "agent.run_dry_run", "confirmation.approve"],
|
|
41792
|
+
relatedCommandIds: ["staffing.assign_user", "staffing.assign_agent_dry_run", "agent.go_live", "agent.status", "agent.run_now", "agent.get_run", "agent.list_runs", "agent.list_tool_calls", "mcp_token.create", "agent_template.list", "agent.create_from_template", "agent_setup.start", "agent_setup.get", "agent_setup.update", "agent.update_schedule", "agent.decommission", "agent.create_custom", "agent.configure_tools", "agent.run_dry_run", "confirmation.approve"],
|
|
41793
41793
|
legal: {
|
|
41794
41794
|
publicRisk: "low",
|
|
41795
41795
|
notes: [
|
|
@@ -41844,7 +41844,7 @@ Two creation paths, both draft-first. Read the stock-agents guide for templates
|
|
|
41844
41844
|
- Custom: \`agent_setup.start\` / \`rost_start_agent_setup\` (returns a \`setup_id\`), iterate with \`agent_setup.get\` and \`agent_setup.update\`, then \`agent.create_custom\` / \`rost_create_custom_agent\`. Stage tools with \`agent.configure_tools\` (vault refs only) and sandbox with \`agent.run_dry_run\`.
|
|
41845
41845
|
- Inspect runtime: \`agent.status\` / \`rost_get_agent_status\` with \`{"seat_id":"<seat-id>"}\` returns lane, live state, steward chain, dry-run result, and Runner availability.
|
|
41846
41846
|
- Run on demand: \`{{cli}} agent run-now --seat-id <seat-id>\` / \`agent.run_now\` / \`rost_run_agent_now\` queues an immediate live run without changing the saved schedule. Cloud agents dispatch to the Inngest executor; runner agents queue work for the paired runner. The command is ungated but still requires a live staffed agent and the normal server-side tool guard.
|
|
41847
|
-
- Audit what an agent did (Trust Card): \`{{cli}} command agent.list_runs --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_runs\` returns the seat's run history with per-run tool-call and guard-held counts; \`{{cli}} command agent.list_tool_calls --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_tool_calls\` returns the tool-call ledger with each call's guard result. Both include a \`denied_tool_call_count\` rollup \u2014 the actions held because they exceeded the charter. Pass \`{"seat_id":"<seat-id>","held_only":true}\` to \`agent.list_tool_calls\` for only the held calls. The web seat page shows the same facts as a Trust Card.
|
|
41847
|
+
- Audit what an agent did (Trust Card): \`{{cli}} command agent.list_runs --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_runs\` returns the seat's run history with per-run tool-call and guard-held counts; \`{{cli}} agent get-run --seat-id <seat-id> --run-id <run-id>\` / \`agent.get_run\` / \`rost_get_agent_run_diagnostics\` reads one run's transcript reference, token/cost usage, outcome, and product-visible run errors; \`{{cli}} command agent.list_tool_calls --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_tool_calls\` returns the tool-call ledger with each call's guard result. Both list commands include a \`denied_tool_call_count\` rollup \u2014 the actions held because they exceeded the charter. Pass \`{"seat_id":"<seat-id>","held_only":true}\` to \`agent.list_tool_calls\` for only the held calls. The web seat page shows the same facts as a Trust Card.
|
|
41848
41848
|
|
|
41849
41849
|
## When to stop for confirmation
|
|
41850
41850
|
|
|
@@ -42084,7 +42084,7 @@ Decisions should be recorded as human decisions. Handoffs should attach to seats
|
|
|
42084
42084
|
order: 45,
|
|
42085
42085
|
title: "How agents work",
|
|
42086
42086
|
summary: "How {{brand}} agents operate inside seats, use Charters, report work, and escalate beyond authority.",
|
|
42087
|
-
version: "2026-06-
|
|
42087
|
+
version: "2026-06-20.1",
|
|
42088
42088
|
public: true,
|
|
42089
42089
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
42090
42090
|
stages: ["staffing", "operating_rhythm"],
|
|
@@ -42167,18 +42167,20 @@ The model is only ever offered the tools the seat's manifest grants \u2014 a den
|
|
|
42167
42167
|
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.
|
|
42168
42168
|
4. Every call \u2014 allowed, denied, escalated, or invalid \u2014 writes a tool-call audit row you can review.
|
|
42169
42169
|
|
|
42170
|
+
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.
|
|
42171
|
+
|
|
42170
42172
|
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.
|
|
42171
42173
|
|
|
42172
42174
|
## What humans should review
|
|
42173
42175
|
|
|
42174
|
-
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. 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.`
|
|
42176
|
+
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.`
|
|
42175
42177
|
},
|
|
42176
42178
|
{
|
|
42177
42179
|
slug: "tool-access-and-vault",
|
|
42178
42180
|
order: 46,
|
|
42179
42181
|
title: "Tool access and vault",
|
|
42180
42182
|
summary: "How to give agents access to tools without exposing raw credentials or expanding authority by accident.",
|
|
42181
|
-
version: "2026-06-
|
|
42183
|
+
version: "2026-06-20.1",
|
|
42182
42184
|
public: true,
|
|
42183
42185
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
42184
42186
|
stages: ["staffing"],
|
|
@@ -42222,6 +42224,10 @@ Connecting a tool is a human-controlled step. The agent can recommend a tool, ex
|
|
|
42222
42224
|
|
|
42223
42225
|
For an API with no dedicated connector, the generic REST tool lets a seat call an HTTP endpoint with a credential you paste through the vault \u2014 no {{brand}}-owned app. It is escalate-by-default: the agent may only call a host a steward has signed onto the allowlist; any other host is refused and escalated, with no request made. The connector sets the Authorization header from the vaulted credential itself \u2014 the agent never sees the token, and the secret is redacted from the response before it reaches the agent, the audit row, or the logs. The token is only ever sent over HTTPS, only to the signed host, and a redirect is never followed \u2014 so an allowlisted endpoint cannot bounce the call (and the token) to another host. A sandbox dry run of a REST tool makes no real request.
|
|
42224
42226
|
|
|
42227
|
+
## Slack post connector
|
|
42228
|
+
|
|
42229
|
+
\`slack.post_message\` reuses the connected Slack workspace credential and the seat's Slack channel binding. A live call posts only to that bound channel, through the server-side guard and vault-bound bot token. If the bound channel is marked sensitive, the handler escalates for human approval instead of posting. A sandbox dry run makes no Slack request and does not open the vault.
|
|
42230
|
+
|
|
42225
42231
|
## One write-only credential flow across every surface
|
|
42226
42232
|
|
|
42227
42233
|
There is exactly one way to give a connected tool its credential, and it is the same on every surface (agent setup, Charter Builder, CLI, MCP). Connecting a tool only authorizes the access \u2014 it never captures a secret. When a connected tool needs a credential, you stage a vault-backed *request* (provider, scope, and a credential name \u2014 all labels, never the secret). You then provide the actual secret separately through the vault-backed ingress flow from Settings. No {{brand}} surface ever has a field that accepts raw secret material, so a secret can never reach a prompt, log, event, or tool argument.
|
|
@@ -42250,7 +42256,7 @@ There is exactly one way to give a connected tool its credential, and it is the
|
|
|
42250
42256
|
order: 47,
|
|
42251
42257
|
title: "Available tools guide",
|
|
42252
42258
|
summary: "How to think about tool categories available to seats and what each category should be used for.",
|
|
42253
|
-
version: "2026-06-
|
|
42259
|
+
version: "2026-06-20.1",
|
|
42254
42260
|
public: true,
|
|
42255
42261
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
42256
42262
|
stages: ["staffing"],
|
|
@@ -42292,14 +42298,14 @@ Agents should explain the job, the required tool category, the minimum permissio
|
|
|
42292
42298
|
|
|
42293
42299
|
Every tool call passes the server-side guard first: the guard checks the call against the seat's signed permission manifest and records a tool-call audit row for **every** call \u2014 allowed, denied, or escalated. Tool selection is never authorization. Only an allowed call reaches its handler. A connected credential is bound into the handler for the duration of the call only; the secret never appears in the result, the audit summary, logs, or the model's context.
|
|
42294
42300
|
|
|
42295
|
-
External connectors
|
|
42301
|
+
External connectors are being rolled out provider by provider, conservatively (read and draft before send; write behind approval). A selected tool is only a permission until a live handler exists and the seat has the required credential or binding. Today the built-in execution path supports internal status reporting, the generic REST connector when a signed allowlist and credential exist, and \`slack.post_message\` for a bound Slack channel. Other provider entries remain configuration-only until their connector ships, so nothing runs silently.`
|
|
42296
42302
|
},
|
|
42297
42303
|
{
|
|
42298
42304
|
slug: "mcp-and-cli-guide",
|
|
42299
42305
|
order: 48,
|
|
42300
42306
|
title: "CLI and MCP installation guide",
|
|
42301
42307
|
summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
|
|
42302
|
-
version: "2026-06-
|
|
42308
|
+
version: "2026-06-20.2",
|
|
42303
42309
|
public: true,
|
|
42304
42310
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
42305
42311
|
stages: ["company_setup", "staffing"],
|
|
@@ -42335,6 +42341,7 @@ External connectors (such as email, drive, or a generic API) are being rolled ou
|
|
|
42335
42341
|
"agent.go_live",
|
|
42336
42342
|
"agent.status",
|
|
42337
42343
|
"agent.list_fleet",
|
|
42344
|
+
"agent.get_run",
|
|
42338
42345
|
"agent.list_runs",
|
|
42339
42346
|
"agent.list_tool_calls"
|
|
42340
42347
|
],
|
|
@@ -42709,11 +42716,11 @@ These ergonomic wrappers (including the \`{{cli}} agent\` group) require **{{cli
|
|
|
42709
42716
|
| \`{{cli}} escalation list|get|resolve|reject\` | \`escalation.list\`, \`escalation.get\`, \`escalation.resolve\`, \`escalation.reject\` | Work the steward escalation queue. | Steward | \`{{cli}} escalation list --json\` |
|
|
42710
42717
|
| \`{{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\` |
|
|
42711
42718
|
| \`{{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\` |
|
|
42712
|
-
| \`{{cli}} notification settings|test\` | \`notification.settings.get\`, \`notification.test\` | Read notification settings
|
|
42719
|
+
| \`{{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\` |
|
|
42713
42720
|
| \`{{cli}} settings get|update\` | \`settings.get\`, \`settings.update\` | Read tenant settings; update budget caps. | Tenant | \`{{cli}} settings get --json\` |
|
|
42714
42721
|
| \`{{cli}} member invite|update|remove\` | \`member.invite\`, \`member.update\`, \`member.remove\` | Manage tenant members. | Tenant | \`{{cli}} member invite --email ops@example.com --role member\` |
|
|
42715
|
-
| \`{{cli}} agent templates|create|setup|tools|dry-run|go-live|status|run-now|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.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, 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
|
|
42716
|
-
| \`{{cli}} tools list\` | \`tool.catalog\` | List the discoverable tool catalog the builder reads (id, scope tiers, credential requirement, access policy
|
|
42722
|
+
| \`{{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\` |
|
|
42723
|
+
| \`{{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\` |
|
|
42717
42724
|
| \`{{cli}} compass show\` | \`compass.show_markdown\` | Render the current Compass as a clean markdown card for review. | Tenant | \`{{cli}} compass show --markdown\` |
|
|
42718
42725
|
| \`{{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\` |
|
|
42719
42726
|
|
|
@@ -42735,7 +42742,7 @@ These ergonomic wrappers (including the \`{{cli}} agent\` group) require **{{cli
|
|
|
42735
42742
|
This catalog is the canonical machine surface \u2014 the \`rost_*\` tools your MCP client calls. Three different things are called "tools" in {{brand}}; do not confuse them:
|
|
42736
42743
|
|
|
42737
42744
|
1. **The MCP tools below** \u2014 the \`rost_*\` surface your client actually calls to read and act.
|
|
42738
|
-
2. **\`{{cli}} tools list\` / \`tool.catalog\`** (MCP \`rost_list_tool_catalog\`) \u2014 the agent-configuration catalog the builder reads when staffing an agent. It is selectable per agent
|
|
42745
|
+
2. **\`{{cli}} tools list\` / \`tool.catalog\`** (MCP \`rost_list_tool_catalog\`) \u2014 the agent-configuration catalog the builder reads when staffing an agent. It is selectable per agent, but selecting a tool is not itself a call; live handlers execute later only behind the signed manifest, guard, credentials, and bindings.
|
|
42739
42746
|
3. **The "Available tools guide"** (in the sidebar) \u2014 covers tool *categories* and governance, not a callable surface. See the available-tools-guide.
|
|
42740
42747
|
|
|
42741
42748
|
Sections below: Command discovery (2) \xB7 Public reference (3) \xB7 Tenant-admin tools (grouped by domain) \xB7 Seat-scoped operating tools (9) \xB7 MCP operation resources (9).
|
|
@@ -42809,9 +42816,10 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
42809
42816
|
| \`rost_get_current_compass\` | \`compass.get_current\` | Read the active and draft Compass versions and source documents. | Tenant | Call with \`{}\`. |
|
|
42810
42817
|
| \`rost_list_compass_gaps\` | \`compass.list_gaps\` | List unanswered and answered Compass context gaps. | Tenant | Call with \`{}\` before answering gaps. |
|
|
42811
42818
|
| \`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>"}\`. |
|
|
42812
|
-
| \`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 \`{}\`; sandbox dry runs
|
|
42819
|
+
| \`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. |
|
|
42813
42820
|
| \`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>"}\`. |
|
|
42814
42821
|
| \`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. |
|
|
42822
|
+
| \`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>"}\`. |
|
|
42815
42823
|
| \`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. |
|
|
42816
42824
|
| \`rost_list_agent_templates\` | \`agent_template.list\` | List stock agent templates and metadata. | Tenant | Call with \`{}\`. |
|
|
42817
42825
|
| \`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. |
|
|
@@ -42836,7 +42844,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
42836
42844
|
| \`rost_get_notification_settings\` | \`notification.settings.get\` | Read tenant notification preferences. | Tenant | Call with \`{}\`. |
|
|
42837
42845
|
| \`rost_update_notification_settings\` | \`notification.settings.update\` | Update tenant notification preferences. | Tenant | Call with the fields to change. |
|
|
42838
42846
|
| \`rost_send_test_notification\` | \`notification.test\` | Emit an in-app test notification to the acting human. | Tenant | Call with \`{}\`. |
|
|
42839
|
-
| \`rost_list_notification_errors\` | \`notification.list_errors\` | List recent failed notification deliveries. | Tenant | Call with optional \`limit\`. |
|
|
42847
|
+
| \`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\`. |
|
|
42840
42848
|
| \`rost_invite_member\` | \`member.invite\` | Create a pending tenant invite for a human teammate. | Tenant | Call with \`email\` and \`role\`. |
|
|
42841
42849
|
| \`rost_update_member_role\` | \`member.update\` | Change a tenant member's role. | Tenant | Call with \`member_id\` and \`role\`; expect human confirmation. |
|
|
42842
42850
|
| \`rost_remove_member\` | \`member.remove\` | Remove a tenant member. | Tenant | Call with \`member_id\`; blocked if it would orphan an agent steward chain. |
|
|
@@ -42870,7 +42878,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
42870
42878
|
| \`rost_show_compass_as_markdown\` | \`compass.show_markdown\` | Render the current Compass and its open gaps as a clean markdown card for review. | Tenant | Call with \`{}\`. |
|
|
42871
42879
|
| \`rost_show_charter_as_markdown\` | \`charter.show_markdown\` | Render a seat's active or latest Charter as a clean markdown card for review. | Tenant | Call with \`{"seat_id":"<seat-id>"}\`. |
|
|
42872
42880
|
| \`rost_show_agent_setup_as_markdown\` | \`agent.show_markdown\` | Render a seat's agent setup, model, steward, tools, and Charter as a clean markdown card for review. | Tenant | Call with \`{"seat_id":"<seat-id>"}\`. |
|
|
42873
|
-
| \`rost_list_tool_catalog\` | \`tool.catalog\` | List the discoverable tool catalog the agent builder reads \u2014 id, prescriptive description, scope tiers, credential requirement, access policy
|
|
42881
|
+
| \`rost_list_tool_catalog\` | \`tool.catalog\` | List the discoverable tool catalog the agent builder reads \u2014 id, prescriptive description, scope tiers, credential requirement, access policy, and execution-boundary guidance. | Tenant | Call with \`{}\` or \`{"provider":"google"}\`. |
|
|
42874
42882
|
|
|
42875
42883
|
### Seat-scoped operating tools
|
|
42876
42884
|
|
|
@@ -42928,7 +42936,7 @@ These rows are quick, at-a-glance triage. For deeper auth, tenant, scope, confir
|
|
|
42928
42936
|
order: 49,
|
|
42929
42937
|
title: "Agent reference map",
|
|
42930
42938
|
summary: "Where CLI sessions, MCP clients, and in-app agents should retrieve {{brand}} guidance before recommending setup changes.",
|
|
42931
|
-
version: "2026-06-
|
|
42939
|
+
version: "2026-06-20.1",
|
|
42932
42940
|
public: true,
|
|
42933
42941
|
audiences: ["cli", "mcp", "in_app_agent"],
|
|
42934
42942
|
stages: ["company_setup", "graph_design", "charter_design", "staffing", "operating_rhythm"],
|
|
@@ -42978,7 +42986,7 @@ Never guess a command's JSON shape. Before calling a command that changes state,
|
|
|
42978
42986
|
|
|
42979
42987
|
- List every callable command: {{cli}} command list (CLI) or rost_list_commands (MCP)
|
|
42980
42988
|
- Read one command's exact input/output schema, help pointer, and a worked example: {{cli}} command schema <id> (CLI) or rost_describe_command with {"command_id":"<id>"} (MCP)
|
|
42981
|
-
- List the tool catalog the agent builder reads (id, scope tiers, credential requirement, access policy
|
|
42989
|
+
- List the tool catalog the agent builder reads (id, scope tiers, credential requirement, access policy, and execution-boundary guidance): {{cli}} tools list (CLI) or rost_list_tool_catalog (MCP)
|
|
42982
42990
|
- Show a Compass, Charter, or agent setup as a markdown card to review with your human: {{cli}} compass show --markdown, {{cli}} charter show --seat-id <id> --markdown, {{cli}} agent show --seat-id <id> --markdown
|
|
42983
42991
|
|
|
42984
42992
|
When a command fails, the error returns a machine-readable code, a message, and a help field naming the exact command to run next. Read the help field and run the command it points at \u2014 do not retry the same call blindly. A failed precondition (for example a manifest not yet signed, a dry run that has not passed, or the inference budget hard cap reached) returns COMMAND_PRECONDITION_FAILED with a help pointer, not an opaque internal error.
|
|
@@ -43021,7 +43029,7 @@ Read the listed guide before recommending or running each workflow. Every workfl
|
|
|
43021
43029
|
- Add an agent through the app (graph or sidebar, visual journey): add-agents-guide.
|
|
43022
43030
|
- Create an agent from a template: stock-agents-guide, then how-agents-work.
|
|
43023
43031
|
- Create a custom agent (operational answers, Charter Builder, configure tools, dry run, go live): custom-agents-guide, then agent-staffing-playbook and tool-access-and-vault.
|
|
43024
|
-
- Build a controlled agent worker directly on the CLI/MCP path (seat, steward, job, boundaries, tools, credentials, model, schedule, dry-run, go-live): agent-builder-guide \u2014 it shows the full setup sequence, the structured model config, the access tiers,
|
|
43032
|
+
- Build a controlled agent worker directly on the CLI/MCP path (seat, steward, job, boundaries, tools, credentials, model, schedule, dry-run, go-live): agent-builder-guide \u2014 it shows the full setup sequence, the structured model config, the access tiers, how to discover tools (tool.catalog), which connector entries have live execution boundaries, and how to show your human a markdown readout (agent.show_markdown).
|
|
43025
43033
|
- Connect an existing or local agent to a seat: stock-agents-guide (connect section), then mcp-and-cli-guide and runner-guide.
|
|
43026
43034
|
- Run the operating loop as a seat (context, tasks, status, escalate): how-agents-work.
|
|
43027
43035
|
- Track goals: cascade-guide. Track measurables: signal-guide. File and resolve issues, tasks, escalations: friction-guide.
|
|
@@ -43453,7 +43461,7 @@ When a user asks to add a person, clarify whether they mean app access, seat occ
|
|
|
43453
43461
|
order: 74,
|
|
43454
43462
|
title: "Notifications guide",
|
|
43455
43463
|
summary: "How {{brand}} should notify humans about decisions, escalations, stale work, and agent boundaries.",
|
|
43456
|
-
version: "2026-06-
|
|
43464
|
+
version: "2026-06-19.1",
|
|
43457
43465
|
public: true,
|
|
43458
43466
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
43459
43467
|
stages: ["operating_rhythm"],
|
|
@@ -43478,6 +43486,10 @@ Notifications should move decisions to the right human without turning {{brand}}
|
|
|
43478
43486
|
- A Friction item needs a decision.
|
|
43479
43487
|
- A Sync decision creates a handoff.
|
|
43480
43488
|
|
|
43489
|
+
## Diagnose failed deliveries
|
|
43490
|
+
|
|
43491
|
+
\`{{cli}} notification errors --limit 10\` / \`notification.list_errors\` / \`rost_list_notification_errors\` returns recent failed deliveries. When a failed notification links to a product error, it includes \`error_log_id\`, \`source\`, and any linked \`seat_id\` / \`run_id\`; \`source=run\` means the notification is tied to an agent run and can be followed with \`agent.get_run\` for the transcript reference and run errors.
|
|
43492
|
+
|
|
43481
43493
|
## Keep notifications useful
|
|
43482
43494
|
|
|
43483
43495
|
Every notification should include the seat, cause, evidence, and requested decision. Avoid status-only messages when no action is needed.`
|
|
@@ -44055,7 +44067,7 @@ This worked document **omits** \`unanswered_boundaries\` and \`seat_type_recomme
|
|
|
44055
44067
|
order: 43,
|
|
44056
44068
|
title: "Agent builder guide",
|
|
44057
44069
|
summary: "The full agent setup sequence on the CLI/MCP path \u2014 seat, steward, job, boundaries, tools, credentials, model, schedule, dry-run, go-live \u2014 with the structured model config and access tiers.",
|
|
44058
|
-
version: "2026-06-
|
|
44070
|
+
version: "2026-06-20.1",
|
|
44059
44071
|
public: true,
|
|
44060
44072
|
audiences: ["cli", "mcp", "in_app_agent"],
|
|
44061
44073
|
stages: ["staffing"],
|
|
@@ -44101,7 +44113,7 @@ Building teams of controlled agent workers is the product's core differentiator.
|
|
|
44101
44113
|
2. **Steward** \u2014 every agent needs a human steward chain (invariant: no orphan agents). Set \`steward_seat_id\` so the chain resolves to a human; without it the occupancy is blocked.
|
|
44102
44114
|
3. **Job** \u2014 what the seat owns. On \`agent.create_custom\` this is the operational answers (what it owns, what success looks like, what it must never do alone); for a strong contract, submit the full Charter directly via \`charter.update_draft\` (see the charter-authoring deep-dive).
|
|
44103
44115
|
4. **Boundaries** \u2014 the Charter's \`decision_authority\` (can-do / must-ask / never / escalate), \`escalation_rules\`, and \`budget\`. Conservative by default: send/spend/irreversible actions are approval-gated or escalated.
|
|
44104
|
-
5. **Tools** \u2014 pick from the discoverable catalog (\`{{cli}} tools list\`); each tool has a default scope tier and access policy. Connect or decline via \`agent.configure_tools\`.
|
|
44116
|
+
5. **Tools** \u2014 pick from the discoverable catalog (\`{{cli}} tools list\`); each tool has a default scope tier and access policy. Connect or decline via \`agent.configure_tools\`. Selecting a tool records permission; live handlers execute later only behind the signed manifest, server guard, required credential or binding, and connector-specific approval boundary.
|
|
44105
44117
|
6. **Credentials** \u2014 a tool that needs access declares a credential-ingress request (provider, scope, secret name). The secret itself flows through the vault-backed ingress command as a vault ref \u2014 never paste a secret into a builder command.
|
|
44106
44118
|
7. **Operating instructions** \u2014 the runtime composes the agent's context from its Charter; you do not write a system prompt.
|
|
44107
44119
|
8. **Model** \u2014 select the structured model config (see below).
|
|
@@ -45004,6 +45016,17 @@ function optionalValue(parsed, key) {
|
|
|
45004
45016
|
const value = parsed.values.get(key);
|
|
45005
45017
|
return value === void 0 || value.length === 0 ? void 0 : value;
|
|
45006
45018
|
}
|
|
45019
|
+
function optionalNumber(parsed, key) {
|
|
45020
|
+
const raw = optionalValue(parsed, key);
|
|
45021
|
+
if (raw === void 0) {
|
|
45022
|
+
return void 0;
|
|
45023
|
+
}
|
|
45024
|
+
const parsedNumber = Number(raw);
|
|
45025
|
+
if (!Number.isSafeInteger(parsedNumber)) {
|
|
45026
|
+
throw new UsageError(`--${key} must be an integer.`);
|
|
45027
|
+
}
|
|
45028
|
+
return parsedNumber;
|
|
45029
|
+
}
|
|
45007
45030
|
function parseNumber(parsed, key, options) {
|
|
45008
45031
|
const raw = parsed.values.get(key);
|
|
45009
45032
|
if (raw === void 0 || raw.length === 0) {
|
|
@@ -45606,12 +45629,27 @@ var notificationWrapper = (context, args) => dispatch(context, "notification", a
|
|
|
45606
45629
|
const record2 = asRecord(output);
|
|
45607
45630
|
return `Test notification ${field(record2, "notification_id")} (delivered=${field(record2, "delivered")}).`;
|
|
45608
45631
|
});
|
|
45632
|
+
},
|
|
45633
|
+
errors: (ctx, rest) => {
|
|
45634
|
+
const parsed = parseFlags(rest);
|
|
45635
|
+
const body = withOptional({}, { limit: optionalNumber(parsed, "limit") });
|
|
45636
|
+
return execute(ctx, parsed, "notification.list_errors", body, (output) => {
|
|
45637
|
+
const errors = asArray(asRecord(output).errors);
|
|
45638
|
+
if (errors.length === 0) {
|
|
45639
|
+
return "No failed notification deliveries.";
|
|
45640
|
+
}
|
|
45641
|
+
return errors.map((entry) => {
|
|
45642
|
+
const record2 = asRecord(entry);
|
|
45643
|
+
return `${field(record2, "created_at")} ${field(record2, "channel")} source=${field(record2, "source")} seat=${field(record2, "seat_id")} run=${field(record2, "run_id")} ${field(record2, "error_message")}`;
|
|
45644
|
+
}).join("\n");
|
|
45645
|
+
});
|
|
45609
45646
|
}
|
|
45610
45647
|
}, notificationUsage(context.binName));
|
|
45611
45648
|
function notificationUsage(bin) {
|
|
45612
|
-
return `Usage: ${bin} notification settings|test [--json]
|
|
45649
|
+
return `Usage: ${bin} notification settings|test|errors [--json]
|
|
45613
45650
|
${bin} notification settings
|
|
45614
|
-
${bin} notification test
|
|
45651
|
+
${bin} notification test
|
|
45652
|
+
${bin} notification errors [--limit <n>]`;
|
|
45615
45653
|
}
|
|
45616
45654
|
var settingsWrapper = (context, args) => dispatch(context, "settings", args, {
|
|
45617
45655
|
get: (ctx, rest) => {
|
|
@@ -45812,6 +45850,21 @@ ${field(record2, "summary")}`;
|
|
|
45812
45850
|
return `queued ${field(workOrder, "lane")} work order ${field(workOrder, "id")} for agent ${field(workOrder, "agent_id")} (${field(workOrder, "status")})`;
|
|
45813
45851
|
});
|
|
45814
45852
|
},
|
|
45853
|
+
"get-run": (ctx, rest) => {
|
|
45854
|
+
const parsed = parseFlags(rest);
|
|
45855
|
+
const body = {
|
|
45856
|
+
seat_id: requireValue2(parsed, "seat-id"),
|
|
45857
|
+
run_id: requireValue2(parsed, "run-id")
|
|
45858
|
+
};
|
|
45859
|
+
return execute(ctx, parsed, "agent.get_run", body, (output) => {
|
|
45860
|
+
const run2 = asRecord(asRecord(output).run);
|
|
45861
|
+
const errors = asArray(run2.error_logs);
|
|
45862
|
+
const errorLine = errors.length === 0 ? "errors=0" : `errors=${errors.length} first=${field(asRecord(errors[0]), "message")}`;
|
|
45863
|
+
return `run ${field(run2, "run_id")} status=${field(run2, "status")} lane=${field(run2, "lane")} cost=$${field(run2, "cost_usd")}
|
|
45864
|
+
transcript=${field(run2, "transcript_ref")}
|
|
45865
|
+
${errorLine}`;
|
|
45866
|
+
});
|
|
45867
|
+
},
|
|
45815
45868
|
// DER-787 (H8): markdown readout for a seat's agent setup. `--markdown` (or
|
|
45816
45869
|
// default) prints the composed card; `--json` returns the { markdown } object.
|
|
45817
45870
|
show: (ctx, rest) => {
|
|
@@ -45838,7 +45891,7 @@ function agentConfigureTools(ctx, rest, decision) {
|
|
|
45838
45891
|
});
|
|
45839
45892
|
}
|
|
45840
45893
|
function agentUsage(bin) {
|
|
45841
|
-
return `Usage: ${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|show [--json]
|
|
45894
|
+
return `Usage: ${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|get-run|show [--json]
|
|
45842
45895
|
${bin} agent templates
|
|
45843
45896
|
${bin} agent create --seat-id <id> --template <slug> [--expected-version <v>]
|
|
45844
45897
|
${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>]
|
|
@@ -45849,6 +45902,7 @@ function agentUsage(bin) {
|
|
|
45849
45902
|
${bin} agent go-live --seat-id <id> --charter-version-id <id>
|
|
45850
45903
|
${bin} agent status --seat-id <id>
|
|
45851
45904
|
${bin} agent run-now --seat-id <id> [--task-id <id>]
|
|
45905
|
+
${bin} agent get-run --seat-id <id> --run-id <id>
|
|
45852
45906
|
${bin} agent show --seat-id <id> [--markdown]`;
|
|
45853
45907
|
}
|
|
45854
45908
|
function agentSetupUsage(bin) {
|
|
@@ -45889,7 +45943,7 @@ ${lines.join("\n")}`;
|
|
|
45889
45943
|
}, toolsUsage(context.binName));
|
|
45890
45944
|
function toolsUsage(bin) {
|
|
45891
45945
|
return `Usage: ${bin} tools list [--provider <name>] [--json]
|
|
45892
|
-
${bin} tools list \u2014 the discoverable tool catalog the builder reads
|
|
45946
|
+
${bin} tools list \u2014 the discoverable tool catalog the builder reads; live handlers execute only behind signed manifests, guards, credentials, and bindings.`;
|
|
45893
45947
|
}
|
|
45894
45948
|
var compassWrapper = (context, args) => dispatch(context, "compass", args, {
|
|
45895
45949
|
show: (ctx, rest) => {
|
|
@@ -45987,10 +46041,10 @@ function operationUsageLines(bin) {
|
|
|
45987
46041
|
`${bin} escalation list|get|resolve|reject`,
|
|
45988
46042
|
`${bin} sync brief|compile|complete`,
|
|
45989
46043
|
`${bin} runner list|status|work-orders|revoke`,
|
|
45990
|
-
`${bin} notification settings|test`,
|
|
46044
|
+
`${bin} notification settings|test|errors`,
|
|
45991
46045
|
`${bin} settings get|update`,
|
|
45992
46046
|
`${bin} member invite|update|remove`,
|
|
45993
|
-
`${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|show`,
|
|
46047
|
+
`${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|get-run|show`,
|
|
45994
46048
|
`${bin} tools list`,
|
|
45995
46049
|
`${bin} compass show`,
|
|
45996
46050
|
`${bin} charter show`
|