@rosthq/cli 0.7.55 → 0.7.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -39054,6 +39054,23 @@ var agentBuilderToolProposalSchema = external_exports.object({
39054
39054
  connected: external_exports.boolean(),
39055
39055
  declined: external_exports.boolean()
39056
39056
  }).strict();
39057
+ var agentBuilderConfirmationEvidenceSchema = external_exports.object({
39058
+ source: external_exports.object({
39059
+ kind: external_exports.enum(["transcript", "artifact"]),
39060
+ summary: external_exports.string().trim().min(1).max(240)
39061
+ }).strict().optional(),
39062
+ proposedLifecycleCommand: external_exports.object({
39063
+ commandId: external_exports.enum(["agent.create_custom", "agent.configure_tools", "agent.run_dry_run", "agent.go_live"]),
39064
+ summary: external_exports.string().trim().min(1).max(360),
39065
+ inputSummary: external_exports.string().trim().min(1).max(360).optional()
39066
+ }).strict(),
39067
+ stageAudit: external_exports.object({
39068
+ guardResult: external_exports.enum(["allowed", "denied_manifest", "denied_budget", "escalated", "denied_tenant_policy"]),
39069
+ outcome: external_exports.string().trim().min(1).max(120),
39070
+ manifestClause: external_exports.string().trim().min(1).max(240).optional(),
39071
+ toolCallId: external_exports.string().trim().min(1).max(120).optional()
39072
+ }).strict().optional()
39073
+ }).strict();
39057
39074
  var agentBuilderQuestionSchema = external_exports.object({
39058
39075
  id: external_exports.string().trim().min(1).max(120),
39059
39076
  field: external_exports.enum([
@@ -39089,6 +39106,7 @@ var agentBuilderPendingConfirmationCardSchema = external_exports.object({
39089
39106
  humanGateLabel: external_exports.string().trim().min(1).max(120),
39090
39107
  riskLevel: external_exports.enum(["normal", "sensitive", "dangerous"]),
39091
39108
  confirmationId: external_exports.string().trim().min(1).max(120).optional(),
39109
+ evidence: agentBuilderConfirmationEvidenceSchema.optional(),
39092
39110
  approveVia: external_exports.object({
39093
39111
  webUrl: external_exports.string().trim().min(1).max(500).optional(),
39094
39112
  cliCommand: external_exports.string().trim().min(1).max(500).optional()
@@ -39307,7 +39325,12 @@ var aicosPendingTurnSchema = external_exports.object({
39307
39325
  linkedRunId: uuidSchema5.nullable(),
39308
39326
  interactiveDeadline: external_exports.string().datetime({ offset: true }),
39309
39327
  terminalReason: external_exports.string().min(1).max(120).nullable().default(null),
39328
+ claimLatencyMs: external_exports.number().int().nonnegative().nullable().default(null),
39329
+ runtimeDurationMs: external_exports.number().int().nonnegative().nullable().default(null),
39310
39330
  totalDurationMs: external_exports.number().int().nonnegative().nullable().default(null),
39331
+ createdAt: external_exports.string().datetime({ offset: true }),
39332
+ claimedAt: external_exports.string().datetime({ offset: true }).nullable().default(null),
39333
+ startedAt: external_exports.string().datetime({ offset: true }).nullable().default(null),
39311
39334
  updatedAt: external_exports.string().datetime({ offset: true })
39312
39335
  }).strict();
39313
39336
  var aicosMessageRoleSchema = external_exports.enum(["user", "assistant", "tool", "system"]);
@@ -54355,7 +54378,7 @@ async function startPairing(client, config2) {
54355
54378
  }
54356
54379
  async function detectCapabilities(cliVersion, env, homeDir) {
54357
54380
  const [claude, codex, git, gh, forgeDiskFreeMb] = await Promise.all([
54358
- probe("claude"),
54381
+ probeClaude(),
54359
54382
  probe("codex"),
54360
54383
  probeGit(),
54361
54384
  probeGh(),
@@ -54416,6 +54439,48 @@ async function probe(command) {
54416
54439
  return { installed: false, version: null, auth_state: "unknown" };
54417
54440
  }
54418
54441
  }
54442
+ async function probeClaude() {
54443
+ const base = await probe("claude");
54444
+ if (!base.installed) {
54445
+ return {
54446
+ ...base,
54447
+ account_alias: null,
54448
+ rate_limited_until: null,
54449
+ resident_session: {
54450
+ status: "unsupported",
54451
+ transport: null,
54452
+ reason: "Claude CLI is not installed on this runner."
54453
+ }
54454
+ };
54455
+ }
54456
+ const streamJsonSupported = await probeClaudeStreamJsonInterface();
54457
+ return {
54458
+ ...base,
54459
+ account_alias: null,
54460
+ rate_limited_until: null,
54461
+ resident_session: streamJsonSupported ? {
54462
+ status: "prototype_gated",
54463
+ transport: "stream-json",
54464
+ reason: "Claude CLI exposes stream-json I/O, but the long-lived resident session path remains explicitly gated until multi-turn subscription behavior is proven on a paired runner."
54465
+ } : {
54466
+ status: "unsupported",
54467
+ transport: null,
54468
+ reason: "Claude CLI on this runner does not expose the required stream-json I/O surface for a resident session prototype."
54469
+ }
54470
+ };
54471
+ }
54472
+ async function probeClaudeStreamJsonInterface() {
54473
+ try {
54474
+ const { stdout, stderr } = await execFile5("claude", ["--help"], { timeout: 1500, maxBuffer: 1024 * 1024 });
54475
+ return supportsClaudeStreamJsonInterface(`${stdout ?? ""}
54476
+ ${stderr ?? ""}`);
54477
+ } catch {
54478
+ return false;
54479
+ }
54480
+ }
54481
+ function supportsClaudeStreamJsonInterface(helpText2) {
54482
+ return helpText2.includes("--input-format") && helpText2.includes("--output-format") && helpText2.includes("stream-json");
54483
+ }
54419
54484
  async function probeGit() {
54420
54485
  try {
54421
54486
  const { stdout, stderr } = await execFile5("git", ["--version"], { timeout: 1500 });