@rosthq/cli 0.7.93 → 0.7.95

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
@@ -43561,6 +43561,47 @@ var agentListToolCallsOutputSchema = external_exports.object({
43561
43561
  summary: seatTrustSummarySchema,
43562
43562
  tool_calls: external_exports.array(seatToolCallSchema)
43563
43563
  }).strict();
43564
+ var agentWatchRunInputSchema = external_exports.object({
43565
+ seat_id: uuidSchema14,
43566
+ run_id: uuidSchema14
43567
+ }).strict();
43568
+ var workProgressStateSchema = external_exports.enum(["not_started", "in_progress", "handed_off", "done", "failed"]);
43569
+ var runWatchCurrentStateSchema = external_exports.object({
43570
+ state: workProgressStateSchema,
43571
+ reasons: external_exports.array(external_exports.string()),
43572
+ claimed_state: workProgressStateSchema.nullable(),
43573
+ claim_mismatch: external_exports.boolean(),
43574
+ last_activity_at: isoDateTime4.nullable(),
43575
+ last_durable_activity_at: isoDateTime4.nullable()
43576
+ }).strict();
43577
+ var runWatchHeartbeatSchema = external_exports.object({
43578
+ state: external_exports.enum(["working", "quiet_healthy", "recovered", "stalled"]),
43579
+ stalled: external_exports.boolean(),
43580
+ current_phase: external_exports.string().nullable(),
43581
+ last_progress_at: isoDateTime4.nullable(),
43582
+ expected_next_at: isoDateTime4.nullable(),
43583
+ stall_after_at: isoDateTime4.nullable(),
43584
+ lease_remaining_ms: external_exports.number().nullable(),
43585
+ reasons: external_exports.array(external_exports.string())
43586
+ }).strict();
43587
+ var agentWatchRunOutputSchema = external_exports.object({
43588
+ seat_id: uuidSchema14,
43589
+ run: seatRunSchema,
43590
+ // the lean run row (status/lane/model/counts/timestamps)
43591
+ is_live: external_exports.boolean(),
43592
+ // run.status === "running"
43593
+ // When true, transcript + tool_calls are withheld because the viewer is
43594
+ // authorized on the seat but lacks sensitive-data access (setup-limited
43595
+ // reader). Header state (run, current_state, heartbeat) is always present. The
43596
+ // command surface always returns false (its callers are own-seat/tenant-admin
43597
+ // tokens); the web route sets it from the viewer's sensitivity.
43598
+ redacted: external_exports.boolean(),
43599
+ current_state: runWatchCurrentStateSchema,
43600
+ heartbeat: runWatchHeartbeatSchema.nullable(),
43601
+ transcript: sessionTranscriptReadResultSchema.nullable(),
43602
+ tool_calls: external_exports.array(seatToolCallSchema),
43603
+ fetched_at: isoDateTime4
43604
+ }).strict();
43564
43605
  var deliverableKindSchema = external_exports.enum(["brief", "work_evidence", "artifact", "report", "other"]);
