@rosthq/cli 0.7.73 → 0.7.75

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,EA0P3D,CAAC"}
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,EA2P3D,CAAC"}
package/dist/index.js CHANGED
@@ -38039,6 +38039,7 @@ function parseModelSlug(model) {
38039
38039
  var agentModelProviderSchema = external_exports.enum(["anthropic"]);
38040
38040
  var agentModelEffortSchema = external_exports.enum(["low", "medium", "high", "xhigh", "max"]);
38041
38041
  var modelIdSchema = external_exports.string().trim().min(1).max(120).regex(/^[^\n\r]+$/, "Model id must be a single line.");
38042
+ var turnTimeoutSecondsSchema = external_exports.number().int().min(30).max(1800);
38042
38043
  var agentModelConfigSchema = external_exports.object({
38043
38044
  provider: agentModelProviderSchema,
38044
38045
  model: modelIdSchema,
@@ -39193,6 +39194,10 @@ var agentSetupStateSchema = external_exports.object({
39193
39194
  // this agent. Null when the draft has no usable model config yet (the legacy
39194
39195
  // bare-string mock is coerced; an empty `{}` reads null).
39195
39196
  model_config: agentModelConfigSchema.nullable(),
39197
+ // DER-1362: the runner per-turn wall-clock override for this agent, or null to use the
39198
+ // platform default. A sibling of `schedule_cron`, not nested in `model_config` — unlike
39199
+ // model selection it stays settable after go-live (see the schema's doc comment).
39200
+ turn_timeout_seconds: turnTimeoutSecondsSchema.nullable(),
39196
39201
  charter_version_id: uuidSchema2.nullable(),
39197
39202
  charter_status: external_exports.enum(["draft", "active", "superseded"]).nullable(),
39198
39203
  parent_seat_id: uuidSchema2.nullable(),
@@ -39238,13 +39243,20 @@ var agentSetupUpdateInputSchema = external_exports.object({
39238
39243
  schedule_cron: cronSchema.nullable().optional(),
39239
39244
  // DER-787 (H1): set the structured model selection for this agent.
39240
39245
  model_config: agentModelConfigSchema.optional(),
39246
+ // DER-1362: set/clear the per-agent runner turn-timeout override. A top-level sibling of
39247
+ // `model_config`, NOT nested inside it — model_config is locked once the agent is live (the
39248
+ // dry-run rehearses a specific model), but a turn-timeout override has nothing to do with
39249
+ // model identity and must stay settable on an already-live agent (the exact agent this
39250
+ // fixes: one already failing scheduled turns on the fixed 180s cap). null clears the
39251
+ // override back to the platform default.
39252
+ turn_timeout_seconds: turnTimeoutSecondsSchema.nullable().optional(),
39241
39253
  answers: external_exports.array(external_exports.string().min(1).max(2e3)).max(20).optional(),
39242
39254
  tool_decisions: external_exports.array(agentSetupToolUpdateSchema).max(50).optional(),
39243
39255
  // DER-1529: toggle run-time skill discovery (visibility only; never grants
39244
39256
  // tools). Settable any time, including on a live agent.
39245
39257
  skill_discovery_enabled: external_exports.boolean().optional()
39246
39258
  }).strict().refine(
39247
- (value) => value.parent_seat_id !== void 0 || value.steward_seat_id !== void 0 || value.lane !== void 0 || value.schedule_cron !== void 0 || value.model_config !== void 0 || value.answers !== void 0 || value.tool_decisions !== void 0 || value.skill_discovery_enabled !== void 0,
39259
+ (value) => value.parent_seat_id !== void 0 || value.steward_seat_id !== void 0 || value.lane !== void 0 || value.schedule_cron !== void 0 || value.model_config !== void 0 || value.turn_timeout_seconds !== void 0 || value.answers !== void 0 || value.tool_decisions !== void 0 || value.skill_discovery_enabled !== void 0,
39248
39260
  "Provide at least one field to update."
39249
39261
  );
39250
39262
  var agentUpdateScheduleInputSchema = external_exports.object({
@@ -42449,6 +42461,15 @@ var confirmationRejectOutputSchema = external_exports.object({
42449
42461
  command_id: external_exports.string().min(1),
42450
42462
  rejected: external_exports.literal(true)
42451
42463
  }).strict();
42464
+ var confirmationRemintInputSchema = external_exports.object({
42465
+ confirmation_id: external_exports.string().min(1)
42466
+ }).strict();
42467
+ var confirmationRemintOutputSchema = external_exports.object({
42468
+ confirmation_id: external_exports.string().min(1),
42469
+ command_id: external_exports.string().min(1),
42470
+ reminted: external_exports.literal(true),
42471
+ new_confirmation: pendingConfirmationSchema
42472
+ }).strict();
42452
42473
  var confirmationListInputSchema = external_exports.object({
42453
42474
  limit: external_exports.number().int().min(1).max(200).optional()
42454
42475
  }).strict();
@@ -43059,6 +43080,9 @@ var seatRunSchema = external_exports.object({
43059
43080
  denied_tool_call_count: external_exports.number().int().nonnegative(),
43060
43081
  skill_activation_count: external_exports.number().int().nonnegative()
43061
43082
  }).strict();
43083
+ var seatRunErrorLogSchema = runErrorLogSchema.extend({
43084
+ error_class: external_exports.string().nullable()
43085
+ }).strict();
43062
43086
  var seatRunDetailSchema = seatRunSchema.extend({
43063
43087
  task_id: uuidSchema13.nullable(),
43064
43088
  work_order_id: uuidSchema13.nullable(),
@@ -43066,7 +43090,7 @@ var seatRunDetailSchema = seatRunSchema.extend({
43066
43090
  input_tokens: external_exports.number().int().nonnegative(),
43067
43091
  output_tokens: external_exports.number().int().nonnegative(),
43068
43092
  outcome: external_exports.record(external_exports.string(), external_exports.unknown()),
43069
- error_logs: external_exports.array(runErrorLogSchema),
43093
+ error_logs: external_exports.array(seatRunErrorLogSchema),
43070
43094
  skill_activations: external_exports.array(external_exports.object({
43071
43095
  skill_activation_id: uuidSchema13,
43072
43096
  skill_version_id: uuidSchema13,
@@ -48732,11 +48756,11 @@ Keep agent scope tight at first. Approve more autonomy only after evidence. Use
48732
48756
  order: 71,
48733
48757
  title: "Confirmations and human gates guide",
48734
48758
  summary: "How {{brand}} routes authority-changing work through human confirmation, and why agents never approve their own requests.",
48735
- version: "2026-07-11.1",
48759
+ version: "2026-07-13.1",
48736
48760
  public: true,
48737
48761
  audiences: ["human", "cli", "mcp", "in_app_agent"],
48738
48762
  stages: ["graph_design", "charter_design", "staffing", "operating_rhythm"],
48739
- relatedCommandIds: ["confirmation.approve", "confirmation.list", "confirmation.reject", "charter.approve", "agent.go_live", "credential.ingress", "mcp_token.create", "staffing.assign_user", "goal.reparent", "friction.resolve"],
48763
+ relatedCommandIds: ["confirmation.approve", "confirmation.list", "confirmation.reject", "confirmation.remint", "charter.approve", "agent.go_live", "credential.ingress", "mcp_token.create", "staffing.assign_user", "goal.reparent", "friction.resolve"],
48740
48764
  legal: { publicRisk: "low", notes: ["{{brand}}-native human-gate guidance."] },
48741
48765
  sources: [
48742
48766
  {
@@ -50044,7 +50068,7 @@ This worked document **omits** \`unanswered_boundaries\` and \`seat_type_recomme
50044
50068
  order: 43,
50045
50069
  title: "Agent builder guide",
50046
50070
  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.",
50047
- version: "2026-07-13.1",
50071
+ version: "2026-07-13.2",
50048
50072
  public: true,
50049
50073
  audiences: ["cli", "mcp", "in_app_agent"],
50050
50074
  stages: ["staffing"],
@@ -50115,6 +50139,8 @@ The agent's model is a structured object, not a bare string:
50115
50139
 
50116
50140
  Run \`{{cli}} model list\` (MCP \`rost_list_model_catalog\`) before choosing when cost or reasoning depth is unclear. Balanced is the recommended default. Token prices are catalog estimates per million tokens, and cost bands are planning guidance for relative spend; the billing-grade number is still each run's recorded token usage and \`cost_usd\`. Custom agent creation recommends a tier from responsibility answers when \`model_config\` is omitted.
50117
50141
 
50142
+ \`agent_setup.update\` also takes a separate top-level \`turn_timeout_seconds\` field (optional, 30\u20131800, e.g. \`--json '{"seat_id":"<id>","turn_timeout_seconds":900}'\`) that overrides the Runner lane's fixed 180s per-turn wall-clock for THIS agent \u2014 raise it for a heavier agent whose turns legitimately run long (e.g. a broad inbox sweep) before it makes its first tool call. It is NOT part of \`model_config\`: unlike the model, it stays settable after the agent is live. Pass \`null\` to clear it back to the platform default.
50143
+
50118
50144
  On the CLI, \`{{cli}} agent create --custom --seat-id <id> --model balanced --effort medium \u2026\`, or set it later with \`{{cli}} agent setup answer --seat-id <id> --model complex\`. The model cannot change after the agent is live.
50119
50145
 
50120
50146
  ## Access tiers
@@ -51019,7 +51045,7 @@ var COMMAND_MANIFEST = [
51019
51045
  { "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." },
51020
51046
  { "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." },
51021
51047
  { "id": "agent_setup.start", "namespace": "agent_setup", "action": "start", "title": "Start agent setup", "description": "Start (or resume) a draft agent setup for a seat in template, custom, or existing mode.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "mode", "flag": "mode", "type": "enum", "required": true, "enumValues": ["template", "custom", "existing"] }, { "name": "template_slug", "flag": "template-slug", "type": "string", "required": false }], "hasComplexInput": false, "help": "Start a draft agent setup from a template, custom, or existing mode; the setup resumes from the draft agent and Charter, not a fresh start." },
51022
- { "id": "agent_setup.update", "namespace": "agent_setup", "action": "update", "title": "Update agent setup", "description": "Update the draft agent's parent, steward, lane, schedule, operational answers, and tool decisions.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "parent_seat_id", "flag": "parent-seat-id", "type": "string", "required": false }, { "name": "steward_seat_id", "flag": "steward-seat-id", "type": "string", "required": false }, { "name": "lane", "flag": "lane", "type": "enum", "required": false, "enumValues": ["cloud", "mcp_session", "runner"] }, { "name": "schedule_cron", "flag": "schedule-cron", "type": "string", "required": false }, { "name": "answers", "flag": "answers", "type": "array", "required": false, "itemType": "string" }, { "name": "skill_discovery_enabled", "flag": "skill-discovery-enabled", "type": "boolean", "required": false }], "hasComplexInput": true, "help": "Update parent, steward, lane, schedule, answers, or tool decisions on the draft; steward and parent changes keep the no-orphan chain explicit." },
51048
+ { "id": "agent_setup.update", "namespace": "agent_setup", "action": "update", "title": "Update agent setup", "description": "Update the draft agent's parent, steward, lane, schedule, operational answers, and tool decisions.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "parent_seat_id", "flag": "parent-seat-id", "type": "string", "required": false }, { "name": "steward_seat_id", "flag": "steward-seat-id", "type": "string", "required": false }, { "name": "lane", "flag": "lane", "type": "enum", "required": false, "enumValues": ["cloud", "mcp_session", "runner"] }, { "name": "schedule_cron", "flag": "schedule-cron", "type": "string", "required": false }, { "name": "turn_timeout_seconds", "flag": "turn-timeout-seconds", "type": "integer", "required": false }, { "name": "answers", "flag": "answers", "type": "array", "required": false, "itemType": "string" }, { "name": "skill_discovery_enabled", "flag": "skill-discovery-enabled", "type": "boolean", "required": false }], "hasComplexInput": true, "help": "Update parent, steward, lane, schedule, answers, or tool decisions on the draft; steward and parent changes keep the no-orphan chain explicit." },
51023
51049
  { "id": "agent_template.list", "namespace": "agent_template", "action": "list", "title": "List agent templates", "description": "List stock agent templates and their responsibilities, default tools, and dry-run rehearsal.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "List stock agent templates and their default tools and safety boundaries before starting a template setup." },
51024
51050
  { "id": "agent.activation_receipt", "namespace": "agent", "action": "activation_receipt", "title": "Build agent activation receipt", "description": "Read the compiled authority receipt for one agent: effective capabilities, connection metadata, stale-scope digest, budget, and always-human boundary.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "proposed_budget_cents", "flag": "proposed-budget-cents", "type": "integer", "required": false }], "hasComplexInput": false, "help": "Build the current compiled activation receipt before signing or creating a Trusted grant. Rebuild it after any Charter, capability, connection, schedule, or lane change." },
51025
51051
  { "id": "agent.activation_sign", "namespace": "agent", "action": "activation_sign", "title": "Sign agent activation receipt", "description": "Human steward/admin activation sign-off for the current compiled receipt digest. Refuses stale receipts and records a human decision plus append-only event.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "expected_scope_digest", "flag": "expected-scope-digest", "type": "string", "required": true }, { "name": "budget_cents", "flag": "budget-cents", "type": "integer", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Human steward/admin sign-off for the exact activation receipt digest. Agents can surface the pending confirmation but cannot sign their own authority." },
@@ -51076,6 +51102,7 @@ var COMMAND_MANIFEST = [
51076
51102
  { "id": "confirmation.approve", "namespace": "confirmation", "action": "approve", "title": "Approve pending confirmation", "description": "Approve an in-flight confirmation and execute the original command as the approving human.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "confirmation_id", "flag": "confirmation-id", "type": "string", "required": true }, { "name": "reviewed", "flag": "reviewed", "type": "boolean", "required": false }], "hasComplexInput": false, "help": "Approve pending confirmations only when the requested durable change is clear to the human owner." },
51077
51103
  { "id": "confirmation.list", "namespace": "confirmation", "action": "list", "title": "List pending confirmations", "description": "List in-flight confirmations awaiting a human decision, scoped to the caller's authority (owner sees all; a member sees seats they occupy; an agent sees its own seat).", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "limit", "flag": "limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "List pending confirmations awaiting a human decision before approving or rejecting them." },
51078
51104
  { "id": "confirmation.reject", "namespace": "confirmation", "action": "reject", "title": "Reject pending confirmation", "description": "Reject an in-flight confirmation without executing the original command.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "confirmation_id", "flag": "confirmation-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Reject pending confirmations when authority, evidence, or human intent is unclear." },
51105
+ { "id": "confirmation.remint", "namespace": "confirmation", "action": "remint", "title": "Re-mint an expired confirmation", "description": "Stage a fresh confirmation for the same command as an expired one, re-running the normal minting authorization checks.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "confirmation_id", "flag": "confirmation-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Re-mint an expired confirmation into a fresh one before approving, instead of re-running the original command from scratch." },
51079
51106
  { "id": "credential.ingress", "namespace": "credential", "action": "ingress", "title": "Store credential", "description": "Store a secret through the vault and persist only the credential vault reference.", "requiredScope": "seat", "confirmation": "credential_flow", "exposeOverMcp": false, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "provider", "flag": "provider", "type": "string", "required": true }, { "name": "scope_description", "flag": "scope-description", "type": "string", "required": true }, { "name": "secret_name", "flag": "secret-name", "type": "string", "required": true }], "hasComplexInput": false, "secretBlocked": true, "help": "Ingress credentials only through vault-backed flows; never place raw secrets in prompts, logs, or docs." },
51080
51107
  { "id": "deliverable.accept", "namespace": "deliverable", "action": "accept", "title": "Accept deliverable value", "description": "Record a human-confirmed accepted value (USD) on a deliverable. Humans decide; agents cannot self-accept. Re-accepting records a correction as a new event; prior events are never mutated.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "deliverable_id", "flag": "deliverable-id", "type": "string", "required": true }, { "name": "impact_value_usd", "flag": "impact-value-usd", "type": "number", "required": true }], "hasComplexInput": false, "help": "Record a human-confirmed accepted value (USD) on a deliverable; owner-only and human-gated. Humans decide \u2014 agents cannot self-accept. Re-accepting records a correction as a new event." },
51081
51108
  { "id": "deliverable.attach", "namespace": "deliverable", "action": "attach", "title": "Attach agent deliverable", "description": "Attach a deliverable to a source run, task, or work order for the acting seat. Source refs are validated server-side.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "run_id", "flag": "run-id", "type": "string", "required": false }, { "name": "task_id", "flag": "task-id", "type": "string", "required": false }, { "name": "work_order_id", "flag": "work-order-id", "type": "string", "required": false }, { "name": "kind", "flag": "kind", "type": "enum", "required": false, "enumValues": ["brief", "work_evidence", "artifact", "report", "other"] }, { "name": "title", "flag": "title", "type": "string", "required": true }, { "name": "summary", "flag": "summary", "type": "string", "required": false }, { "name": "content", "flag": "content", "type": "string", "required": false }], "hasComplexInput": true, "help": "Attach a scrubbed deliverable to a source run, task, or work order that belongs to the acting seat." },