@rosthq/cli 0.7.92 → 0.7.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/command-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,EAAE,SAAS,oBAAoB,
|
|
1
|
+
{"version":3,"file":"command-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/command-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,EAAE,SAAS,oBAAoB,EAkR3D,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -44989,6 +44989,27 @@ var softwareDispatchPreviewItemSchema = external_exports.object({
|
|
|
44989
44989
|
hold_reason: softwareDispatchHoldReasonSchema.nullable(),
|
|
44990
44990
|
hold_detail: external_exports.string().nullable()
|
|
44991
44991
|
}).strict();
|
|
44992
|
+
var softwareTouchSetCollisionKindSchema = external_exports.enum([
|
|
44993
|
+
"same_file",
|
|
44994
|
+
"same_package",
|
|
44995
|
+
"same_version_holder"
|
|
44996
|
+
]);
|
|
44997
|
+
var softwareTouchSetRefSchema = external_exports.object({ id: external_exports.string().min(1), label: external_exports.string() }).strict();
|
|
44998
|
+
var softwareTouchSetCollisionSchema = external_exports.object({
|
|
44999
|
+
a: softwareTouchSetRefSchema,
|
|
45000
|
+
b: softwareTouchSetRefSchema,
|
|
45001
|
+
kind: softwareTouchSetCollisionKindSchema,
|
|
45002
|
+
// The concrete overlap basis: shared file paths (`same_file`), shared package ids
|
|
45003
|
+
// (`same_package`), or the contended version-holder surfaces (`same_version_holder`).
|
|
45004
|
+
// Always non-empty — a collision without an overlap basis is never emitted.
|
|
45005
|
+
overlap: external_exports.array(external_exports.string()).min(1)
|
|
45006
|
+
}).strict();
|
|
45007
|
+
var softwareCrossRequestCollisionGroupSchema = external_exports.object({
|
|
45008
|
+
software_project_id: uuid11,
|
|
45009
|
+
requests: external_exports.array(softwareTouchSetRefSchema),
|
|
45010
|
+
collisions: external_exports.array(softwareTouchSetCollisionSchema),
|
|
45011
|
+
unknown: external_exports.array(softwareTouchSetRefSchema)
|
|
45012
|
+
}).strict();
|
|
44992
45013
|
var softwareDispatchPreviewSchema = external_exports.object({
|
|
44993
45014
|
status: external_exports.enum(["ready", "grooming", "held"]),
|
|
44994
45015
|
digest: external_exports.string().min(1),
|
|
@@ -45000,6 +45021,11 @@ var softwareDispatchPreviewSchema = external_exports.object({
|
|
|
45000
45021
|
to_task_key: external_exports.string()
|
|
45001
45022
|
}).strict()).default([]),
|
|
45002
45023
|
serial_lanes: external_exports.array(external_exports.string()).default([]),
|
|
45024
|
+
// DER-1545: advisory intra-request touch-set collisions derived from the tasks'
|
|
45025
|
+
// declared `files_likely` (validates the planner's `parallelizable` claims), plus the
|
|
45026
|
+
// tasks whose touch-set is undeclared (rendered "unknown", never fabricated).
|
|
45027
|
+
file_collisions: external_exports.array(softwareTouchSetCollisionSchema).default([]),
|
|
45028
|
+
unknown_touch_sets: external_exports.array(softwareTouchSetRefSchema).default([]),
|
|
45003
45029
|
estimated_turns: external_exports.number().int().nullable(),
|
|
45004
45030
|
runner_requirements: softwareDispatchPreviewRunnerRequirementSchema,
|
|
45005
45031
|
authority_budget_envelope: external_exports.object({
|
|
@@ -45280,6 +45306,26 @@ var softwareGateDecideOutputSchema = external_exports.object({
|
|
|
45280
45306
|
resolved_by_user_id: uuid11,
|
|
45281
45307
|
decision_id: uuid11.nullable()
|
|
45282
45308
|
});
|
|
45309
|
+
var softwareDispatchSerializeInputSchema = external_exports.object({
|
|
45310
|
+
build_request_id: uuid11,
|
|
45311
|
+
// The task that must run FIRST (the dependency target).
|
|
45312
|
+
before_task_key: external_exports.string().trim().min(1).max(200),
|
|
45313
|
+
// The task that gains the depends_on edge and runs AFTER `before_task_key`.
|
|
45314
|
+
after_task_key: external_exports.string().trim().min(1).max(200),
|
|
45315
|
+
rationale: external_exports.string().trim().min(1).max(2e3).optional()
|
|
45316
|
+
}).strict().refine((value) => value.before_task_key !== value.after_task_key, {
|
|
45317
|
+
message: "before_task_key and after_task_key must differ.",
|
|
45318
|
+
path: ["after_task_key"]
|
|
45319
|
+
});
|
|
45320
|
+
var softwareDispatchSerializeOutputSchema = external_exports.object({
|
|
45321
|
+
build_request_id: uuid11,
|
|
45322
|
+
before_task_key: external_exports.string(),
|
|
45323
|
+
after_task_key: external_exports.string(),
|
|
45324
|
+
// false when the edge already existed (idempotent no-op) — still a valid, audited call.
|
|
45325
|
+
edge_added: external_exports.boolean(),
|
|
45326
|
+
decision_id: uuid11.nullable(),
|
|
45327
|
+
event_id: uuid11.nullable()
|
|
45328
|
+
}).strict();
|
|
45283
45329
|
var forgeClarificationAnswer = external_exports.object({
|
|
45284
45330
|
question: external_exports.string().trim().min(1).max(2e3),
|
|
45285
45331
|
answer: external_exports.string().trim().min(1).max(4e3)
|
|
@@ -48301,7 +48347,7 @@ External connectors are being rolled out provider by provider, conservatively (r
|
|
|
48301
48347
|
order: 48,
|
|
48302
48348
|
title: "CLI and MCP installation guide",
|
|
48303
48349
|
summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
|
|
48304
|
-
version: "2026-07-16.
|
|
48350
|
+
version: "2026-07-16.7",
|
|
48305
48351
|
public: true,
|
|
48306
48352
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
48307
48353
|
stages: ["company_setup", "staffing"],
|
|
@@ -49068,6 +49114,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
49068
49114
|
| \`rost_show_a_forge_build_request\` | \`software_factory.request.show\` | The Forge request detail: the request, current phase, signed dispatch preview, phase-run history, gates, and current \`scheduler_state\` remediation. Read-only; requires the Forge add-on. | Tenant | Call with \`{"build_request_id":"<request-id>"}\`. |
|
|
49069
49115
|
| \`rost_advance_a_forge_build_request_phase\` | \`software_factory.phase.advance\` | Advance a build request to its next phase; the server enforces the closed phase state machine and rejects an illegal transition. | Tenant | Call with \`{"build_request_id":"<request-id>","to_phase":"discovery_scoping"}\`. |
|
|
49070
49116
|
| \`rost_decide_a_forge_gate\` | \`software_factory.gate.decide\` | A human approves or rejects a Forge gate; an agent caller routes to \`/approvals\` and can never self-approve. Sensitive gates record a linked human decision. | Tenant | Call with \`{"gate_id":"<gate-id>","decision":"approve"}\`; non-interactive callers receive a confirmation handoff. |
|
|
49117
|
+
| \`rost_serialize_a_forge_dispatch_collision\` | \`software_factory.dispatch.serialize\` | A human appends a tightening depends_on edge to serialize two colliding Forge tasks (advisory-driven; never auto-blocks). Records a human decision. | Tenant-admin | Call with \`{"build_request_id":"<request-id>","before_task_key":"<key>","after_task_key":"<key>"}\`; non-interactive callers receive a confirmation handoff. |
|
|
49071
49118
|
| \`rost_answer_forge_plan_clarifications\` | \`software_factory.request.answer_clarification\` | Write structured human answers to a draft plan's clarifying questions and optionally mark it ready for plan review; answers append to the versioned planning artifact and never widen authority or automation mode. | Tenant | Call with \`{"build_request_id":"<request-id>","answers":[{"question":"Which database?","answer":"Postgres"}],"mark_ready_for_plan_review":true}\`. |
|
|
49072
49119
|
| \`rost_approve_a_forge_plan\` | \`software_factory.plan.approve\` | A human approves the current plan at the plan_review gate; records a human decision and advances the request to implementation. Owner-only and human-gated. | Tenant-admin | Call with \`{"build_request_id":"<request-id>"}\`; non-interactive callers receive a confirmation handoff. |
|
|
49073
49120
|
| \`rost_reject_a_forge_plan\` | \`software_factory.plan.reject\` | A human rejects the current plan (with a required rationale) and routes the request back to discovery/scoping for re-planning. Owner-only and human-gated. | Tenant-admin | Call with \`{"build_request_id":"<request-id>","rationale":"Scope too broad"}\`; non-interactive callers receive a confirmation handoff. |
|
|
@@ -52537,6 +52584,7 @@ var COMMAND_MANIFEST = [
|
|
|
52537
52584
|
{ "id": "software_factory.conformance.resolve_finding", "namespace": "software_factory", "action": "conformance.resolve_finding", "title": "Resolve Forge conformance finding", "description": "A Forge review seat marks one or more prior open conformance findings resolved after re-reviewing the changeset and verifying they are fixed. This is reviewer verification, not gap-acceptance (accepting a gap stays a separate human gate). A resolved finding stops routing the request back to implementation, letting the recycle loop converge. Requires the Forge add-on.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "build_request_id", "flag": "build-request-id", "type": "string", "required": true }, { "name": "finding_ids", "flag": "finding-ids", "type": "array", "required": true, "itemType": "string" }, { "name": "phase_run_id", "flag": "phase-run-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Resolve a prior open Forge conformance finding 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, letting the recycle loop converge." },
|
|
52538
52585
|
{ "id": "software_factory.developer_team.install", "namespace": "software_factory", "action": "developer_team.install", "title": "Install Forge Developer Team", "description": "Install AND activate the governed Forge Developer Team: 8 seats (1 human lead + 7 agents), first-party skills, authority presets, and a conservative token budget. Approving this ACTIVATES the 7 agents as live occupancies at a pr_only, observe-first posture: they open pull requests but never merge or deploy without a human (the Release Manager auto-merges only after a human raises the automation-mode ceiling). Entitlement-gated and human-confirmed.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "steward_seat_id", "flag": "steward-seat-id", "type": "string", "required": true }, { "name": "software_project_id", "flag": "software-project-id", "type": "string", "required": false }, { "name": "assign_skills", "flag": "assign-skills", "type": "boolean", "required": false }, { "name": "acknowledge_autonomy_ceiling", "flag": "acknowledge-autonomy-ceiling", "type": "boolean", "required": false }], "hasComplexInput": true, "help": "Install the governed Forge Developer Team template with seats, draft Charters, skills, project authority grants, and audit records. Tenant-admin and human-gated; creates no live agent occupancy." },
|
|
52539
52586
|
{ "id": "software_factory.developer_team.uninstall", "namespace": "software_factory", "action": "developer_team.uninstall", "title": "Uninstall Forge Developer Team", "description": "Tear down the governed Forge Developer Team (ADR-0018 \xA76): end the auto-staffed agent occupancies in a no-orphan-safe order, decommission the agents, and revoke the team's project authority and secret grants. The human Forge Lead seat is left intact; re-installing re-staffs the team. The entitlement-lapse variant runs the same teardown path without re-checking the Forge paywall. Owner-only, human-gated, and audited.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "reason", "flag": "reason", "type": "string", "required": false }, { "name": "trigger", "flag": "trigger", "type": "enum", "required": false, "enumValues": ["manual", "entitlement_lapse"] }], "hasComplexInput": false, "help": "Tear down the Forge Developer Team (teardown \u2014 ADR-0018 \xA76): end the agent occupancies in a no-orphan-safe order, decommission the agents, and revoke the team's authority and secret grants. The human Forge Lead seat stays. Owner-only and human-gated; the entitlement-lapse variant runs the same teardown path." },
|
|
52587
|
+
{ "id": "software_factory.dispatch.serialize", "namespace": "software_factory", "action": "dispatch.serialize", "title": "Serialize a Forge dispatch collision", "description": "A human appends a tightening depends_on edge to serialize two colliding Forge tasks within one build request (advisory-driven; never auto-blocks). Records a human decision. Requires confirmation.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "build_request_id", "flag": "build-request-id", "type": "string", "required": true }, { "name": "before_task_key", "flag": "before-task-key", "type": "string", "required": true }, { "name": "after_task_key", "flag": "after-task-key", "type": "string", "required": true }, { "name": "rationale", "flag": "rationale", "type": "string", "required": false }], "hasComplexInput": false, "help": "A human appends a tightening depends_on edge to serialize two colliding Forge tasks within one build request (advisory-driven; never auto-blocks). Records a human decision." },
|
|
52540
52588
|
{ "id": "software_factory.gate.decide", "namespace": "software_factory", "action": "gate.decide", "title": "Decide a Forge gate", "description": "A human approves or rejects a Forge gate. The resolver is recorded (never an agent \u2014 invariant #7); sensitive gates (security sign-off, merge/deploy, authority change, production deploy) also write a linked human decision. Requires confirmation.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "gate_id", "flag": "gate-id", "type": "string", "required": true }, { "name": "decision", "flag": "decision", "type": "enum", "required": true, "enumValues": ["approve", "reject"] }, { "name": "rationale", "flag": "rationale", "type": "string", "required": false }], "hasComplexInput": false, "help": "A human approves or rejects a Forge gate; an agent caller routes to /approvals and can never self-approve. Sensitive gates record a human decision." },
|
|
52541
52589
|
{ "id": "software_factory.github.installation_token.create", "namespace": "software_factory", "action": "github.installation_token.create", "title": "Create a Forge GitHub installation token", "description": "Mint a short-lived GitHub App installation token for one bound repository after server-side policy evaluation. The token is returned once and never persisted.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "software_project_id", "flag": "software-project-id", "type": "string", "required": true }, { "name": "repository_id", "flag": "repository-id", "type": "integer", "required": true }, { "name": "requested_actions", "flag": "requested-actions", "type": "array", "required": true, "itemType": "string" }, { "name": "requested_automation_mode", "flag": "requested-automation-mode", "type": "enum", "required": false, "enumValues": ["plan_only", "pr_only", "merge_after_checks", "deploy_preview", "deploy_production"] }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Mint a short-lived GitHub App installation token for one bound repository after policy evaluation; token material is returned once and never stored." },
|
|
52542
52590
|
{ "id": "software_factory.github.installation.bind", "namespace": "software_factory", "action": "github.installation.bind", "title": "Bind Forge GitHub repositories to projects", "description": "Bind already-connected GitHub repositories to Forge projects. Owner-only and human-gated; operates on repositories already verified and connected in this tenant, so no GitHub re-authorization is required. Available any time, add or re-map bindings.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": false, "fields": [{ "name": "app_slug", "flag": "app-slug", "type": "string", "required": false }, { "name": "installation_id", "flag": "installation-id", "type": "integer", "required": true }], "hasComplexInput": true, "help": "Bind already-connected GitHub repositories to Forge projects from the Forge GitHub settings flow. Owner-only and human-gated; no GitHub re-authorization required." },
|