@rosthq/cli 0.7.87 → 0.7.88

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":"groups.d.ts","sourceRoot":"","sources":["../../src/generator/groups.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAM1D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKhF,CAAC;AAosCF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAmPjD,CAAC"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/generator/groups.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAM1D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKhF,CAAC;AAwsCF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAmPjD,CAAC"}
package/dist/index.js CHANGED
@@ -40435,6 +40435,12 @@ var aicosModelSelectionSchema = external_exports.object({
40435
40435
  effort: external_exports.enum(["low", "medium", "high", "xhigh", "max"]).optional(),
40436
40436
  label: external_exports.string().min(1).optional(),
40437
40437
  routingReason: external_exports.string().min(1).optional(),
40438
+ // DER-1820: true only while the managed allowance is exhausted AND a usable tenant
40439
+ // BYOK key exists, so the executor's managed->BYOK auto-recovery (cloud-execution.ts
40440
+ // `allowManagedRecovery`) will actually run the next turn — lets the allowance banner
40441
+ // say "running on your tenant key" instead of overclaiming guided mode / a stale
40442
+ // "Add BYOK" CTA when BYOK is already covering the turn.
40443
+ byokFallbackActive: external_exports.boolean().optional(),
40438
40444
  estimatedContextTokens: external_exports.number().int().nonnegative().default(0),
40439
40445
  contextWindowTokens: external_exports.number().int().positive().optional(),
40440
40446
  options: external_exports.array(aicosModelOptionSchema).default([])
@@ -43791,6 +43797,12 @@ var runnerExecutionStateSchema = external_exports.enum([
43791
43797
  ]);
43792
43798
  var runnerExecutionReadinessSchema = external_exports.object({
43793
43799
  state: runnerExecutionStateSchema,
43800
+ // DER-1655: per-runner CAPABILITY — can this runner execute a turn right now
43801
+ // (online + local runtime + not allowance-blocked). This is the presence/readiness
43802
+ // bit CLI/API callers should read; `execute_ready` is dispatch-selection ONLY, so a
43803
+ // capable idle_unproven/queued_unclaimed runner must still serialize `capable: true`
43804
+ // over the wire even while `execute_ready` is false.
43805
+ capable: external_exports.boolean(),
43794
43806
  execute_ready: external_exports.boolean(),
43795
43807
  detail: external_exports.string(),
43796
43808
  due_queued_work_orders: external_exports.number().int().nonnegative(),
@@ -44167,7 +44179,7 @@ var systemHealthFindingCodeSchema = external_exports.enum([
44167
44179
  "failed_run",
44168
44180
  "unresolved_error",
44169
44181
  "offline_runner",
44170
- "runner_not_execute_ready",
44182
+ "runner_not_capable",
44171
44183
  "pending_signal",
44172
44184
  "off_track_signal",
44173
44185
  "missing_charter",
@@ -44236,7 +44248,12 @@ var systemHealthWorkLoopSectionSchema = external_exports.object({
44236
44248
  var systemHealthConnectivitySectionSchema = external_exports.object({
44237
44249
  runner_count: external_exports.number().int().nonnegative(),
44238
44250
  offline_runner_count: external_exports.number().int().nonnegative(),
44239
- not_execute_ready_runner_count: external_exports.number().int().nonnegative(),
44251
+ // DER-1655: a presence/readiness surface alerts on per-runner CAPABILITY
44252
+ // (execution.capable), not the dispatch-only executeReady bit. Counts runners
44253
+ // that cannot execute a turn right now (offline/unpaired, or online but
44254
+ // missing a runtime / model-account-exhausted). A capable-but-not-executeReady
44255
+ // runner (online idle_unproven / queued_unclaimed) is healthy and excluded.
44256
+ not_capable_runner_count: external_exports.number().int().nonnegative(),
44240
44257
  // DER-1588: fleet-wide near-cap/at-limit warning, driven off the runner capacity badge.
44241
44258
  near_cap_or_exhausted_runner_count: external_exports.number().int().nonnegative(),
44242
44259
  integration_count: external_exports.number().int().nonnegative(),
@@ -46358,6 +46375,10 @@ var escalationStatusSchema = external_exports.enum([
46358
46375
  "overridden",
46359
46376
  "converted_to_issue"
46360
46377
  ]);
46378
+ var stewardReplayActionSummarySchema = external_exports.object({
46379
+ tool_name: external_exports.string(),
46380
+ run_id: uuidSchema20
46381
+ }).strict();
46361
46382
  var stewardEscalationSchema = external_exports.object({
46362
46383
  id: uuidSchema20,
46363
46384
  seat_id: uuidSchema20,
@@ -46367,6 +46388,11 @@ var stewardEscalationSchema = external_exports.object({
46367
46388
  steward_seat_name: external_exports.string(),
46368
46389
  reason: external_exports.string(),
46369
46390
  charter_clause: external_exports.string(),
46391
+ // DER-1634: secret-scrubbed evidence the agent attached when it escalated (the DB
46392
+ // scrubs it at write time; read projections re-scrub defensively — invariant #5).
46393
+ evidence: external_exports.unknown(),
46394
+ // DER-1634: scrubbed summary of the durable replay action, or null when there is none.
46395
+ replay_action_summary: stewardReplayActionSummarySchema.nullable(),
46370
46396
  recommended_action: external_exports.string().nullable(),
46371
46397
  status: escalationStatusSchema,
46372
46398
  decided_by: uuidSchema20.nullable(),
@@ -47989,7 +48015,7 @@ External connectors are being rolled out provider by provider, conservatively (r
47989
48015
  order: 48,
47990
48016
  title: "CLI and MCP installation guide",
47991
48017
  summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
47992
- version: "2026-07-16.1",
48018
+ version: "2026-07-16.2",
47993
48019
  public: true,
47994
48020
  audiences: ["human", "cli", "mcp", "in_app_agent"],
47995
48021
  stages: ["company_setup", "staffing"],
@@ -48701,7 +48727,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
48701
48727
  | \`rost_complete_sync_run\` | \`sync.run.complete\` | Record that the Sync meeting completed (idempotent). | Tenant | Call with \`{"sync_brief_id":"<id>"}\`. |
48702
48728
  | \`rost_assign_sync_follow_up\` | \`sync.item.assign\` | Create a follow-up task from a Sync agenda item. | Tenant | Call with brief, owner seat, title, description. |
48703
48729
  | \`rost_list_escalations\` | \`escalation.list\` | List Steward queue escalations (own steward chain for humans, own seat for agents). | Seat or tenant-admin | Call with \`{}\` or \`{"include_decided":true}\`. |
48704
- | \`rost_get_escalation\` | \`escalation.get\` | Read one escalation's evidence, recommendation, and decision state. | Seat or tenant-admin | Call with \`{"id":"<escalation-id>"}\`. Resolve/reject are human-only and not exposed over MCP. |
48730
+ | \`rost_get_escalation\` | \`escalation.get\` | Read one escalation's secret-scrubbed evidence, recommendation, decision state, and \`replay_action_summary\` (the held tool + originating run a steward approval would replay \u2014 never the raw args). | Seat or tenant-admin | Call with \`{"id":"<escalation-id>"}\`. Resolve/reject are human-only and not exposed over MCP. |
48705
48731
  | \`rost_check_compass_alignment\` | \`compass.alignment\` | Advisory drift check: scores whether cycle goals still ladder to the active vision and flags orphan/contradictory goals. Read-only \u2014 it never edits the Compass or any goal. | Tenant | Call with \`{}\`. |
48706
48732
  | \`rost_team_health_score\` | \`team.health_score\` | Read the single rolled-up 0-100 team-health score (latest month) with its band and label. | Tenant | Call with \`{}\`. |
48707
48733
  | \`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 \`{}\`. |
@@ -53025,18 +53051,21 @@ function renderRunnerList(output) {
53025
53051
  const record2 = asRecord(runner);
53026
53052
  const posture = asRecord(record2.posture);
53027
53053
  const capacity = asRecord(record2.capacity);
53054
+ const execution = asRecord(record2.execution);
53028
53055
  const capabilitySet = asArray(posture.capability_set).map((value) => String(value)).join(", ");
53029
- return `${field(record2, "id")} ${field(record2, "health")} ${field(record2, "name")} (${field(record2, "platform")}) cli=${field(record2, "cli_version")} sandbox=${field(posture, "sandbox")} network=${field(posture, "network")}${capabilitySet.length > 0 ? ` capabilities=${capabilitySet}` : ""} capacity=${field(capacity, "state")} account=${field(capacity, "account_alias")} freshness=${field(capacity, "freshness")}`;
53056
+ return `${field(record2, "id")} ${field(record2, "health")} ${field(record2, "name")} (${field(record2, "platform")}) cli=${field(record2, "cli_version")} sandbox=${field(posture, "sandbox")} network=${field(posture, "network")}${capabilitySet.length > 0 ? ` capabilities=${capabilitySet}` : ""} execution=${field(execution, "state")} capable=${field(execution, "capable")} capacity=${field(capacity, "state")} account=${field(capacity, "account_alias")} freshness=${field(capacity, "freshness")}`;
53030
53057
  }).join("\n");
53031
53058
  }
53032
53059
  function renderRunnerStatus(output) {
53033
53060
  const record2 = asRecord(output);
53034
53061
  const posture = asRecord(record2.posture);
53035
53062
  const capacity = asRecord(record2.capacity);
53063
+ const execution = asRecord(record2.execution);
53036
53064
  const capabilitySet = asArray(posture.capability_set).map((value) => String(value)).join(", ");
53037
53065
  const lines = [
53038
53066
  `${field(record2, "id")} ${field(record2, "health")} ${field(record2, "name")} (last heartbeat ${field(record2, "last_heartbeat_at")}).`,
53039
53067
  `cli_version: ${field(record2, "cli_version")} sandbox: ${field(posture, "sandbox")} network: ${field(posture, "network")}`,
53068
+ `execution: ${field(execution, "state")} capable: ${field(execution, "capable")} execute_ready: ${field(execution, "execute_ready")}`,
53040
53069
  `capacity: ${field(capacity, "state")} account: ${field(capacity, "account_alias")} freshness: ${field(capacity, "freshness")} rate_limited_until: ${field(capacity, "rate_limited_until")}`
53041
53070
  ];
53042
53071
  if (capabilitySet.length > 0) {
@@ -53412,7 +53441,7 @@ function formatSystemHealth(output) {
53412
53441
  `signals: off_track=${field(signals, "off_track_count")} pending=${field(signals, "pending_count")}`,
53413
53442
  `cascade: recommendations=${field(cascade, "recommendation_count")} warnings=${field(cascade, "warning_count")}`,
53414
53443
  `work_loop: open_issues=${field(workLoop, "open_issue_count")} friction_without_task=${field(workLoop, "friction_without_task_count")} open_or_stalled_tasks=${field(workLoop, "open_or_stalled_task_count")}`,
53415
- `connectivity: runners=${field(connectivity, "runner_count")} offline_runners=${field(connectivity, "offline_runner_count")} not_ready_runners=${field(connectivity, "not_execute_ready_runner_count")} integrations=${field(connectivity, "integration_count")} disconnected_integrations=${field(connectivity, "disconnected_integration_count")} failed_notifications=${field(connectivity, "failed_notification_count")}`,
53444
+ `connectivity: runners=${field(connectivity, "runner_count")} offline_runners=${field(connectivity, "offline_runner_count")} not_ready_runners=${field(connectivity, "not_capable_runner_count")} integrations=${field(connectivity, "integration_count")} disconnected_integrations=${field(connectivity, "disconnected_integration_count")} failed_notifications=${field(connectivity, "failed_notification_count")}`,
53416
53445
  `sync: latest_brief=${field(sync, "latest_brief_at")} missing_latest_brief=${field(sync, "missing_latest_brief")} flagged_gaps=${field(sync, "flagged_gap_count")}`
53417
53446
  );
53418
53447
  return lines.join("\n");