@rosthq/cli 0.7.89 → 0.7.90
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/command-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,EAAE,SAAS,oBAAoB,
|
|
1
|
+
{"version":3,"file":"command-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/command-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,EAAE,SAAS,oBAAoB,EAgR3D,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -46735,6 +46735,108 @@ var workDetailsSchemas = {
|
|
|
46735
46735
|
}).strict()
|
|
46736
46736
|
};
|
|
46737
46737
|
|
|
46738
|
+
// ../../packages/protocol/src/agent-grant-intervention.ts
|
|
46739
|
+
var uuidSchema21 = external_exports.string().uuid();
|
|
46740
|
+
var agentGrantBlockerKindSchema = external_exports.enum([
|
|
46741
|
+
"rost_capability",
|
|
46742
|
+
"os_permission",
|
|
46743
|
+
"provider_connection",
|
|
46744
|
+
"vault_credential",
|
|
46745
|
+
"explicit_charter_escalation"
|
|
46746
|
+
]);
|
|
46747
|
+
var agentGrantInterventionStatusSchema = external_exports.enum([
|
|
46748
|
+
"blocked",
|
|
46749
|
+
"granted",
|
|
46750
|
+
"resumed",
|
|
46751
|
+
"declined",
|
|
46752
|
+
"expired"
|
|
46753
|
+
]);
|
|
46754
|
+
var agentGrantKindSchema = external_exports.enum(["allow_once", "permanent"]);
|
|
46755
|
+
var agentGrantInterventionSchema = external_exports.object({
|
|
46756
|
+
id: uuidSchema21,
|
|
46757
|
+
seat_id: uuidSchema21,
|
|
46758
|
+
seat_name: external_exports.string().nullable(),
|
|
46759
|
+
agent_id: uuidSchema21.nullable(),
|
|
46760
|
+
// The source blocked attempt (audit link); null once the run is retention-purged.
|
|
46761
|
+
run_id: uuidSchema21.nullable(),
|
|
46762
|
+
// The runner the blocker lives on, for os_permission repairs ("Open on Runner").
|
|
46763
|
+
runner_id: uuidSchema21.nullable(),
|
|
46764
|
+
// The linked continuation attempt, populated when a continuation is enqueued.
|
|
46765
|
+
continuation_run_id: uuidSchema21.nullable(),
|
|
46766
|
+
blocker_kind: agentGrantBlockerKindSchema,
|
|
46767
|
+
status: agentGrantInterventionStatusSchema,
|
|
46768
|
+
// The specific capability/scope requested (e.g. "gmail.send"), when applicable.
|
|
46769
|
+
missing_capability: external_exports.string().nullable(),
|
|
46770
|
+
// The specific, factually-stated ask shown to the human (no secrets, no raw UUIDs).
|
|
46771
|
+
missing_grant_summary: external_exports.string(),
|
|
46772
|
+
// Digest of the exact action the one-time grant is bound to. A stale/changed
|
|
46773
|
+
// digest at decide time expires the grant rather than replaying a widened one.
|
|
46774
|
+
action_digest: external_exports.string().nullable(),
|
|
46775
|
+
// Bounded-checkpoint reference (the attempt's saved position/evidence, scrubbed).
|
|
46776
|
+
checkpoint_ref: external_exports.string().nullable(),
|
|
46777
|
+
// True once the blocked attempt released its lease/compute (AC #2 clean termination).
|
|
46778
|
+
compute_released: external_exports.boolean(),
|
|
46779
|
+
grant_kind: agentGrantKindSchema.nullable(),
|
|
46780
|
+
decided_by: uuidSchema21.nullable(),
|
|
46781
|
+
decided_by_name: external_exports.string().nullable(),
|
|
46782
|
+
decided_at: external_exports.string().nullable(),
|
|
46783
|
+
expires_at: external_exports.string().nullable(),
|
|
46784
|
+
created_at: external_exports.string(),
|
|
46785
|
+
updated_at: external_exports.string()
|
|
46786
|
+
}).strict();
|
|
46787
|
+
var agentGrantInterventionListInputSchema = external_exports.object({
|
|
46788
|
+
// Optional seat filter (a seat-scoped caller is additionally clamped to its own seat).
|
|
46789
|
+
seat_id: uuidSchema21.optional(),
|
|
46790
|
+
// When true, include decided/terminal records (declined/resumed/expired) too;
|
|
46791
|
+
// by default only the actionable open blocked/granted records are returned.
|
|
46792
|
+
include_decided: external_exports.boolean().optional()
|
|
46793
|
+
}).strict();
|
|
46794
|
+
var agentGrantInterventionListOutputSchema = external_exports.object({
|
|
46795
|
+
interventions: external_exports.array(agentGrantInterventionSchema)
|
|
46796
|
+
}).strict();
|
|
46797
|
+
var agentGrantInterventionGetInputSchema = external_exports.object({
|
|
46798
|
+
id: uuidSchema21
|
|
46799
|
+
}).strict();
|
|
46800
|
+
var agentGrantInterventionGetOutputSchema = external_exports.object({
|
|
46801
|
+
intervention: agentGrantInterventionSchema
|
|
46802
|
+
}).strict();
|
|
46803
|
+
var agentGrantInterventionDecideActionSchema = external_exports.enum(["grant", "decline"]);
|
|
46804
|
+
var agentGrantInterventionDecideInputSchema = external_exports.object({
|
|
46805
|
+
intervention_id: uuidSchema21,
|
|
46806
|
+
action: agentGrantInterventionDecideActionSchema,
|
|
46807
|
+
// Defaults to allow_once. `permanent` never auto-widens — it returns
|
|
46808
|
+
// requires_charter_resign so the surface routes the human to a Charter re-sign.
|
|
46809
|
+
grant_kind: agentGrantKindSchema.optional(),
|
|
46810
|
+
// When provided on a grant, must byte-match the record's action_digest (proves
|
|
46811
|
+
// the human is authorizing the SAME exact action the agent blocked on); a
|
|
46812
|
+
// mismatch expires the grant instead of replaying a stale/widened action.
|
|
46813
|
+
action_digest: external_exports.string().optional(),
|
|
46814
|
+
rationale: external_exports.string().trim().min(1).max(2e3).optional()
|
|
46815
|
+
}).strict();
|
|
46816
|
+
var agentGrantInterventionDecideOutputSchema = external_exports.object({
|
|
46817
|
+
intervention_id: uuidSchema21,
|
|
46818
|
+
status: agentGrantInterventionStatusSchema,
|
|
46819
|
+
continuation_run_id: uuidSchema21.nullable(),
|
|
46820
|
+
// The human decision row written for a grant/decline (invariant #7). Null only
|
|
46821
|
+
// when a permanent grant deferred to a Charter re-sign (no one-time decision made).
|
|
46822
|
+
decision_id: uuidSchema21.nullable(),
|
|
46823
|
+
// True when the human chose the permanent option — the surface must route to a
|
|
46824
|
+
// Charter re-sign; no authority was widened by this call (invariant #10).
|
|
46825
|
+
requires_charter_resign: external_exports.boolean(),
|
|
46826
|
+
// True when authority committed but the continuation enqueue did not complete —
|
|
46827
|
+
// the human can retry ONLY the enqueue via `resume` (never re-grant).
|
|
46828
|
+
enqueue_failed: external_exports.boolean()
|
|
46829
|
+
}).strict();
|
|
46830
|
+
var agentGrantInterventionResumeInputSchema = external_exports.object({
|
|
46831
|
+
intervention_id: uuidSchema21
|
|
46832
|
+
}).strict();
|
|
46833
|
+
var agentGrantInterventionResumeOutputSchema = external_exports.object({
|
|
46834
|
+
intervention_id: uuidSchema21,
|
|
46835
|
+
status: agentGrantInterventionStatusSchema,
|
|
46836
|
+
continuation_run_id: uuidSchema21.nullable(),
|
|
46837
|
+
enqueue_failed: external_exports.boolean()
|
|
46838
|
+
}).strict();
|
|
46839
|
+
|
|
46738
46840
|
// ../../packages/protocol/src/index.ts
|
|
46739
46841
|
var eventTypes = [
|
|
46740
46842
|
"status",
|
|
@@ -46749,7 +46851,7 @@ var eventTypes = [
|
|
|
46749
46851
|
"task"
|
|
46750
46852
|
];
|
|
46751
46853
|
var publicMessageTypes = ["status", "handoff", "escalation", "issue"];
|
|
46752
|
-
var
|
|
46854
|
+
var uuidSchema22 = external_exports.string().uuid();
|
|
46753
46855
|
var evidenceSchema2 = external_exports.array(external_exports.unknown());
|
|
46754
46856
|
var internalEventPayloadSchema = external_exports.record(external_exports.string(), external_exports.unknown()).refine((payload) => !Array.isArray(payload), "Internal event payload must be an object");
|
|
46755
46857
|
var handoffEventPayloadSchema = external_exports.object({
|
|
@@ -46759,24 +46861,24 @@ var handoffEventPayloadSchema = external_exports.object({
|
|
|
46759
46861
|
acceptance_criteria: external_exports.array(external_exports.string().min(1)),
|
|
46760
46862
|
due: external_exports.string().datetime({ offset: true })
|
|
46761
46863
|
}).strict(),
|
|
46762
|
-
to_seat_id:
|
|
46864
|
+
to_seat_id: uuidSchema22
|
|
46763
46865
|
}).strict();
|
|
46764
46866
|
var intakeEventPayloadSchema = external_exports.discriminatedUnion("action", [
|
|
46765
46867
|
external_exports.object({
|
|
46766
46868
|
action: external_exports.literal("uploaded"),
|
|
46767
|
-
document_id:
|
|
46869
|
+
document_id: uuidSchema22,
|
|
46768
46870
|
storage_ref: external_exports.string().min(1)
|
|
46769
46871
|
}).strict(),
|
|
46770
46872
|
external_exports.object({
|
|
46771
46873
|
action: external_exports.literal("parsed"),
|
|
46772
|
-
document_id:
|
|
46874
|
+
document_id: uuidSchema22,
|
|
46773
46875
|
mode: external_exports.enum(["source_tree", "function_first"]),
|
|
46774
46876
|
seat_count: external_exports.number().int().nonnegative(),
|
|
46775
46877
|
edge_count: external_exports.number().int().nonnegative()
|
|
46776
46878
|
}).strict(),
|
|
46777
46879
|
external_exports.object({
|
|
46778
46880
|
action: external_exports.literal("failed"),
|
|
46779
|
-
document_id:
|
|
46881
|
+
document_id: uuidSchema22,
|
|
46780
46882
|
reason: external_exports.string().min(1)
|
|
46781
46883
|
}).strict(),
|
|
46782
46884
|
external_exports.object({
|
|
@@ -46882,9 +46984,9 @@ var publicMessageTypeSchema = external_exports.enum(publicMessageTypes);
|
|
|
46882
46984
|
var eventEnvelopeBaseSchema = external_exports.object({
|
|
46883
46985
|
protocol: external_exports.literal(EVENT_PROTOCOL),
|
|
46884
46986
|
type: eventTypeSchema,
|
|
46885
|
-
seat_id:
|
|
46987
|
+
seat_id: uuidSchema22.nullable(),
|
|
46886
46988
|
occurred_at: external_exports.string().datetime({ offset: true }),
|
|
46887
|
-
goal_ancestry: external_exports.array(
|
|
46989
|
+
goal_ancestry: external_exports.array(uuidSchema22)
|
|
46888
46990
|
}).strict();
|
|
46889
46991
|
var statusEventEnvelopeSchema = eventEnvelopeBaseSchema.extend({
|
|
46890
46992
|
type: external_exports.literal("status"),
|
|
@@ -48140,7 +48242,7 @@ External connectors are being rolled out provider by provider, conservatively (r
|
|
|
48140
48242
|
order: 48,
|
|
48141
48243
|
title: "CLI and MCP installation guide",
|
|
48142
48244
|
summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
|
|
48143
|
-
version: "2026-07-16.
|
|
48245
|
+
version: "2026-07-16.4",
|
|
48144
48246
|
public: true,
|
|
48145
48247
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
48146
48248
|
stages: ["company_setup", "staffing"],
|
|
@@ -48875,6 +48977,9 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
48875
48977
|
| \`rost_revoke_agent_trusted_grant\` | \`agent.trust.revoke\` | Revoke an active Trusted grant while preserving history. | Tenant | Human steward/admin only; call with \`{"grant_id":"<grant-id>","reason":"..."}\`; non-interactive callers receive a confirmation handoff. |
|
|
48876
48978
|
| \`rost_expire_agent_trusted_grants\` | \`agent.trust.expire\` | Mark overdue active Trusted grants expired and append audit events. | Tenant | Human steward/admin only; call with \`{"agent_id":"<agent-id>"}\`. |
|
|
48877
48979
|
| \`rost_supersede_agent_trusted_grant\` | \`agent.trust.supersede\` | Replace the active Trusted grant with a fresh digest and budget. | Tenant | Human steward/admin only; call with \`{"agent_id":"<agent-id>","expected_scope_digest":"sha256:...","budget_cents":2500}\`. |
|
|
48980
|
+
| \`rost_list_blocked_awaiting_grant_interventions\` | \`agent_grant_intervention.list\` | List durable blocked-awaiting-grant agent interventions with their missing grant, blocker kind, checkpoint, and decision state. Returns secret-scrubbed metadata only; a seat-scoped caller is clamped to its own seat. Pass \`include_decided\` to also return terminal (declined/resumed/expired) records. | Seat or tenant-admin | Call with \`{}\` (or \`{"seat_id":"<seat-id>","include_decided":true}\`). |
|
|
48981
|
+
| \`rost_decide_a_blocked_agent_grant\` | \`agent_grant_intervention.decide\` | Grant (one-time, exact-action) or decline a blocked agent intervention. A grant writes a human decision and enqueues the linked continuation; the \`permanent\` grant kind never auto-widens \u2014 it returns \`requires_charter_resign\` so the surface routes the human to a Charter re-sign. A supplied \`action_digest\` must byte-match the record's or the grant expires instead of replaying a stale action. Human steward/admin only and human-gated. | Tenant | Call with \`{"intervention_id":"<intervention-id>","action":"grant","grant_kind":"allow_once","action_digest":"sha256:..."}\`; non-interactive callers receive a confirmation handoff. |
|
|
48982
|
+
| \`rost_resume_a_granted_agent_intervention\` | \`agent_grant_intervention.resume\` | Retry ONLY the continuation enqueue for an already-granted blocked intervention whose enqueue did not complete. Never re-grants authority (the one-time grant is already committed). Human steward/admin only. | Tenant | Call with \`{"intervention_id":"<intervention-id>"}\`. |
|
|
48878
48983
|
| \`rost_suggest_setup_capability_grants\` | \`agent_setup.capability_suggestions\` | Suggest deterministic minimum capability grants from the current setup/template and tenant grant availability. | Tenant | Call with \`{"seat_id":"<seat-id>"}\` or \`{"setup_id":"<agent-id>"}\`; no model call and no mutation. |
|
|
48879
48984
|
| \`rost_list_skills\` | \`skill.list\` | List tenant Skills with application descriptors, dependency metadata, source status, latest version, and assigned Seat count. Seat-scoped reads are available through \`rost://skills\`. | Tenant-admin | Call with \`{}\` or \`{"query":"invoice"}\`. |
|
|
48880
48985
|
| \`rost_list_rost_skill_catalog\` | \`skill.catalog\` | List entitled {{brand}} catalog Skills. Private catalog source URLs and credentials stay server-side. | Tenant-admin | Call with \`{}\`; use \`{"include_unentitled":true}\` only to inspect tier availability. |
|
|
@@ -49738,11 +49843,11 @@ Resolving Friction should produce one of four outcomes: a decision, a task, a Ch
|
|
|
49738
49843
|
order: 70,
|
|
49739
49844
|
title: "Steward queue guide",
|
|
49740
49845
|
summary: "How Stewards review escalations, approve agent boundaries, and keep agents accountable.",
|
|
49741
|
-
version: "2026-07-
|
|
49846
|
+
version: "2026-07-16.1",
|
|
49742
49847
|
public: true,
|
|
49743
49848
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
49744
49849
|
stages: ["staffing", "operating_rhythm"],
|
|
49745
|
-
relatedCommandIds: ["charter.approve", "agent.go_live", "confirmation.approve", "confirmation.reject", "escalation.raise", "escalation.list", "escalation.get", "escalation.resolve", "escalation.reject"],
|
|
49850
|
+
relatedCommandIds: ["charter.approve", "agent.go_live", "confirmation.approve", "confirmation.reject", "escalation.raise", "escalation.list", "escalation.get", "escalation.resolve", "escalation.reject", "agent_grant_intervention.list", "agent_grant_intervention.decide", "agent_grant_intervention.resume"],
|
|
49746
49851
|
legal: {
|
|
49747
49852
|
publicRisk: "low",
|
|
49748
49853
|
notes: [
|
|
@@ -49795,6 +49900,16 @@ The Steward reads the queue from any surface but decides as a human.
|
|
|
49795
49900
|
- Decide: \`{{cli}} escalation resolve\` / \`escalation.resolve\` and \`{{cli}} escalation reject\` / \`escalation.reject\`. \`escalation.resolve\` and \`escalation.reject\` are \`none\` at the confirmation layer, but they are deliberately NOT exposed over MCP \u2014 \`decisions.decided_by\` must be a human, so there is no \`rost_resolve_escalation\` tool. They are kept human-only by that MCP exclusion plus the human-only \`decided_by\`, not by a confirmation gate. The CLI runs them as the authenticated human; an agent session must hand the decision to a person.
|
|
49796
49901
|
- Approve gated requests: when an escalation or Charter change produces a pending confirmation, the human approves with \`confirmation.approve\` (or rejects with \`confirmation.reject\`). Go-live runs through \`agent.go_live\`.
|
|
49797
49902
|
|
|
49903
|
+
## Blocked \u2014 awaiting grant
|
|
49904
|
+
|
|
49905
|
+
Sometimes an agent cannot proceed because a specific grant is missing \u2014 a tool capability its Charter does not cover, an OS permission on its Runner, a provider connection that needs reconnecting, or a vaulted credential. When that happens the attempt does not sit paused holding compute: it terminates cleanly, releases its lease, and records a durable "blocked \u2014 awaiting grant" item with the exact missing grant and a bounded checkpoint. The item surfaces on the agent's seat and in Home's "Needs you" band with the specific ask and a one-click grant.
|
|
49906
|
+
|
|
49907
|
+
Granting is a human decision. A one-time grant authorizes the exact action the agent blocked on and nothing more \u2014 it revalidates your current authority and never widens the Charter; if the action changed since it blocked, the stale grant is refused rather than replayed. Choosing to always allow that capability is a separate Charter re-sign, not a one-click action. Declining keeps the checkpoint for audit and creates no continuation. When you grant, a new linked continuation attempt is created from the checkpoint \u2014 the agent resumes from where it stopped, not from the start.
|
|
49908
|
+
|
|
49909
|
+
- Read: \`{{cli}} command run agent_grant_intervention.list --json\` / \`agent_grant_intervention.list\` \u2014 the open blocked items with their blocker kind, missing grant, and checkpoint (secret-scrubbed metadata only).
|
|
49910
|
+
- Grant or decline: \`agent_grant_intervention.decide\` (\`action: grant\` or \`decline\`). A grant writes your decision (\`decisions.decided_by\` is you) and enqueues the continuation; a permanent grant returns \`requires_charter_resign\` so you review and re-sign the Charter instead of widening authority in place.
|
|
49911
|
+
- Resume: \`agent_grant_intervention.resume\` retries only the continuation enqueue for an already-granted item whose enqueue did not complete \u2014 it never re-grants authority.
|
|
49912
|
+
|
|
49798
49913
|
## When to stop for confirmation
|
|
49799
49914
|
|
|
49800
49915
|
Every steward decision is the human gate itself. An agent never calls resolve, reject, approve, or go-live on a human's behalf. It prepares evidence and a recommended action and stops. See the confirmations guide.
|
|
@@ -52155,6 +52270,9 @@ function parseSemver(value) {
|
|
|
52155
52270
|
|
|
52156
52271
|
// src/generated/command-manifest.ts
|
|
52157
52272
|
var COMMAND_MANIFEST = [
|
|
52273
|
+
{ "id": "agent_grant_intervention.decide", "namespace": "agent_grant_intervention", "action": "decide", "title": "Decide a blocked agent grant", "description": "Grant (one-time, exact-action) or decline a blocked agent intervention. A grant writes a human decision and enqueues the linked continuation; a permanent grant returns requires_charter_resign rather than widening authority. Human steward/admin only.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "intervention_id", "flag": "intervention-id", "type": "string", "required": true }, { "name": "action", "flag": "action", "type": "enum", "required": true, "enumValues": ["grant", "decline"] }, { "name": "grant_kind", "flag": "grant-kind", "type": "enum", "required": false, "enumValues": ["allow_once", "permanent"] }, { "name": "action_digest", "flag": "action-digest", "type": "string", "required": false }, { "name": "rationale", "flag": "rationale", "type": "string", "required": false }], "hasComplexInput": false, "help": "Grant (one-time, exact-action) or decline a blocked agent intervention; a grant writes the human decision and enqueues the linked continuation, a permanent grant returns requires_charter_resign instead of widening authority. Human steward/admin only." },
|
|
52274
|
+
{ "id": "agent_grant_intervention.list", "namespace": "agent_grant_intervention", "action": "list", "title": "List blocked-awaiting-grant interventions", "description": "List durable blocked-awaiting-grant agent interventions with their missing grant, blocker kind, checkpoint, and decision state. Returns secret-scrubbed metadata only. A seat-scoped caller is clamped to its own seat.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "include_decided", "flag": "include-decided", "type": "boolean", "required": false }], "hasComplexInput": false, "help": "List durable blocked-awaiting-grant agent interventions with the exact missing grant, blocker kind, checkpoint, and decision state. Secret-scrubbed metadata only; a seat-scoped caller is clamped to its own seat." },
|
|
52275
|
+
{ "id": "agent_grant_intervention.resume", "namespace": "agent_grant_intervention", "action": "resume", "title": "Resume a granted agent intervention", "description": "Retry ONLY the continuation enqueue for an already-granted blocked intervention whose enqueue did not complete. Never re-grants authority (the one-time grant is already committed). Human steward/admin only.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "intervention_id", "flag": "intervention-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Retry only the continuation enqueue for an already-granted intervention whose enqueue did not complete; never re-grants authority. Human steward/admin only." },
|
|
52158
52276
|
{ "id": "agent_setup.capability_suggestions", "namespace": "agent_setup", "action": "capability_suggestions", "title": "Suggest setup capability grants", "description": "Return deterministic minimum capability suggestions from a stock template and current tenant grant availability. No model call and no authority mutation.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "setup_id", "flag": "setup-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Suggest deterministic minimum capability grants from the setup/template and current tenant grant availability. No model call and no mutation." },
|
|
52159
52277
|
{ "id": "agent_setup.get", "namespace": "agent_setup", "action": "get", "title": "Get agent setup", "description": "Read the resumable agent-setup state: mode, parent, steward, template, lane, schedule, tool decisions, dry run, and next action.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "setup_id", "flag": "setup-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Read the resumable setup state: mode, parent, steward, lane, schedule, tool decisions, dry-run blockers, and the next action." },
|
|
52160
52278
|
{ "id": "agent_setup.relane", "namespace": "agent_setup", "action": "relane", "title": "Re-lane a live agent", "description": "Governed re-lane of a live agent: pause, move to the new lane, force a fresh dry-run rehearsal on that lane, then go live. Owner-only and human-gated; records a rationale.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "lane", "flag": "lane", "type": "enum", "required": true, "enumValues": ["cloud", "mcp_session", "runner"] }, { "name": "reason", "flag": "reason", "type": "string", "required": true }], "hasComplexInput": false, "help": "Re-lane a live agent (cloud / runner / mcp_session): it pauses, moves to the new lane, forces a fresh dry-run rehearsal on that lane, then goes live \u2014 owner-only, human-gated, with a required rationale. A runner target needs a paired runner; a failed rehearsal leaves the agent paused on the new lane." },
|