43565
43606
  var deliverableLinkSchema = external_exports.object({
43566
43607
  label: external_exports.string(),
@@ -44788,8 +44829,44 @@ var secretGrantListOutputSchema = external_exports.object({
44788
44829
  grants: external_exports.array(secretGrantSummarySchema)
44789
44830
  }).strict();
44790
44831
 
44791
- // ../../packages/protocol/src/software-factory.ts
44832
+ // ../../packages/protocol/src/gate.ts
44792
44833
  var uuid11 = external_exports.string().uuid();
44834
+ var gateDecisionSchema = external_exports.enum(["approve", "reject"]);
44835
+ var gateSubjectKindSchema = external_exports.enum(["prototype", "deliverable", "artifact"]);
44836
+ var gateDecideInputSchema = external_exports.object({
44837
+ subject_kind: gateSubjectKindSchema,
44838
+ subject_id: uuid11,
44839
+ artifact_ref: external_exports.object({
44840
+ // The deep link to the artifact (a prototype URL). Agent-supplied and rendered as a
44841
+ // clickable link in the operator's Home band, so it is constrained to an http(s)
44842
+ // URL or a relative in-app path — a `javascript:`/`data:` href would be a
44843
+ // stored-XSS-via-link vector (conservative-by-default, invariant #10).
44844
+ href: external_exports.string().min(1).max(2048).refine(
44845
+ (value) => value.startsWith("/") || /^https?:\/\//i.test(value),
44846
+ "href must be a relative path or an http(s) URL"
44847
+ ),
44848
+ label: external_exports.string().min(1).max(200)
44849
+ }).strict(),
44850
+ // The digest the gate is bound to. On approval the current artifact digest must
44851
+ // still match (a changed artifact is a stale gate — re-draft required).
44852
+ artifact_digest: external_exports.string().min(1).max(200),
44853
+ decision: gateDecisionSchema,
44854
+ ask: external_exports.string().min(1).max(400),
44855
+ consequence: external_exports.string().min(1).max(600),
44856
+ unblocked_targets: external_exports.array(external_exports.string().min(1).max(200)).max(20).default([]),
44857
+ rationale: external_exports.string().max(4e3).optional()
44858
+ }).strict();
44859
+ var gateDecideOutputSchema = external_exports.object({
44860
+ decision_id: uuid11.nullable(),
44861
+ subject_id: uuid11,
44862
+ artifact_digest: external_exports.string(),
44863
+ decision: gateDecisionSchema,
44864
+ decided_by: uuid11,
44865
+ gate_status: external_exports.enum(["approved", "rejected"])
44866
+ });
44867
+
44868
+ // ../../packages/protocol/src/software-factory.ts
44869
+ var uuid12 = external_exports.string().uuid();
44793
44870
  var SOFTWARE_PHASE_VALUES = [
44794
44871
  "intake",
44795
44872
  "discovery_scoping",
@@ -44900,7 +44977,7 @@ var softwareConfigValueKindSchema = external_exports.enum(["plain", "secret_ref"
44900
44977
  var softwareCredentialRequestStatusSchema = external_exports.enum(["pending", "fulfilled", "rejected", "canceled"]);
44901
44978
  var softwareSecretAccessOperationSchema = external_exports.enum(["use", "vercel_env_sync", "test_execution"]);
44902
44979
  var softwareProjectSummarySchema = external_exports.object({
44903
- id: uuid11,
44980
+ id: uuid12,
44904
44981
  name: external_exports.string().min(1),
44905
44982
  slug: external_exports.string().min(1),
44906
44983
  base_branch: external_exports.string().min(1),
@@ -44954,7 +45031,7 @@ var softwarePhaseSchedulerStateSchema = external_exports.object({
44954
45031
  ]).nullable(),
44955
45032
  message: external_exports.string(),
44956
45033
  remediation_href: external_exports.string().nullable(),
44957
- work_order_id: uuid11.nullable()
45034
+ work_order_id: uuid12.nullable()
44958
45035
  });
44959
45036
  var softwareDispatchHoldReasonSchema = external_exports.enum([
44960
45037
  "dependency",
@@ -44978,7 +45055,7 @@ var softwareDispatchPreviewRunnerRequirementSchema = external_exports.object({
44978
45055
  }).strict();
44979
45056
  var softwareDispatchPreviewItemSchema = external_exports.object({
44980
45057
  kind: external_exports.enum(["changeset", "task"]),
44981
- id: uuid11,
45058
+ id: uuid12,
44982
45059
  ordinal: external_exports.number().int().positive(),
44983
45060
  title: external_exports.string(),
44984
45061
  changeset_ordinal: external_exports.number().int().positive().nullable(),
@@ -45005,7 +45082,7 @@ var softwareTouchSetCollisionSchema = external_exports.object({
45005
45082
  overlap: external_exports.array(external_exports.string()).min(1)
45006
45083
  }).strict();
45007
45084
  var softwareCrossRequestCollisionGroupSchema = external_exports.object({
45008
- software_project_id: uuid11,
45085
+ software_project_id: uuid12,
45009
45086
  requests: external_exports.array(softwareTouchSetRefSchema),
45010
45087
  collisions: external_exports.array(softwareTouchSetCollisionSchema),
45011
45088
  unknown: external_exports.array(softwareTouchSetRefSchema)
@@ -45039,8 +45116,8 @@ var softwareDispatchPreviewSchema = external_exports.object({
45039
45116
  grooming_reason: external_exports.string().nullable()
45040
45117
  }).strict();
45041
45118
  var softwareBuildRequestSummarySchema = external_exports.object({
45042
- id: uuid11,
45043
- software_project_id: uuid11,
45119
+ id: uuid12,
45120
+ software_project_id: uuid12,
45044
45121
  title: external_exports.string(),
45045
45122
  source_channel: softwareSourceChannelSchema,
45046
45123
  source_ref: external_exports.string().nullable(),
@@ -45056,7 +45133,7 @@ var softwareBuildRequestSummarySchema = external_exports.object({
45056
45133
  scheduler_state: softwarePhaseSchedulerStateSchema.nullable()
45057
45134
  });
45058
45135
  var softwarePhaseRunSummarySchema = external_exports.object({
45059
- id: uuid11,
45136
+ id: uuid12,
45060
45137
  phase: softwarePhaseSchema,
45061
45138
  status: softwarePhaseRunStatusSchema,
45062
45139
  attempt_no: external_exports.number().int(),
@@ -45066,17 +45143,17 @@ var softwarePhaseRunSummarySchema = external_exports.object({
45066
45143
  scheduler_state: softwarePhaseSchedulerStateSchema.nullable()
45067
45144
  });
45068
45145
  var softwareGateSummarySchema = external_exports.object({
45069
- id: uuid11,
45146
+ id: uuid12,
45070
45147
  gate_type: softwareGateTypeSchema,
45071
45148
  status: external_exports.enum(["pending", "approved", "rejected", "held"]),
45072
- phase_run_id: uuid11.nullable(),
45073
- resolved_by_user_id: uuid11.nullable(),
45149
+ phase_run_id: uuid12.nullable(),
45150
+ resolved_by_user_id: uuid12.nullable(),
45074
45151
  rationale: external_exports.string().nullable(),
45075
45152
  created_at: external_exports.string()
45076
45153
  });
45077
45154
  var softwareChangesetSummarySchema = external_exports.object({
45078
- id: uuid11,
45079
- build_request_id: uuid11,
45155
+ id: uuid12,
45156
+ build_request_id: uuid12,
45080
45157
  ordinal: external_exports.number().int(),
45081
45158
  title: external_exports.string(),
45082
45159
  split_criterion: softwareChangesetSplitCriterionSchema,
@@ -45090,10 +45167,10 @@ var softwareChangesetSummarySchema = external_exports.object({
45090
45167
  created_at: external_exports.string()
45091
45168
  });
45092
45169
  var softwareTaskSummarySchema = external_exports.object({
45093
- id: uuid11,
45094
- build_request_id: uuid11,
45095
- changeset_id: uuid11,
45096
- plan_version_id: uuid11,
45170
+ id: uuid12,
45171
+ build_request_id: uuid12,
45172
+ changeset_id: uuid12,
45173
+ plan_version_id: uuid12,
45097
45174
  ordinal: external_exports.number().int(),
45098
45175
  task_key: external_exports.string(),
45099
45176
  title: external_exports.string(),
@@ -45132,8 +45209,8 @@ var softwarePlanArtifactSummarySchema = external_exports.object({
45132
45209
  changesets: external_exports.array(softwarePlanArtifactChangesetSummarySchema).default([])
45133
45210
  });
45134
45211
  var softwarePlanVersionSummarySchema = external_exports.object({
45135
- id: uuid11,
45136
- build_request_id: uuid11,
45212
+ id: uuid12,
45213
+ build_request_id: uuid12,
45137
45214
  version_no: external_exports.number().int(),
45138
45215
  status: softwarePlanVersionStatusSchema,
45139
45216
  summary: external_exports.string().nullable(),
@@ -45144,37 +45221,37 @@ var softwarePlanVersionSummarySchema = external_exports.object({
45144
45221
  answer: external_exports.string()
45145
45222
  })).default([]),
45146
45223
  planning_artifact: softwarePlanArtifactSummarySchema.nullable(),
45147
- created_by_seat_id: uuid11.nullable(),
45224
+ created_by_seat_id: uuid12.nullable(),
45148
45225
  created_at: external_exports.string()
45149
45226
  });
45150
45227
  var softwarePlanConformanceFindingSummarySchema = external_exports.object({
45151
- id: uuid11,
45152
- build_request_id: uuid11,
45153
- changeset_id: uuid11.nullable(),
45154
- phase_run_id: uuid11.nullable(),
45155
- plan_version_id: uuid11.nullable(),
45228
+ id: uuid12,
45229
+ build_request_id: uuid12,
45230
+ changeset_id: uuid12.nullable(),
45231
+ phase_run_id: uuid12.nullable(),
45232
+ plan_version_id: uuid12.nullable(),
45156
45233
  severity: softwareConformanceSeveritySchema,
45157
45234
  category: softwareConformanceCategorySchema,
45158
45235
  summary: external_exports.string(),
45159
45236
  detail: external_exports.string().nullable(),
45160
45237
  status: softwareConformanceStatusSchema,
45161
- accepted_by_decision_id: uuid11.nullable(),
45238
+ accepted_by_decision_id: uuid12.nullable(),
45162
45239
  resolved_at: external_exports.string().nullable(),
45163
45240
  created_at: external_exports.string()
45164
45241
  });
45165
45242
  var softwareAuthorityProfileSummarySchema = external_exports.object({
45166
- id: uuid11,
45167
- software_project_id: uuid11.nullable(),
45243
+ id: uuid12,
45244
+ software_project_id: uuid12.nullable(),
45168
45245
  name: external_exports.string(),
45169
45246
  preset: softwareAuthorityPresetSchema,
45170
45247
  is_default: external_exports.boolean(),
45171
45248
  created_at: external_exports.string()
45172
45249
  });
45173
45250
  var softwareSecretGrantSummarySchema = external_exports.object({
45174
- id: uuid11,
45175
- software_project_id: uuid11,
45251
+ id: uuid12,
45252
+ software_project_id: uuid12,
45176
45253
  environment: softwareEnvironmentSchema,
45177
- seat_id: uuid11,
45254
+ seat_id: uuid12,
45178
45255
  action: external_exports.string(),
45179
45256
  key_name: external_exports.string(),
45180
45257
  vault_ref: external_exports.string(),
@@ -45183,8 +45260,8 @@ var softwareSecretGrantSummarySchema = external_exports.object({
45183
45260
  revoked_at: external_exports.string().nullable()
45184
45261
  });
45185
45262
  var softwareConfigEntrySummarySchema = external_exports.object({
45186
- id: uuid11,
45187
- software_project_id: uuid11,
45263
+ id: uuid12,
45264
+ software_project_id: uuid12,
45188
45265
  environment: softwareEnvironmentSchema,
45189
45266
  key_name: external_exports.string(),
45190
45267
  value_kind: softwareConfigValueKindSchema,
@@ -45194,20 +45271,20 @@ var softwareConfigEntrySummarySchema = external_exports.object({
45194
45271
  updated_at: external_exports.string()
45195
45272
  });
45196
45273
  var softwareCredentialRequestSummarySchema = external_exports.object({
45197
- id: uuid11,
45198
- software_project_id: uuid11,
45274
+ id: uuid12,
45275
+ software_project_id: uuid12,
45199
45276
  environment: softwareEnvironmentSchema,
45200
- requested_by_seat_id: uuid11,
45277
+ requested_by_seat_id: uuid12,
45201
45278
  action: external_exports.string(),
45202
45279
  key_name: external_exports.string(),
45203
45280
  reason: external_exports.string().nullable(),
45204
45281
  status: softwareCredentialRequestStatusSchema,
45205
- approval_task_id: uuid11.nullable(),
45282
+ approval_task_id: uuid12.nullable(),
45206
45283
  created_at: external_exports.string()
45207
45284
  });
45208
45285
  var softwareCapacityObservationSummarySchema = external_exports.object({
45209
- id: uuid11,
45210
- runner_id: uuid11,
45286
+ id: uuid12,
45287
+ runner_id: uuid12,
45211
45288
  observed_at: external_exports.string(),
45212
45289
  os: external_exports.string().nullable(),
45213
45290
  cpu_count: external_exports.number().int().nullable(),
@@ -45223,7 +45300,7 @@ var softwareRequestCreateInputSchema = external_exports.object({
45223
45300
  // this schema) enforces that exactly one resolves, with an actionable error
45224
45301
  // when neither is given or neither matches — keeping this shape a plain
45225
45302
  // `z.object` so JSON-schema/CLI-flag projection stays simple (no `.refine`).
45226
- software_project_id: uuid11.optional(),
45303
+ software_project_id: uuid12.optional(),
45227
45304
  project: external_exports.string().trim().min(1).max(200).optional(),
45228
45305
  // Untrusted display text (ADR-0018 §5) — bounded, never treated as an instruction.
45229
45306
  title: external_exports.string().trim().min(1).max(500),
@@ -45235,11 +45312,11 @@ var softwareRequestCreateInputSchema = external_exports.object({
45235
45312
  automation_mode: softwareAutomationModeSchema.optional()
45236
45313
  }).strict();
45237
45314
  var softwareRequestCreateOutputSchema = external_exports.object({
45238
- build_request_id: uuid11,
45239
- software_project_id: uuid11,
45315
+ build_request_id: uuid12,
45316
+ software_project_id: uuid12,
45240
45317
  status: softwareRequestStatusSchema,
45241
45318
  current_phase: softwarePhaseSchema,
45242
- phase_run_id: uuid11,
45319
+ phase_run_id: uuid12,
45243
45320
  scheduler_state: softwarePhaseSchedulerStateSchema
45244
45321
  });
45245
45322
  var softwareRequestListInputSchema = external_exports.object({
@@ -45249,7 +45326,7 @@ var softwareRequestListOutputSchema = external_exports.object({
45249
45326
  requests: external_exports.array(softwareBuildRequestSummarySchema)
45250
45327
  });
45251
45328
  var softwareRequestShowInputSchema = external_exports.object({
45252
- build_request_id: uuid11
45329
+ build_request_id: uuid12
45253
45330
  }).strict();
45254
45331
  var softwareRequestShowOutputSchema = external_exports.object({
45255
45332
  request: softwareBuildRequestSummarySchema,
@@ -45263,51 +45340,51 @@ var softwareRequestShowOutputSchema = external_exports.object({
45263
45340
  });
45264
45341
  var softwareRequestLifecycleReason = external_exports.string().trim().min(1).max(2e3);
45265
45342
  var softwareRequestPauseInputSchema = external_exports.object({
45266
- build_request_id: uuid11,
45343
+ build_request_id: uuid12,
45267
45344
  reason: softwareRequestLifecycleReason.optional()
45268
45345
  }).strict();
45269
45346
  var softwareRequestCancelInputSchema = external_exports.object({
45270
- build_request_id: uuid11,
45347
+ build_request_id: uuid12,
45271
45348
  reason: softwareRequestLifecycleReason.optional()
45272
45349
  }).strict();
45273
45350
  var softwareRequestResumeInputSchema = external_exports.object({
45274
- build_request_id: uuid11,
45351
+ build_request_id: uuid12,
45275
45352
  reason: softwareRequestLifecycleReason.optional(),
45276
45353
  termination_bound: softwareTerminationBoundSchema.optional()
45277
45354
  }).strict();
45278
45355
  var softwareRequestLifecycleOutputSchema = external_exports.object({
45279
- build_request_id: uuid11,
45356
+ build_request_id: uuid12,
45280
45357
  status: softwareRequestStatusSchema,
45281
45358
  current_phase: softwarePhaseSchema,
45282
- phase_run_id: uuid11.nullable(),
45283
- work_order_id: uuid11.nullable(),
45284
- resume_from_task_id: uuid11.nullable()
45359
+ phase_run_id: uuid12.nullable(),
45360
+ work_order_id: uuid12.nullable(),
45361
+ resume_from_task_id: uuid12.nullable()
45285
45362
  });
45286
45363
  var softwarePhaseAdvanceInputSchema = external_exports.object({
45287
- build_request_id: uuid11,
45364
+ build_request_id: uuid12,
45288
45365
  to_phase: softwarePhaseSchema,
45289
- owning_seat_id: uuid11.optional(),
45366
+ owning_seat_id: uuid12.optional(),
45290
45367
  note: external_exports.string().max(2e3).optional()
45291
45368
  }).strict();
45292
45369
  var softwarePhaseAdvanceOutputSchema = external_exports.object({
45293
- build_request_id: uuid11,
45370
+ build_request_id: uuid12,
45294
45371
  from_phase: softwarePhaseSchema,
45295
45372
  to_phase: softwarePhaseSchema,
45296
- phase_run_id: uuid11
45373
+ phase_run_id: uuid12
45297
45374
  });
45298
45375
  var softwareGateDecideInputSchema = external_exports.object({
45299
- gate_id: uuid11,
45376
+ gate_id: uuid12,
45300
45377
  decision: softwareGateDecisionSchema,
45301
45378
  rationale: external_exports.string().max(4e3).optional()
45302
45379
  }).strict();
45303
45380
  var softwareGateDecideOutputSchema = external_exports.object({
45304
- gate_id: uuid11,
45381
+ gate_id: uuid12,
45305
45382
  status: external_exports.enum(["approved", "rejected"]),
45306
- resolved_by_user_id: uuid11,
45307
- decision_id: uuid11.nullable()
45383
+ resolved_by_user_id: uuid12,
45384
+ decision_id: uuid12.nullable()
45308
45385
  });
45309
45386
  var softwareDispatchSerializeInputSchema = external_exports.object({
45310
- build_request_id: uuid11,
45387
+ build_request_id: uuid12,
45311
45388
  // The task that must run FIRST (the dependency target).
45312
45389
  before_task_key: external_exports.string().trim().min(1).max(200),
45313
45390
  // The task that gains the depends_on edge and runs AFTER `before_task_key`.
@@ -45318,45 +45395,45 @@ var softwareDispatchSerializeInputSchema = external_exports.object({
45318
45395
  path: ["after_task_key"]
45319
45396
  });
45320
45397
  var softwareDispatchSerializeOutputSchema = external_exports.object({
45321
- build_request_id: uuid11,
45398
+ build_request_id: uuid12,
45322
45399
  before_task_key: external_exports.string(),
45323
45400
  after_task_key: external_exports.string(),
45324
45401
  // false when the edge already existed (idempotent no-op) — still a valid, audited call.
45325
45402
  edge_added: external_exports.boolean(),
45326
- decision_id: uuid11.nullable(),
45327
- event_id: uuid11.nullable()
45403
+ decision_id: uuid12.nullable(),
45404
+ event_id: uuid12.nullable()
45328
45405
  }).strict();
45329
45406
  var forgeClarificationAnswer = external_exports.object({
45330
45407
  question: external_exports.string().trim().min(1).max(2e3),
45331
45408
  answer: external_exports.string().trim().min(1).max(4e3)
45332
45409
  }).strict();
45333
45410
  var softwareRequestAnswerClarificationInputSchema = external_exports.object({
45334
- build_request_id: uuid11,
45411
+ build_request_id: uuid12,
45335
45412
  answers: external_exports.array(forgeClarificationAnswer).min(1).max(50),
45336
45413
  // The planner marks the plan ready once its questions are resolved; the human/COS can
45337
45414
  // signal that here. Default false keeps the plan in needs_clarification.
45338
45415
  mark_ready_for_plan_review: external_exports.boolean().default(false)
45339
45416
  }).strict();
45340
45417
  var softwareRequestAnswerClarificationOutputSchema = external_exports.object({
45341
- build_request_id: uuid11,
45342
- plan_version_id: uuid11,
45418
+ build_request_id: uuid12,
45419
+ plan_version_id: uuid12,
45343
45420
  status: softwarePlanVersionStatusSchema,
45344
45421
  answered_count: external_exports.number().int()
45345
45422
  });
45346
45423
  var softwarePlanApproveInputSchema = external_exports.object({
45347
- build_request_id: uuid11,
45424
+ build_request_id: uuid12,
45348
45425
  rationale: external_exports.string().trim().min(1).max(4e3).optional()
45349
45426
  }).strict();
45350
45427
  var softwarePlanRejectInputSchema = external_exports.object({
45351
- build_request_id: uuid11,
45428
+ build_request_id: uuid12,
45352
45429
  // A rejection must say why (it routes the request back to discovery/scoping).
45353
45430
  rationale: external_exports.string().trim().min(1).max(4e3)
45354
45431
  }).strict();
45355
45432
  var softwarePlanDecisionOutputSchema = external_exports.object({
45356
- build_request_id: uuid11,
45357
- plan_version_id: uuid11,
45433
+ build_request_id: uuid12,
45434
+ plan_version_id: uuid12,
45358
45435
  status: external_exports.enum(["approved", "rejected"]),
45359
- decision_id: uuid11,
45436
+ decision_id: uuid12,
45360
45437
  current_phase: softwarePhaseSchema
45361
45438
  });
45362
45439
  var forgeConformanceFindingInput = external_exports.object({
@@ -45364,41 +45441,41 @@ var forgeConformanceFindingInput = external_exports.object({
45364
45441
  category: softwareConformanceCategorySchema.default("other"),
45365
45442
  summary: external_exports.string().trim().min(1).max(2e3),
45366
45443
  detail: external_exports.string().trim().min(1).max(8e3).optional(),
45367
- changeset_id: uuid11.optional(),
45368
- plan_version_id: uuid11.optional()
45444
+ changeset_id: uuid12.optional(),
45445
+ plan_version_id: uuid12.optional()
45369
45446
  }).strict();
45370
45447
  var softwareConformanceRecordFindingsInputSchema = external_exports.object({
45371
- build_request_id: uuid11,
45372
- phase_run_id: uuid11.optional(),
45448
+ build_request_id: uuid12,
45449
+ phase_run_id: uuid12.optional(),
45373
45450
  findings: external_exports.array(forgeConformanceFindingInput).min(1).max(50)
45374
45451
  }).strict();
45375
45452
  var softwareConformanceRecordFindingsOutputSchema = external_exports.object({
45376
- build_request_id: uuid11,
45453
+ build_request_id: uuid12,
45377
45454
  recorded_count: external_exports.number().int(),
45378
- finding_ids: external_exports.array(uuid11),
45455
+ finding_ids: external_exports.array(uuid12),
45379
45456
  open_finding_count: external_exports.number().int()
45380
45457
  }).strict();
45381
45458
  var softwareConformanceResolveFindingInputSchema = external_exports.object({
45382
- build_request_id: uuid11,
45383
- finding_ids: external_exports.array(uuid11).min(1).max(50),
45459
+ build_request_id: uuid12,
45460
+ finding_ids: external_exports.array(uuid12).min(1).max(50),
45384
45461
  // The re-review run that verified the fix — provenance only (rides into the append-only audit
45385
45462
  // event; the finding row's resolution state is the durable transition).
45386
- phase_run_id: uuid11.optional()
45463
+ phase_run_id: uuid12.optional()
45387
45464
  }).strict();
45388
45465
  var softwareConformanceResolveFindingOutputSchema = external_exports.object({
45389
- build_request_id: uuid11,
45466
+ build_request_id: uuid12,
45390
45467
  resolved_count: external_exports.number().int(),
45391
- resolved_finding_ids: external_exports.array(uuid11),
45468
+ resolved_finding_ids: external_exports.array(uuid12),
45392
45469
  open_finding_count: external_exports.number().int()
45393
45470
  }).strict();
45394
45471
  var softwareAuthorityProfileListInputSchema = external_exports.object({
45395
- software_project_id: uuid11.nullable().optional()
45472
+ software_project_id: uuid12.nullable().optional()
45396
45473
  }).strict();
45397
45474
  var softwareAuthorityProfileListOutputSchema = external_exports.object({
45398
45475
  profiles: external_exports.array(softwareAuthorityProfileSummarySchema)
45399
45476
  });
45400
45477
  var softwareAuthorityProfileCreateInputSchema = external_exports.object({
45401
- software_project_id: uuid11.nullable().optional(),
45478
+ software_project_id: uuid12.nullable().optional(),
45402
45479
  name: external_exports.string().trim().min(1).max(120),
45403
45480
  preset: softwareAuthorityPresetSchema.default("read_only"),
45404
45481
  // A closed capability map (booleans by capability key). Never derived from
@@ -45407,77 +45484,77 @@ var softwareAuthorityProfileCreateInputSchema = external_exports.object({
45407
45484
  is_default: external_exports.boolean().optional()
45408
45485
  }).strict();
45409
45486
  var softwareAuthorityProfileCreateOutputSchema = external_exports.object({
45410
- profile_id: uuid11,
45487
+ profile_id: uuid12,
45411
45488
  name: external_exports.string(),
45412
45489
  preset: softwareAuthorityPresetSchema
45413
45490
  });
45414
45491
  var softwareAuthorityGrantInputSchema = external_exports.object({
45415
- software_project_id: uuid11,
45416
- seat_id: uuid11,
45417
- authority_profile_id: uuid11
45492
+ software_project_id: uuid12,
45493
+ seat_id: uuid12,
45494
+ authority_profile_id: uuid12
45418
45495
  }).strict();
45419
45496
  var softwareAuthorityGrantOutputSchema = external_exports.object({
45420
- grant_id: uuid11,
45421
- software_project_id: uuid11,
45422
- seat_id: uuid11,
45423
- authority_profile_id: uuid11,
45497
+ grant_id: uuid12,
45498
+ software_project_id: uuid12,
45499
+ seat_id: uuid12,
45500
+ authority_profile_id: uuid12,
45424
45501
  status: softwareGrantStatusSchema
45425
45502
  });
45426
45503
  var softwareAuthorityRevokeInputSchema = external_exports.object({
45427
- grant_id: uuid11
45504
+ grant_id: uuid12
45428
45505
  }).strict();
45429
45506
  var softwareAuthorityRevokeOutputSchema = external_exports.object({
45430
- grant_id: uuid11,
45507
+ grant_id: uuid12,
45431
45508
  status: softwareGrantStatusSchema
45432
45509
  });
45433
45510
  var softwareSecretRequestInputSchema = external_exports.object({
45434
- software_project_id: uuid11,
45511
+ software_project_id: uuid12,
45435
45512
  environment: softwareEnvironmentSchema,
45436
- seat_id: uuid11,
45513
+ seat_id: uuid12,
45437
45514
  action: softwareSecretActionSchema,
45438
45515
  key_name: softwareSecretKeyNameSchema,
45439
45516
  reason: external_exports.string().max(2e3).optional()
45440
45517
  }).strict();
45441
45518
  var softwareSecretRequestOutputSchema = external_exports.object({
45442
45519
  requested: external_exports.literal(true),
45443
- credential_request_id: uuid11,
45444
- approval_task_id: uuid11,
45445
- software_project_id: uuid11,
45520
+ credential_request_id: uuid12,
45521
+ approval_task_id: uuid12,
45522
+ software_project_id: uuid12,
45446
45523
  environment: softwareEnvironmentSchema,
45447
- seat_id: uuid11,
45524
+ seat_id: uuid12,
45448
45525
  key_name: external_exports.string()
45449
45526
  });
45450
45527
  var softwareSecretGrantInputSchema = external_exports.object({
45451
- software_project_id: uuid11,
45528
+ software_project_id: uuid12,
45452
45529
  environment: softwareEnvironmentSchema,
45453
- seat_id: uuid11,
45530
+ seat_id: uuid12,
45454
45531
  action: softwareSecretActionSchema,
45455
45532
  key_name: softwareSecretKeyNameSchema,
45456
45533
  // POINTER only. The vault ref shape refinement rejects any raw-secret value.
45457
45534
  vault_ref: softwareVaultRefSchema
45458
45535
  }).strict();
45459
45536
  var softwareSecretGrantOutputSchema = external_exports.object({
45460
- grant_id: uuid11,
45537
+ grant_id: uuid12,
45461
45538
  key_name: external_exports.string(),
45462
45539
  environment: softwareEnvironmentSchema,
45463
45540
  status: softwareGrantStatusSchema
45464
45541
  });
45465
45542
  var softwareSecretRevokeInputSchema = external_exports.object({
45466
- grant_id: uuid11
45543
+ grant_id: uuid12
45467
45544
  }).strict();
45468
45545
  var softwareSecretRevokeOutputSchema = external_exports.object({
45469
- grant_id: uuid11,
45546
+ grant_id: uuid12,
45470
45547
  status: softwareGrantStatusSchema
45471
45548
  });
45472
45549
  var softwareConfigListInputSchema = external_exports.object({
45473
- software_project_id: uuid11.nullable().optional(),
45550
+ software_project_id: uuid12.nullable().optional(),
45474
45551
  environment: softwareEnvironmentSchema.nullable().optional()
45475
45552
  }).strict();
45476
45553
  var softwareConfigListOutputSchema = external_exports.object({
45477
45554
  entries: external_exports.array(softwareConfigEntrySummarySchema)
45478
45555
  });
45479
45556
  var softwareConfigSetInputSchema = external_exports.object({
45480
- software_project_id: uuid11,
45557
+ software_project_id: uuid12,
45481
45558
  environment: softwareEnvironmentSchema,
45482
45559
  key_name: softwareSecretKeyNameSchema,
45483
45560
  value_kind: softwareConfigValueKindSchema,
@@ -45497,24 +45574,24 @@ var softwareConfigSetInputSchema = external_exports.object({
45497
45574
  }
45498
45575
  });
45499
45576
  var softwareConfigSetOutputSchema = external_exports.object({
45500
- config_entry_id: uuid11,
45501
- software_project_id: uuid11,
45577
+ config_entry_id: uuid12,
45578
+ software_project_id: uuid12,
45502
45579
  environment: softwareEnvironmentSchema,
45503
45580
  key_name: external_exports.string(),
45504
45581
  value_kind: softwareConfigValueKindSchema,
45505
45582
  has_secret_ref: external_exports.boolean()
45506
45583
  });
45507
45584
  var softwareSecretRequestListInputSchema = external_exports.object({
45508
- software_project_id: uuid11.nullable().optional(),
45585
+ software_project_id: uuid12.nullable().optional(),
45509
45586
  status: softwareCredentialRequestStatusSchema.nullable().optional()
45510
45587
  }).strict();
45511
45588
  var softwareSecretRequestListOutputSchema = external_exports.object({
45512
45589
  requests: external_exports.array(softwareCredentialRequestSummarySchema)
45513
45590
  });
45514
45591
  var softwareSecretUseInputSchema = external_exports.object({
45515
- software_project_id: uuid11,
45592
+ software_project_id: uuid12,
45516
45593
  environment: softwareEnvironmentSchema,
45517
- seat_id: uuid11,
45594
+ seat_id: uuid12,
45518
45595
  action: softwareSecretActionSchema,
45519
45596
  key_name: softwareSecretKeyNameSchema,
45520
45597
  operation: softwareSecretAccessOperationSchema.default("use")
@@ -45525,12 +45602,12 @@ var softwareSecretUseOutputSchema = external_exports.object({
45525
45602
  key_name: external_exports.string(),
45526
45603
  environment: softwareEnvironmentSchema,
45527
45604
  operation: softwareSecretAccessOperationSchema,
45528
- access_log_id: uuid11,
45529
- missing_request_id: uuid11.nullable(),
45605
+ access_log_id: uuid12,
45606
+ missing_request_id: uuid12.nullable(),
45530
45607
  redacted_summary: external_exports.record(external_exports.string(), external_exports.unknown())
45531
45608
  });
45532
45609
  var softwareCapacityListInputSchema = external_exports.object({
45533
- runner_id: uuid11.nullable().optional(),
45610
+ runner_id: uuid12.nullable().optional(),
45534
45611
  limit: external_exports.number().int().positive().max(200).optional()
45535
45612
  }).strict();
45536
45613
  var softwareCapacityListOutputSchema = external_exports.object({
@@ -45585,9 +45662,9 @@ var forgeTrustedControlSchema = external_exports.object({
45585
45662
  automation_mode: softwareAutomationModeSchema,
45586
45663
  inferred_risk: softwareRiskLevelSchema,
45587
45664
  risk_ceiling: softwareRiskLevelSchema.nullable().default(null),
45588
- authority_profile_ids: external_exports.array(uuid11).max(50).default([]),
45665
+ authority_profile_ids: external_exports.array(uuid12).max(50).default([]),
45589
45666
  active_secret_grant_count: external_exports.number().int().nonnegative().max(1e3).default(0),
45590
- pending_gate_ids: external_exports.array(uuid11).max(50).default([])
45667
+ pending_gate_ids: external_exports.array(uuid12).max(50).default([])
45591
45668
  }).strict();
45592
45669
  var forgeSeatSkillSchema = external_exports.object({
45593
45670
  slug: external_exports.string().trim().min(1).max(200),
@@ -45596,9 +45673,9 @@ var forgeSeatSkillSchema = external_exports.object({
45596
45673
  }).strict();
45597
45674
  var forgeRuntimeContextPacketSchema = external_exports.object({
45598
45675
  schema_version: external_exports.literal(1),
45599
- phase_run_id: uuid11,
45600
- build_request_id: uuid11,
45601
- software_project_id: uuid11,
45676
+ phase_run_id: uuid12,
45677
+ build_request_id: uuid12,
45678
+ software_project_id: uuid12,
45602
45679
  phase: softwarePhaseSchema,
45603
45680
  request_status: softwareRequestStatusSchema,
45604
45681
  project: external_exports.object({
@@ -45607,7 +45684,7 @@ var forgeRuntimeContextPacketSchema = external_exports.object({
45607
45684
  }).strict(),
45608
45685
  scheduler: external_exports.object({
45609
45686
  lease_model: external_exports.literal("work_order_claim_heartbeat"),
45610
- runner_id: uuid11,
45687
+ runner_id: uuid12,
45611
45688
  max_runner_sessions: external_exports.number().int().positive().max(8),
45612
45689
  model_account_state: external_exports.string().min(1).max(80),
45613
45690
  account_alias: external_exports.string().min(1).max(200).nullable()
@@ -45691,7 +45768,7 @@ var runnerTurnReportSchema = external_exports.object({
45691
45768
  var softwareDeveloperTeamInstallInputSchema = external_exports.object({
45692
45769
  // The human-accountable steward seat for the installed team. Agent seats created
45693
45770
  // by the template chain through this seat so no agent occupancy can be orphaned.
45694
- steward_seat_id: uuid11,
45771
+ steward_seat_id: uuid12,
45695
45772
  // Optional project scope for authority grants. Authority profile presets are
45696
45773
  // installed tenant-wide either way; grants are project-scoped only when supplied.
45697
45774
  // DER-1241: `.nullable()` too — this command is human-confirmed, so its input is
@@ -45699,7 +45776,7 @@ var softwareDeveloperTeamInstallInputSchema = external_exports.object({
45699
45776
  // replay; an empty project round-trips as JSON `null`, which a bare `.optional()`
45700
45777
  // rejects (→ "Command input failed schema validation"). Matches the sibling
45701
45778
  // software-factory schemas that already use `.nullable().optional()`.
45702
- software_project_id: uuid11.nullable().optional(),
45779
+ software_project_id: uuid12.nullable().optional(),
45703
45780
  assign_skills: external_exports.boolean().default(true),
45704
45781
  // DER-1264: the install auto-staffs live agents at a pr_only, observe-first
45705
45782
  // posture. If the tenant's company autonomy ceiling (`agent_policy`) is MORE
@@ -45719,34 +45796,34 @@ var softwareDeveloperTeamInstallInputSchema = external_exports.object({
45719
45796
  }).strict();
45720
45797
  var softwareDeveloperTeamSeatSummarySchema = external_exports.object({
45721
45798
  role: softwareDeveloperTeamRoleSchema,
45722
- seat_id: uuid11,
45799
+ seat_id: uuid12,
45723
45800
  name: external_exports.string(),
45724
- charter_version_id: uuid11,
45801
+ charter_version_id: uuid12,
45725
45802
  created: external_exports.boolean()
45726
45803
  });
45727
45804
  var softwareDeveloperTeamSkillSummarySchema = external_exports.object({
45728
45805
  slug: external_exports.string(),
45729
- skill_id: uuid11,
45730
- skill_version_id: uuid11,
45731
- assigned_seat_ids: external_exports.array(uuid11)
45806
+ skill_id: uuid12,
45807
+ skill_version_id: uuid12,
45808
+ assigned_seat_ids: external_exports.array(uuid12)
45732
45809
  });
45733
45810
  var softwareDeveloperTeamAuthorityProfileSummarySchema = external_exports.object({
45734
45811
  preset: softwareAuthorityPresetSchema,
45735
- profile_id: uuid11,
45812
+ profile_id: uuid12,
45736
45813
  name: external_exports.string()
45737
45814
  });
45738
45815
  var softwareDeveloperTeamAuthorityGrantSummarySchema = external_exports.object({
45739
45816
  role: softwareDeveloperTeamRoleSchema,
45740
- software_project_id: uuid11,
45741
- seat_id: uuid11,
45742
- authority_profile_id: uuid11,
45743
- grant_id: uuid11,
45817
+ software_project_id: uuid12,
45818
+ seat_id: uuid12,
45819
+ authority_profile_id: uuid12,
45820
+ grant_id: uuid12,
45744
45821
  created: external_exports.boolean()
45745
45822
  });
45746
45823
  var softwareDeveloperTeamOccupancySummarySchema = external_exports.object({
45747
45824
  role: softwareDeveloperTeamRoleSchema,
45748
- seat_id: uuid11,
45749
- agent_id: uuid11,
45825
+ seat_id: uuid12,
45826
+ agent_id: uuid12,
45750
45827
  template_slug: external_exports.string(),
45751
45828
  status: external_exports.literal("live"),
45752
45829
  // false when a live agent already occupied the seat (idempotent re-install).
@@ -45766,7 +45843,7 @@ var softwareDeveloperTeamTokenBudgetSummarySchema = external_exports.object({
45766
45843
  set_by_install: external_exports.boolean()
45767
45844
  });
45768
45845
  var softwareDeveloperTeamGithubPolicySummarySchema = external_exports.object({
45769
- software_project_id: uuid11,
45846
+ software_project_id: uuid12,
45770
45847
  automation_mode_ceiling: softwareAutomationModeSchema,
45771
45848
  // false when a pre-existing policy was preserved (not created by this install).
45772
45849
  created: external_exports.boolean()
@@ -45794,8 +45871,8 @@ var softwareDeveloperTeamUninstallInputSchema = external_exports.object({
45794
45871
  }).strict();
45795
45872
  var softwareDeveloperTeamDecommissionedAgentSchema = external_exports.object({
45796
45873
  role: softwareDeveloperTeamRoleSchema.nullable(),
45797
- seat_id: uuid11,
45798
- agent_id: uuid11
45874
+ seat_id: uuid12,
45875
+ agent_id: uuid12
45799
45876
  });
45800
45877
  var softwareDeveloperTeamUninstallOutputSchema = external_exports.object({
45801
45878
  torn_down: external_exports.boolean(),
@@ -45945,8 +46022,8 @@ var forgeMemoryDraftArtifact = external_exports.object({
45945
46022
  follow_up_items: forgeArtifactList
45946
46023
  }).strict();
45947
46024
  var softwareGithubAutomationPolicyInputSchema = external_exports.object({
45948
- software_project_id: uuid11,
45949
- authority_profile_id: uuid11.nullable().optional(),
46025
+ software_project_id: uuid12,
46026
+ authority_profile_id: uuid12.nullable().optional(),
45950
46027
  automation_mode_ceiling: softwareAutomationModeSchema.default("plan_only"),
45951
46028
  allowed_actions: external_exports.array(softwareGithubActionSchema).max(20),
45952
46029
  // DER-1233: the element schema is a single FLATTENED enum (the union of the
@@ -45982,12 +46059,12 @@ var softwareGithubInstallationConnectInputSchema = external_exports.object({
45982
46059
  repositories: external_exports.array(softwareGithubConnectedRepositoryInputSchema).min(1).max(200)
45983
46060
  }).strict();
45984
46061
  var softwareGithubInstallationConnectOutputSchema = external_exports.object({
45985
- github_installation_id: uuid11,
46062
+ github_installation_id: uuid12,
45986
46063
  repositories_connected: external_exports.number().int().nonnegative()
45987
46064
  });
45988
46065
  var softwareGithubRepositoryBindMappingSchema = external_exports.object({
45989
46066
  repository_id: external_exports.number().int().positive(),
45990
- software_project_id: uuid11
46067
+ software_project_id: uuid12
45991
46068
  }).strict();
45992
46069
  var softwareGithubInstallationBindInputSchema = external_exports.object({
45993
46070
  app_slug: external_exports.string().trim().min(1).max(120).default("rost-forge"),
@@ -45995,7 +46072,7 @@ var softwareGithubInstallationBindInputSchema = external_exports.object({
45995
46072
  bindings: external_exports.array(softwareGithubRepositoryBindMappingSchema).min(1).max(100)
45996
46073
  }).strict();
45997
46074
  var softwareGithubInstallationBindOutputSchema = external_exports.object({
45998
- github_installation_id: uuid11,
46075
+ github_installation_id: uuid12,
45999
46076
  repositories_bound: external_exports.number().int().nonnegative()
46000
46077
  });
46001
46078
  var softwareGithubRepositoryUnbindInputSchema = external_exports.object({
@@ -46016,12 +46093,12 @@ var softwareGithubInstallationRepositoryViewSchema = external_exports.object({
46016
46093
  private: external_exports.boolean(),
46017
46094
  default_branch: external_exports.string(),
46018
46095
  status: external_exports.enum(["connected", "active"]),
46019
- software_project_id: uuid11.nullable(),
46096
+ software_project_id: uuid12.nullable(),
46020
46097
  software_project_name: external_exports.string().nullable(),
46021
46098
  software_project_slug: external_exports.string().nullable()
46022
46099
  });
46023
46100
  var softwareGithubInstallationViewSchema = external_exports.object({
46024
- id: uuid11,
46101
+ id: uuid12,
46025
46102
  installation_id: external_exports.number().int().positive(),
46026
46103
  account_login: external_exports.string(),
46027
46104
  account_id: external_exports.number().int().positive(),
@@ -46033,17 +46110,17 @@ var softwareGithubInstallationListOutputSchema = external_exports.object({
46033
46110
  installations: external_exports.array(softwareGithubInstallationViewSchema)
46034
46111
  });
46035
46112
  var softwareGithubAutomationPolicyUpsertOutputSchema = external_exports.object({
46036
- policy_id: uuid11,
46037
- software_project_id: uuid11,
46113
+ policy_id: uuid12,
46114
+ software_project_id: uuid12,
46038
46115
  automation_mode_ceiling: softwareAutomationModeSchema,
46039
46116
  max_risk: softwareRiskLevelSchema.nullable()
46040
46117
  });
46041
46118
  var softwareGithubInstallationTokenCreateInputSchema = external_exports.object({
46042
- software_project_id: uuid11,
46119
+ software_project_id: uuid12,
46043
46120
  repository_id: external_exports.number().int().positive(),
46044
46121
  requested_actions: external_exports.array(softwareGithubActionSchema).min(1).max(20),
46045
46122
  requested_automation_mode: softwareAutomationModeSchema.default("plan_only"),
46046
- seat_id: uuid11.optional()
46123
+ seat_id: uuid12.optional()
46047
46124
  }).strict();
46048
46125
  var softwareGithubInstallationTokenCreateOutputSchema = external_exports.object({
46049
46126
  installation_id: external_exports.number().int().positive(),
@@ -46080,13 +46157,13 @@ var softwareVercelConnectionConnectInputSchema = external_exports.object({
46080
46157
  scopes: external_exports.array(external_exports.string().trim().min(1).max(120)).max(40).default([])
46081
46158
  }).strict();
46082
46159
  var softwareVercelConnectionConnectOutputSchema = external_exports.object({
46083
- vercel_connection_id: uuid11,
46160
+ vercel_connection_id: uuid12,
46084
46161
  account_id: external_exports.string(),
46085
46162
  team_id: external_exports.string().nullable()
46086
46163
  });
46087
46164
  var softwareVercelProjectLinkInputSchema = external_exports.object({
46088
- software_project_id: uuid11,
46089
- vercel_connection_id: uuid11,
46165
+ software_project_id: uuid12,
46166
+ vercel_connection_id: uuid12,
46090
46167
  vercel_project_id: external_exports.string().trim().min(1).max(200),
46091
46168
  vercel_project_name: external_exports.string().trim().min(1).max(255),
46092
46169
  framework: external_exports.string().trim().min(1).max(120).nullable().optional(),
@@ -46095,12 +46172,12 @@ var softwareVercelProjectLinkInputSchema = external_exports.object({
46095
46172
  git_repository: external_exports.record(external_exports.string().min(1), external_exports.unknown()).default({})
46096
46173
  }).strict();
46097
46174
  var softwareVercelProjectLinkOutputSchema = external_exports.object({
46098
- vercel_project_link_id: uuid11,
46099
- software_project_id: uuid11,
46175
+ vercel_project_link_id: uuid12,
46176
+ software_project_id: uuid12,
46100
46177
  vercel_project_id: external_exports.string()
46101
46178
  });
46102
46179
  var softwareVercelConnectionViewSchema = external_exports.object({
46103
- id: uuid11,
46180
+ id: uuid12,
46104
46181
  account_id: external_exports.string(),
46105
46182
  account_name: external_exports.string().nullable(),
46106
46183
  team_id: external_exports.string().nullable(),
@@ -46111,11 +46188,11 @@ var softwareVercelConnectionViewSchema = external_exports.object({
46111
46188
  connected_at: external_exports.string()
46112
46189
  });
46113
46190
  var softwareVercelProjectLinkViewSchema = external_exports.object({
46114
- id: uuid11,
46115
- software_project_id: uuid11,
46191
+ id: uuid12,
46192
+ software_project_id: uuid12,
46116
46193
  software_project_name: external_exports.string(),
46117
46194
  software_project_slug: external_exports.string(),
46118
- vercel_connection_id: uuid11,
46195
+ vercel_connection_id: uuid12,
46119
46196
  vercel_project_id: external_exports.string(),
46120
46197
  vercel_project_name: external_exports.string(),
46121
46198
  framework: external_exports.string().nullable(),
@@ -46129,16 +46206,16 @@ var softwareVercelProjectListOutputSchema = external_exports.object({
46129
46206
  project_links: external_exports.array(softwareVercelProjectLinkViewSchema)
46130
46207
  });
46131
46208
  var softwareVercelDeployPreviewInputSchema = external_exports.object({
46132
- software_project_id: uuid11,
46209
+ software_project_id: uuid12,
46133
46210
  commit_sha: external_exports.string().trim().regex(/^[A-Fa-f0-9]{7,64}$/),
46134
46211
  git_ref: external_exports.string().trim().min(1).max(255),
46135
- build_request_id: uuid11.optional(),
46136
- phase_run_id: uuid11.optional(),
46137
- seat_id: uuid11.optional(),
46212
+ build_request_id: uuid12.optional(),
46213
+ phase_run_id: uuid12.optional(),
46214
+ seat_id: uuid12.optional(),
46138
46215
  required_secret_keys: external_exports.array(external_exports.string().trim().min(1).max(200)).max(25).default([])
46139
46216
  }).strict();
46140
46217
  var softwareVercelDeployPreviewOutputSchema = external_exports.object({
46141
- vercel_deployment_record_id: uuid11,
46218
+ vercel_deployment_record_id: uuid12,
46142
46219
  deployment_id: external_exports.string(),
46143
46220
  deployment_url: external_exports.string().nullable(),
46144
46221
  commit_sha: external_exports.string(),
@@ -46146,18 +46223,18 @@ var softwareVercelDeployPreviewOutputSchema = external_exports.object({
46146
46223
  });
46147
46224
 
46148
46225
  // ../../packages/protocol/src/software-factory-events.ts
46149
- var uuid12 = external_exports.string().uuid();
46226
+ var uuid13 = external_exports.string().uuid();
46150
46227
  var softwareFactoryPhaseRunCompletedEventSchema = external_exports.object({
46151
- tenantId: uuid12,
46152
- phaseRunId: uuid12,
46153
- buildRequestId: uuid12.nullish(),
46228
+ tenantId: uuid13,
46229
+ phaseRunId: uuid13,
46230
+ buildRequestId: uuid13.nullish(),
46154
46231
  status: external_exports.enum(["passed", "failed"]),
46155
46232
  idempotencyKey: external_exports.string().min(1).optional()
46156
46233
  }).strict();
46157
46234
  var softwareFactoryBudgetExhaustedEventSchema = external_exports.object({
46158
- tenantId: uuid12,
46159
- phaseRunId: uuid12,
46160
- buildRequestId: uuid12,
46235
+ tenantId: uuid13,
46236
+ phaseRunId: uuid13,
46237
+ buildRequestId: uuid13,
46161
46238
  reason: external_exports.string().min(1),
46162
46239
  idempotencyKey: external_exports.string().min(1).optional()
46163
46240
  }).strict();
@@ -48347,7 +48424,7 @@ External connectors are being rolled out provider by provider, conservatively (r
48347
48424
  order: 48,
48348
48425
  title: "CLI and MCP installation guide",
48349
48426
  summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
48350
- version: "2026-07-16.7",
48427
+ version: "2026-07-16.9",
48351
48428
  public: true,
48352
48429
  audiences: ["human", "cli", "mcp", "in_app_agent"],
48353
48430
  stages: ["company_setup", "staffing"],
@@ -48958,6 +49035,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
48958
49035
  | \`rost_list_agent_runs\` | \`agent.list_runs\` | Read a seat's agent run history (status, lane, model, cost, per-run Skill activation, tool-call, guard-denied, 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. |
48959
49036
  | \`rost_get_agent_run_diagnostics\` | \`agent.get_run\` | Read one run's diagnostic record: transcript reference, token/cost usage, outcome, linked product-visible run errors, and loaded Skill activation file metadata. File hashes/sizes identify the immutable source package, while model prompt text may be bounded or truncated. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>","run_id":"<run-id>"}\`. |
48960
49037
  | \`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. |
49038
+ | \`rost_watch_agent_run\` | \`agent.watch_run\` | Read a read-only live snapshot of one seat run: status/lane, derived current work-state, run-heartbeat (quiet-but-healthy vs stalled) with current phase, the persisted session transcript, and the run's tool-call step feed. Never returns secret material. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>","run_id":"<run-id>"}\`; read-only and reflects the run's current live state. |
48961
49039
  | \`rost_list_agent_deliverables\` | \`deliverable.list\` | List durable agent deliverables for a seat, including explicit outputs and successful-run summaries. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>"}\`. |
48962
49040
  | \`rost_get_agent_deliverable\` | \`deliverable.get\` | Read one durable agent deliverable by id for a seat. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>","deliverable_id":"<id>"}\`. |
48963
49041
  | \`rost_accept_deliverable_value\` | \`deliverable.accept\` | 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. | Tenant-admin | Call with \`{"deliverable_id":"<id>","impact_value_usd":<number>}\`; expect human confirmation. |
@@ -49190,6 +49268,7 @@ Seat-scoped MCP tokens expose the operating protocol below. The server still che
49190
49268
  | \`rost_list_brokered_secret_grants\` | \`secret_grant.list\` | List the seat's own brokered secret grants. Returns egress allowlist metadata only (host, path prefix, methods, scope, status), never the vault ref or any secret. | Seat | Call with {} (an agent is server-pinned to its own seat). |
49191
49269
  | \`rost_record_forge_conformance_findings\` | \`software_factory.conformance.record_findings\` | A Forge review seat (plan conformance, security, or QA) records structured findings as reviewer evidence. Set \`changeset_id\` on a finding that targets a specific changeset. Open findings route the request back to implementation; accepting a gap remains a separate human gate. Requires the seat's signed manifest grant. | Seat | Call with \`{"build_request_id":"<request-id>","findings":[{"severity":"major","category":"scope_gap","summary":"Missing migration verification","changeset_id":"<changeset-id>"}]}\`. |
49192
49270
  | \`rost_resolve_forge_conformance_finding\` | \`software_factory.conformance.resolve_finding\` | A Forge review seat marks a prior open finding resolved after re-reviewing the changeset and verifying it is fixed (reviewer verification, not human gap-acceptance). A resolved finding stops routing the request back to implementation, so the recycle loop converges. Requires the seat's signed manifest grant. | Seat | Call with \`{"build_request_id":"<request-id>","finding_ids":["<finding-id>"]}\`. |
49271
+ | \`rost_decide_a_conversational_gate\` | \`gate.decide\` | A seat agent DRAFTS a conversational gate approval bound to an artifact digest; the call stages a pending confirmation and a human owner/admin CONFIRMS it via /approvals (invariant #7 \u2014 an agent drafts, never self-decides). A stale artifact digest (the artifact changed since the gate was drafted) re-blocks and refuses. | Seat (draft; owner/admin decides) | Call with \`{"subject_kind":"artifact","subject_id":"<id>","artifact_ref":{"href":"<url>","label":"<label>"},"artifact_digest":"sha256:<digest>","decision":"approve","ask":"Ship it?","consequence":"Unblocks implementation."}\`; the seat-agent caller receives a confirmation handoff and the owner/admin decides. |
49193
49272
 
49194
49273
  ### MCP operation resources
49195
49274
 
@@ -52416,6 +52495,7 @@ var COMMAND_MANIFEST = [
52416
52495
  { "id": "agent.trust.revoke", "namespace": "agent", "action": "trust.revoke", "title": "Revoke agent Trusted grant", "description": "Human steward/admin revocation for an active Trusted execution grant. Preserves the historical grant row and appends an event.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "grant_id", "flag": "grant-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Revoke an active Trusted grant while preserving history. Human steward/admin only." },
52417
52496
  { "id": "agent.trust.supersede", "namespace": "agent", "action": "trust.supersede", "title": "Supersede agent Trusted grant", "description": "Human steward/admin replacement for an active Trusted grant. Refuses stale receipt digests and links the new grant to the superseded grant.", "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": "expires_at", "flag": "expires-at", "type": "string", "required": false }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Replace the active Trusted grant with a fresh digest and budget. Rebuild the receipt first; stale digests are refused." },
52418
52497
  { "id": "agent.update_schedule", "namespace": "agent", "action": "update_schedule", "title": "Update agent schedule", "description": "Set or clear the scheduled execution cron for a draft or live agent on a seat.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "schedule_cron", "flag": "schedule-cron", "type": "string", "required": true }], "hasComplexInput": false, "help": "Set or clear an agent's scheduled execution; a live scheduled agent must keep a steward chain resolving to a human." },
52498
+ { "id": "agent.watch_run", "namespace": "agent", "action": "watch_run", "title": "Watch agent run", "description": "Return a read-only live snapshot of one seat run: run status and lane, the derived current work-state, the run-heartbeat (quiet-but-healthy vs stalled) with current phase, the persisted session transcript, and the run's tool-call step feed (tool name, guard result, outcome). Never returns argument summaries or secret material.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "run_id", "flag": "run-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Watch one run live (read-only): run status, derived work-state, quiet-vs-stalled heartbeat, transcript, and the tool-call step feed." },
52419
52499
  { "id": "aicos.brain_settings.get", "namespace": "aicos", "action": "brain_settings.get", "title": "Get AICOS brain settings", "description": "Read the AICOS run lane and brain selection. Returns labels and enum settings only; no secrets or vault refs.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read the AICOS lane and brain selection labels without returning provider keys, vault refs, or runner secrets." },
52420
52500
  { "id": "aicos.brain_settings.update", "namespace": "aicos", "action": "brain_settings.update", "title": "Update AICOS brain settings", "description": "Update the AICOS lane and cloud/runner brain preferences. Owner-only and audited.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "lane", "flag": "lane", "type": "enum", "required": false, "enumValues": ["cloud", "runner", "mcp"] }, { "name": "cloud_brain", "flag": "cloud-brain", "type": "enum", "required": false, "enumValues": ["managed", "byok"] }, { "name": "runner_brain", "flag": "runner-brain", "type": "enum", "required": false, "enumValues": ["claude-cli", "codex-cli"] }, { "name": "cloud_model_slug", "flag": "cloud-model-slug", "type": "string", "required": false }], "hasComplexInput": false, "help": "Owner-only update for AICOS cloud managed/BYOK and runner Claude/Codex preferences; BYOK requires an active tenant Anthropic key." },
52421
52501
  { "id": "cascade.import", "namespace": "cascade", "action": "import", "title": "Import Rocks from a ninety Rocks export", "description": "Bulk-import a ninety Rocks export into the Cascade as cycle goals under a company objective in the active cycle. Owners are seat names resolved to seats. Requires an active cycle and a target company objective (auto-selected when exactly one exists, else pass parent_objective_id). Idempotent \u2014 re-importing the same export is a no-op, and an existing cycle goal with the same objective + seat + title is skipped.", "requiredScope": "tenant_admin", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "dry_run", "flag": "dry-run", "type": "boolean", "required": false }, { "name": "parent_objective_id", "flag": "parent-objective-id", "type": "string", "required": false }], "hasComplexInput": true, "help": "Import a ninety Rocks export into the Cascade as cycle goals under a company objective in the active cycle; owners resolve to seats." },
@@ -52477,6 +52557,7 @@ var COMMAND_MANIFEST = [
52477
52557
  { "id": "friction.resolve", "namespace": "friction", "action": "resolve", "title": "Resolve Friction issue", "description": 'Resolve an issue with a root cause. In the default "ids" resolution_mode this also creates a remediation follow-up task; "already_fixed" records only the root cause (no follow-up task). Always records a human decision (decided_by) in the same transaction.', "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "issue_id", "flag": "issue-id", "type": "string", "required": true }, { "name": "resolution_mode", "flag": "resolution-mode", "type": "enum", "required": false, "enumValues": ["ids", "already_fixed"] }, { "name": "root_cause", "flag": "root-cause", "type": "string", "required": true }, { "name": "owner_seat_id", "flag": "owner-seat-id", "type": "string", "required": false }, { "name": "task_title", "flag": "task-title", "type": "string", "required": false }, { "name": "task_description", "flag": "task-description", "type": "string", "required": false }, { "name": "done_by", "flag": "done-by", "type": "string", "required": false }, { "name": "resolving_seat_id", "flag": "resolving-seat-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Resolve an issue with a root cause and remediation task; resolution is a human decision." },
52478
52558
  { "id": "friction.stale_candidates", "namespace": "friction", "action": "stale_candidates", "title": "Find stale friction", "description": "List open or diagnosing Friction issues whose linked remediation task has already shipped, making them high-confidence candidates for bulk resolution, with per-row evidence. Read-only \u2014 it never resolves anything.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "stale_after_days", "flag": "stale-after-days", "type": "integer", "required": false }, { "name": "limit", "flag": "limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "List open or diagnosing issues whose remediation task already shipped \u2014 high-confidence candidates for a bulk close-the-loop pass. Read-only." },
52479
52559
  { "id": "friction.update_status", "namespace": "friction", "action": "update_status", "title": "Update Friction issue status", "description": "Move a non-terminal issue between open and diagnosing. Terminal issues (resolved/dropped) cannot be reopened here.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "issue_id", "flag": "issue-id", "type": "string", "required": true }, { "name": "status", "flag": "status", "type": "enum", "required": true, "enumValues": ["open", "diagnosing"] }], "hasComplexInput": false, "help": "Move a non-terminal issue between open and diagnosing while it is being worked." },
52560
+ { "id": "gate.decide", "namespace": "gate", "action": "decide", "title": "Decide a conversational gate", "description": "A human approves or rejects a conversational gate bound to an artifact digest (a prototype URL, deliverable, or artifact). The agent drafts the decision and the human confirms it; the resolver is always a human (invariant #7). On approval the artifact must be unchanged since the gate was drafted \u2014 a stale digest re-blocks. Requires confirmation.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "subject_kind", "flag": "subject-kind", "type": "enum", "required": true, "enumValues": ["prototype", "deliverable", "artifact"] }, { "name": "subject_id", "flag": "subject-id", "type": "string", "required": true }, { "name": "artifact_digest", "flag": "artifact-digest", "type": "string", "required": true }, { "name": "decision", "flag": "decision", "type": "enum", "required": true, "enumValues": ["approve", "reject"] }, { "name": "ask", "flag": "ask", "type": "string", "required": true }, { "name": "consequence", "flag": "consequence", "type": "string", "required": true }, { "name": "unblocked_targets", "flag": "unblocked-targets", "type": "array", "required": false, "itemType": "string" }, { "name": "rationale", "flag": "rationale", "type": "string", "required": false }], "hasComplexInput": true, "help": "A human approves or rejects a conversational gate bound to an artifact digest; the agent drafts, the human confirms (invariant #7)." },
52480
52561
  { "id": "goal.bind_measurable", "namespace": "goal", "action": "bind_measurable", "title": "Bind a Signal to a Cascade goal", "description": "Bind a measurable to a goal. Role defaults to 'informs' \u2014 a conservative informative indicator allowed at any goal level (many per goal) that never changes goal status. Role 'drives_status' makes it the goal's status driver: allowed only on a childless seat goal or milestone, at most one per goal, requires a second_anchor (a prior closed period + expected value confirming the Signal matched the books), and auto-status starts OFF until a steward opts in with goal.set_auto_status. Binding a driver over an existing informs binding of the same Signal promotes it. Binding is human-gated.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "measurable_id", "flag": "measurable-id", "type": "string", "required": true }, { "name": "role", "flag": "role", "type": "enum", "required": false, "enumValues": ["drives_status", "informs"] }], "hasComplexInput": true, "help": "Bind a Signal to a goal. Defaults to role informs (a conservative indicator at any level that never changes status); pass role drives_status with a second_anchor (a prior closed period + expected value confirming the Signal matched the books) to make it a childless leaf goal's status driver \u2014 this promotes an existing informs binding (auto-status starts OFF until a steward opts in)." },
52481
52562
  { "id": "goal.create", "namespace": "goal", "action": "create", "title": "Create Cascade goal", "description": "Create a cycle goal under an existing objective. The parent chain must terminate at a Compass objective in the same cycle (enforced server-side).", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "cycle_id", "flag": "cycle-id", "type": "string", "required": true }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "parent_goal_id", "flag": "parent-goal-id", "type": "string", "required": true }, { "name": "title", "flag": "title", "type": "string", "required": true }, { "name": "definition_of_done", "flag": "definition-of-done", "type": "string", "required": true }, { "name": "status", "flag": "status", "type": "enum", "required": false, "enumValues": ["on", "off"] }], "hasComplexInput": false, "help": "Create cycle goals under an existing objective; the parent chain must terminate at a Compass objective." },
52482
52563
  { "id": "goal.drop", "namespace": "goal", "action": "drop", "title": "Drop Cascade goal", "description": "Drop (retire) a goal by setting status to dropped. Dropping retires the commitment, so it is human-gated. The row is retained for audit (never deleted).", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Drop a goal to retire a commitment; the goal is retained for audit and dropping is human-gated." },