@rosthq/cli 0.7.160 → 0.7.161
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 +567 -484
- package/dist/index.js.map +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13304,7 +13304,7 @@ var init_command_discovery = __esm({
|
|
|
13304
13304
|
{ "id": "agent.update_schedule", "title": "Update agent schedule", "description": "Set or clear the scheduled execution cron for a draft or live agent on a seat.", "required_scope": "tenant", "confirmation": "human_required", "trusted_execution": { "mode": "eligible_bounded", "risk_flags": [], "rationale": "Setting or changing a seat's routine schedule is a bounded, reversible worker action safe to auto-apply under a standing Trusted grant." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "schedule_cron": { "anyOf": [{ "type": "string", "minLength": 1, "maxLength": 120 }, { "type": "null" }] }, "schedule_timezone": { "type": "string", "minLength": 1, "maxLength": 100 } }, "required": ["seat_id", "schedule_cron"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "agent_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "schedule_cron": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "schedule_timezone": { "type": "string" }, "schedule_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "schedule_revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["seat_id", "agent_id", "schedule_cron", "schedule_timezone", "schedule_id", "schedule_revision"], "additionalProperties": false }, "help": "Set or clear an agent's scheduled execution; a live scheduled agent must keep a steward chain resolving to a human.", "guide_slugs": ["agent-staffing-playbook", "runner-guide"], "stages": ["staffing", "operating_rhythm"], "related_command_ids": ["agent_setup.get", "agent_setup.relane", "agent_setup.start", "agent_setup.update", "agent_template.list", "agent.configure_tools", "agent.create_custom", "agent.create_from_template", "agent.decommission", "agent.get_run", "agent.go_live", "agent.list_runs", "agent.list_tool_calls", "agent.pause", "agent.resume", "agent.run_dry_run", "agent.run_now", "agent.status", "agent.trust.create", "aicos.brain_settings.get", "aicos.brain_settings.update", "charter.backfill_stock_evidence", "charter.set", "charter.sign_manifest", "command.describe", "command.list", "confirmation.approve", "friction.resolve", "goal.bind_measurable", "graph.get", "mcp_token.create", "mcp_token.list", "onboarding.status", "runner.list", "seat.get", "skill.assign_to_seat", "staffing.assign_agent_dry_run", "staffing.assign_user", "tenant.model_gateway_policy.update"] },
|
|
13305
13305
|
{ "id": "agent.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.", "required_scope": "seat", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "run_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["seat_id", "run_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "run": { "type": "object", "properties": { "run_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "agent_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "agent_display_name": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "status": { "type": "string", "enum": ["running", "succeeded", "failed", "timeout", "cancelled"] }, "lane": { "type": "string", "enum": ["cloud", "mcp_session", "runner"] }, "model": { "type": "string" }, "started_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "finished_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] }, "cost_usd": { "type": "string" }, "tool_call_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "denied_tool_call_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "held_tool_call_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "skill_activation_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, "required": ["run_id", "agent_id", "agent_display_name", "status", "lane", "model", "started_at", "finished_at", "cost_usd", "tool_call_count", "denied_tool_call_count", "held_tool_call_count", "skill_activation_count"], "additionalProperties": false }, "is_live": { "type": "boolean" }, "redacted": { "type": "boolean" }, "current_state": { "type": "object", "properties": { "state": { "type": "string", "enum": ["not_started", "in_progress", "handed_off", "done", "failed"] }, "reasons": { "type": "array", "items": { "type": "string" } }, "claimed_state": { "anyOf": [{ "type": "string", "enum": ["not_started", "in_progress", "handed_off", "done", "failed"] }, { "type": "null" }] }, "claim_mismatch": { "type": "boolean" }, "last_activity_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] }, "last_durable_activity_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] } }, "required": ["state", "reasons", "claimed_state", "claim_mismatch", "last_activity_at", "last_durable_activity_at"], "additionalProperties": false }, "heartbeat": { "anyOf": [{ "type": "object", "properties": { "state": { "type": "string", "enum": ["working", "quiet_healthy", "recovered", "stalled"] }, "stalled": { "type": "boolean" }, "current_phase": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "last_progress_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] }, "expected_next_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] }, "stall_after_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] }, "lease_remaining_ms": { "anyOf": [{ "type": "number" }, { "type": "null" }] }, "reasons": { "type": "array", "items": { "type": "string" } } }, "required": ["state", "stalled", "current_phase", "last_progress_at", "expected_next_at", "stall_after_at", "lease_remaining_ms", "reasons"], "additionalProperties": false }, { "type": "null" }] }, "transcript": { "anyOf": [{ "type": "object", "properties": { "transcript_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "run_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "lane": { "type": "string", "enum": ["cloud", "runner"] }, "format": { "type": "string", "enum": ["jsonl", "text"] }, "message_count": { "anyOf": [{ "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, { "type": "null" }] }, "truncated": { "type": "boolean" }, "char_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "data_classification": { "type": "string", "enum": ["customer_content", "operational", "sandbox_output"] }, "retention_class": { "type": "string", "enum": ["ephemeral_7d", "standard_90d", "durable_1y", "legal_hold"] }, "created_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "updated_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "transcript": { "type": "string" } }, "required": ["transcript_id", "seat_id", "run_id", "lane", "format", "message_count", "truncated", "char_count", "data_classification", "retention_class", "created_at", "updated_at", "transcript"], "additionalProperties": false }, { "type": "null" }] }, "tool_calls": { "type": "array", "items": { "type": "object", "properties": { "tool_call_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "run_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "tool_name": { "type": "string" }, "guard_result": { "type": "string", "enum": ["allowed", "denied_manifest", "denied_budget", "escalated", "denied_tenant_policy"] }, "manifest_clause": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "outcome": { "type": "string" }, "started_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "finished_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] } }, "required": ["tool_call_id", "run_id", "tool_name", "guard_result", "manifest_clause", "outcome", "started_at", "finished_at"], "additionalProperties": false } }, "fetched_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" } }, "required": ["seat_id", "run", "is_live", "redacted", "current_state", "heartbeat", "transcript", "tool_calls", "fetched_at"], "additionalProperties": false }, "help": "Watch one run live (read-only): run status, derived work-state, quiet-vs-stalled heartbeat, transcript, and the tool-call step feed.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work"], "stages": ["operating_rhythm"], "related_command_ids": [] },
|
|
13306
13306
|
{ "id": "aicos.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.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": {}, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "aicos": { "type": "object", "properties": { "lane": { "type": "string", "enum": ["cloud", "runner", "mcp"] }, "cloud_brain": { "type": "string", "enum": ["managed", "byok"] }, "runner_brain": { "type": "string", "enum": ["claude-cli", "codex-cli"] }, "effective_brain": { "type": "string", "enum": ["managed", "byok", "claude-cli", "codex-cli", "mcp-client"] }, "label": { "type": "string", "minLength": 1, "maxLength": 80 }, "cloud_model_slug": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "cloud_options": { "type": "array", "items": { "type": "object", "properties": { "slug": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "provider": { "type": "string" }, "label": { "type": "string", "minLength": 1 }, "managed": { "type": "boolean" }, "zdr_available": { "type": "boolean" }, "selectable": { "type": "boolean" }, "disabled_reason": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] }, "retention_disclosure": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] }, "live_note": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] } }, "required": ["slug", "provider", "label", "managed", "zdr_available", "selectable", "disabled_reason", "retention_disclosure", "live_note"], "additionalProperties": false } }, "non_zdr_unlocked": { "type": "boolean" } }, "required": ["lane", "cloud_brain", "runner_brain", "effective_brain", "label", "cloud_model_slug", "cloud_options", "non_zdr_unlocked"], "additionalProperties": false } }, "required": ["aicos"], "additionalProperties": false }, "help": "Read the AICOS lane and brain selection labels without returning provider keys, vault refs, or runner secrets.", "guide_slugs": ["aicos-chat-guide", "ai-model-data-handling-guide", "runner-guide", "settings-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent.configure_tools", "agent.create_custom", "agent.go_live", "agent.run_dry_run", "agent.update_schedule", "aicos.brain_settings.update", "charter.backfill_stock_evidence", "charter.set", "charter.sign_manifest", "confirmation.approve", "graph.get", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.create_invite", "onboarding.status", "runner.list", "seat.get", "settings.agent_policy.get", "settings.agent_policy.update", "settings.confirmation_policy.get", "settings.confirmation_policy.update", "settings.get", "settings.member_visibility.get", "settings.member_visibility.update", "settings.product_learning.get", "settings.product_learning.update", "settings.sync_brief_scope.get", "settings.sync_brief_scope.update", "settings.update", "skill.assign_to_seat", "tenant.model_gateway_policy.update", "tenant.rename"] },
|
|
13307
|
-
{ "id": "aicos.brain_settings.update", "title": "Update AICOS brain settings", "description": "Update the AICOS lane and cloud/runner brain preferences. Owner-only
|
|
13307
|
+
{ "id": "aicos.brain_settings.update", "title": "Update AICOS brain settings", "description": "Update the AICOS lane and cloud/runner brain preferences. Owner-only for a human caller. An agent-class caller may change only lane and runner brain, and only by presenting a live, unconsumed activation receipt naming this command and that exact lane/runner-brain projection \u2014 cloud brain and managed-model fields are always refused for an agent-class call. Audited.", "required_scope": "tenant", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": [], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "lane": { "type": "string", "enum": ["cloud", "runner", "mcp"] }, "cloud_brain": { "type": "string", "enum": ["managed", "byok"] }, "runner_brain": { "type": "string", "enum": ["claude-cli", "codex-cli"] }, "cloud_model_slug": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "receipt": { "type": "object", "properties": { "mutation_key": { "type": "string", "minLength": 16, "maxLength": 120 }, "authorizing_decision_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "authorizing_receipt_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "expected_configuration_version": { "type": "integer", "exclusiveMinimum": 0, "maximum": 2147483647 }, "expires_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" } }, "required": ["mutation_key", "expected_configuration_version", "expires_at"], "additionalProperties": false } }, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "aicos": { "type": "object", "properties": { "lane": { "type": "string", "enum": ["cloud", "runner", "mcp"] }, "cloud_brain": { "type": "string", "enum": ["managed", "byok"] }, "runner_brain": { "type": "string", "enum": ["claude-cli", "codex-cli"] }, "effective_brain": { "type": "string", "enum": ["managed", "byok", "claude-cli", "codex-cli", "mcp-client"] }, "label": { "type": "string", "minLength": 1, "maxLength": 80 }, "cloud_model_slug": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "cloud_options": { "type": "array", "items": { "type": "object", "properties": { "slug": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "provider": { "type": "string" }, "label": { "type": "string", "minLength": 1 }, "managed": { "type": "boolean" }, "zdr_available": { "type": "boolean" }, "selectable": { "type": "boolean" }, "disabled_reason": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] }, "retention_disclosure": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] }, "live_note": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] } }, "required": ["slug", "provider", "label", "managed", "zdr_available", "selectable", "disabled_reason", "retention_disclosure", "live_note"], "additionalProperties": false } }, "non_zdr_unlocked": { "type": "boolean" } }, "required": ["lane", "cloud_brain", "runner_brain", "effective_brain", "label", "cloud_model_slug", "cloud_options", "non_zdr_unlocked"], "additionalProperties": false } }, "required": ["aicos"], "additionalProperties": false }, "help": "Update AICOS cloud managed/BYOK and runner Claude/Codex preferences. Agents hold no ambient authority: an agent-class call must present one valid, unconsumed, operation-bound single-use activation receipt, and may change only the lane and runner brain that receipt authorizes; cloud brain and managed-model fields stay owner-only. BYOK requires an active tenant Anthropic key.", "guide_slugs": ["aicos-chat-guide", "ai-model-data-handling-guide", "runner-guide", "settings-guide", "security-model-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent.configure_tools", "agent.create_custom", "agent.go_live", "agent.run_dry_run", "agent.update_schedule", "aicos.brain_settings.get", "charter.backfill_stock_evidence", "charter.set", "charter.sign_manifest", "confirmation.approve", "graph.get", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.create_invite", "onboarding.status", "runner.list", "seat.get", "settings.agent_policy.get", "settings.agent_policy.update", "settings.confirmation_policy.get", "settings.confirmation_policy.update", "settings.get", "settings.member_visibility.get", "settings.member_visibility.update", "settings.product_learning.get", "settings.product_learning.update", "settings.sync_brief_scope.get", "settings.sync_brief_scope.update", "settings.update", "skill.assign_to_seat", "tenant.model_gateway_policy.update", "tenant.rename"] },
|
|
13308
13308
|
{ "id": "cascade.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.", "required_scope": "tenant_admin", "confirmation": "none", "trusted_execution": { "mode": "always_human", "risk_flags": ["admin"], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "dry_run": { "default": false, "type": "boolean" }, "parent_objective_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "rocks": { "minItems": 1, "maxItems": 1e3, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "minLength": 1, "maxLength": 200 }, "title": { "type": "string", "minLength": 1, "maxLength": 200 }, "definition_of_done": { "type": "string", "minLength": 1, "maxLength": 2e3 } }, "required": ["owner", "title", "definition_of_done"], "additionalProperties": false } } }, "required": ["rocks"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "dry_run": { "type": "boolean" }, "rocks_created": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "rocks_matched": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "rocks_skipped": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "objective_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "batch_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "skipped": { "maxItems": 200, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string" }, "title": { "type": "string" }, "reason": { "type": "string" } }, "required": ["reason"], "additionalProperties": false } } }, "required": ["dry_run", "rocks_created", "rocks_matched", "rocks_skipped", "objective_id", "batch_id", "skipped"], "additionalProperties": false }, "help": "Import a ninety Rocks export into the Cascade as cycle goals under a company objective in the active cycle; owners resolve to seats.", "guide_slugs": ["migration-and-legal-notes"], "stages": ["operating_rhythm"], "related_command_ids": ["agent.go_live", "agent.run_dry_run", "cascade.import_okrs", "charter.approve", "charter.draft", "charter.draft_all", "charter.sign_manifest", "charter.update_draft", "compass.answer_gap", "compass.approve_version", "compass.draft", "compass.get_current", "compass.import", "compass.list_gaps", "compass.reject_draft", "compass.set", "compass.update_draft", "confirmation.activation_set.list", "confirmation.approve", "credential.ingress", "friction.file_issue", "friction.import", "friction.list", "friction.resolve", "onboarding.activate", "onboarding.advance_step", "onboarding.attach_reference", "onboarding.create_invite", "onboarding.finish", "onboarding.rehearse", "onboarding.setup", "onboarding.source_ingest", "onboarding.status", "onboarding.upload_context", "runner_setup.cancel", "runner_setup.resume", "runner_setup.start", "runner_setup.status", "seat.create", "seat.set_type", "signal.bind", "signal.confirm_reading", "signal.draft_first_readings", "signal.import", "signal.report", "staffing.assign_agent_dry_run", "staffing.assign_user", "sync.brief.compile", "sync.brief.get", "sync.item.assign", "sync.run.complete", "sync.run.start", "task.import"] },
|
|
13309
13309
|
{ "id": "cascade.import_okrs", "title": "Import objectives and key results from a generic OKR CSV", "description": "Bulk-import a generic OKR export (objectives + key results) into the Cascade. Company objectives become company_objective goals; seat objectives become seat goals under the resolved company objective; metric key results become measurables bound informs to their objective; milestone key results become milestone goals under a seat objective. Owners are seat names resolved to seats; requires an active cycle. Idempotent \u2014 re-importing the same file is a no-op; existing goals/measurables/bindings are matched, never duplicated.", "required_scope": "tenant_admin", "confirmation": "none", "trusted_execution": { "mode": "always_human", "risk_flags": ["admin"], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "dry_run": { "default": false, "type": "boolean" }, "parent_objective_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "objectives": { "minItems": 1, "maxItems": 200, "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "minLength": 1, "maxLength": 200 }, "level": { "type": "string", "enum": ["company", "seat"] }, "owner": { "type": "string", "minLength": 1, "maxLength": 200 }, "cycle_label": { "anyOf": [{ "type": "string", "minLength": 1, "maxLength": 200 }, { "type": "null" }] }, "key_results": { "minItems": 1, "maxItems": 50, "type": "array", "items": { "oneOf": [{ "type": "object", "properties": { "type": { "type": "string", "const": "metric" }, "target": { "type": "number" }, "title": { "type": "string", "minLength": 1, "maxLength": 200 }, "unit": { "type": "string", "maxLength": 50 }, "direction": { "type": "string", "enum": ["up_good", "down_good"] }, "start_value": { "anyOf": [{ "type": "number" }, { "type": "null" }] }, "cadence": { "type": "string", "enum": ["daily", "weekly", "monthly", "quarterly", "annual"] } }, "required": ["type", "target", "title", "unit", "direction", "start_value", "cadence"], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "const": "milestone" }, "target": { "anyOf": [{ "type": "number" }, { "type": "null" }] }, "title": { "type": "string", "minLength": 1, "maxLength": 200 }, "unit": { "type": "string", "maxLength": 50 }, "direction": { "type": "string", "enum": ["up_good", "down_good"] }, "start_value": { "anyOf": [{ "type": "number" }, { "type": "null" }] }, "cadence": { "type": "string", "enum": ["daily", "weekly", "monthly", "quarterly", "annual"] } }, "required": ["type", "target", "title", "unit", "direction", "start_value", "cadence"], "additionalProperties": false }] } } }, "required": ["title", "level", "owner", "cycle_label", "key_results"], "additionalProperties": false } } }, "required": ["objectives"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "dry_run": { "type": "boolean" }, "objectives_created": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "objectives_matched": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "measurables_created": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "measurables_matched": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "bindings_created": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "milestones_created": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "milestones_matched": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "skipped_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "company_objective_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "batch_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "skipped": { "maxItems": 200, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string" }, "title": { "type": "string" }, "reason": { "type": "string" } }, "required": ["reason"], "additionalProperties": false } } }, "required": ["dry_run", "objectives_created", "objectives_matched", "measurables_created", "measurables_matched", "bindings_created", "milestones_created", "milestones_matched", "skipped_count", "company_objective_id", "batch_id", "skipped"], "additionalProperties": false }, "help": "Import a generic OKR CSV (objectives + key results) into the Cascade; objectives become goals, metric KRs become measurables bound informs, milestone KRs become milestone goals; owners resolve to seats.", "guide_slugs": ["migration-and-legal-notes"], "stages": ["operating_rhythm"], "related_command_ids": ["cascade.import", "charter.draft", "compass.draft", "compass.import", "friction.import", "onboarding.upload_context", "seat.create", "signal.import", "task.import"] },
|
|
13310
13310
|
{ "id": "charter.apply_seat_type_recommendation", "title": "Apply Charter seat-type recommendation", "description": "Apply the seat-type recommendation from a draft Charter.", "required_scope": "seat", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": [], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "charter_version_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["charter_version_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "charter_version_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "edit_revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["charter_version_id", "seat_id"], "additionalProperties": false }, "help": "Apply seat-type recommendations only after the Charter clarifies work shape, risk, and Steward accountability.", "guide_slugs": ["agent-staffing-playbook", "charter-design-playbook", "how-agents-work"], "stages": ["charter_design", "staffing"], "related_command_ids": ["charter.approve", "charter.draft", "charter.draft_all", "charter.get", "charter.list", "charter.preview_signal_reconciliation", "charter.reconcile_signals", "charter.sign_manifest", "charter.skip", "charter.update_draft", "confirmation.approve"] },
|
|
@@ -29029,9 +29029,303 @@ var storedConfirmationPolicySchema = external_exports.object({
|
|
|
29029
29029
|
cli_mode: cliConfirmationModeSchema
|
|
29030
29030
|
}).strict();
|
|
29031
29031
|
|
|
29032
|
-
// ../../packages/protocol/src/runner-
|
|
29032
|
+
// ../../packages/protocol/src/runner-setup.ts
|
|
29033
29033
|
var uuid3 = external_exports.string().uuid();
|
|
29034
29034
|
var isoDateTime = external_exports.string().datetime({ offset: true });
|
|
29035
|
+
var sha256Hex = external_exports.string().regex(/^[0-9a-f]{64}$/, "expected a lowercase sha-256 hex digest");
|
|
29036
|
+
var runnerSetupRuntimeSchema = external_exports.enum(["claude", "codex"]);
|
|
29037
|
+
var runnerSetupSelectedRuntimesSchema = external_exports.array(runnerSetupRuntimeSchema).min(1).max(2).refine(
|
|
29038
|
+
(runtimes) => new Set(runtimes).size === runtimes.length,
|
|
29039
|
+
"selected runtimes must be distinct"
|
|
29040
|
+
);
|
|
29041
|
+
var runnerSetupStageSchema = external_exports.enum([
|
|
29042
|
+
"pairing",
|
|
29043
|
+
"provider_consent",
|
|
29044
|
+
"service_install",
|
|
29045
|
+
"runtime_validation",
|
|
29046
|
+
"heartbeat_wait",
|
|
29047
|
+
"ready"
|
|
29048
|
+
]);
|
|
29049
|
+
var runnerSetupStatusSchema = external_exports.enum([
|
|
29050
|
+
"active",
|
|
29051
|
+
"action_required",
|
|
29052
|
+
"blocked",
|
|
29053
|
+
"ready",
|
|
29054
|
+
"cancelled",
|
|
29055
|
+
"expired"
|
|
29056
|
+
]);
|
|
29057
|
+
var RUNNER_SETUP_TERMINAL_STATUSES = ["ready", "cancelled", "expired"];
|
|
29058
|
+
function isRunnerSetupTerminalStatus(status) {
|
|
29059
|
+
return RUNNER_SETUP_TERMINAL_STATUSES.includes(status);
|
|
29060
|
+
}
|
|
29061
|
+
var runnerSetupBlockerCodeSchema = external_exports.enum([
|
|
29062
|
+
"unsupported_platform",
|
|
29063
|
+
"unsupported_service_manager",
|
|
29064
|
+
"provider_version_unsupported",
|
|
29065
|
+
"provider_consent_failed",
|
|
29066
|
+
"pairing_expired",
|
|
29067
|
+
"validation_failed",
|
|
29068
|
+
"heartbeat_timeout",
|
|
29069
|
+
"service_key_revoked",
|
|
29070
|
+
"runner_revoked"
|
|
29071
|
+
]);
|
|
29072
|
+
var runnerSetupActionKindSchema = external_exports.enum([
|
|
29073
|
+
"device_pairing_approval",
|
|
29074
|
+
"provider_consent",
|
|
29075
|
+
// R7: unsupported service managers get a typed manual-service action and must
|
|
29076
|
+
// not claim full background readiness.
|
|
29077
|
+
"manual_service_install"
|
|
29078
|
+
]);
|
|
29079
|
+
var runnerSetupActionRequiredSchema = external_exports.object({
|
|
29080
|
+
kind: runnerSetupActionKindSchema,
|
|
29081
|
+
// Which selected runtime the action targets (provider consent); null for
|
|
29082
|
+
// runtime-neutral actions such as device pairing approval.
|
|
29083
|
+
runtime: runnerSetupRuntimeSchema.nullable(),
|
|
29084
|
+
// Server-generated allowlisted destination (e.g. the runner setup page).
|
|
29085
|
+
// Null when the action is completed locally on the machine.
|
|
29086
|
+
url: external_exports.string().max(600).nullable(),
|
|
29087
|
+
// Present only when the responding surface freshly minted/holds the raw code
|
|
29088
|
+
// (web setup page, local CLI ceremony). The server stores only hashes, so
|
|
29089
|
+
// remote command responses carry null here.
|
|
29090
|
+
user_code: external_exports.string().max(40).nullable(),
|
|
29091
|
+
expires_at: isoDateTime.nullable()
|
|
29092
|
+
}).strict();
|
|
29093
|
+
var runnerSetupCheckpointWriterSchema = external_exports.enum(["server", "runner", "owner"]);
|
|
29094
|
+
var runnerSetupCheckpointSchema = external_exports.object({
|
|
29095
|
+
stage: runnerSetupStageSchema,
|
|
29096
|
+
key: external_exports.string().min(1).max(120),
|
|
29097
|
+
writer: runnerSetupCheckpointWriterSchema,
|
|
29098
|
+
// Runner-published checkpoints carry the caller's request digest so a replay
|
|
29099
|
+
// (same key + same digest) returns the stored checkpoint and a conflicting
|
|
29100
|
+
// rewrite (same key + different digest) is rejected. Server/owner-written
|
|
29101
|
+
// checkpoints carry null.
|
|
29102
|
+
request_digest: sha256Hex.nullable(),
|
|
29103
|
+
completed_at: isoDateTime
|
|
29104
|
+
}).strict();
|
|
29105
|
+
var runnerSetupCheckpointPayloadSchema = external_exports.object({
|
|
29106
|
+
service_manager: external_exports.enum(["launchd", "manual"]).optional(),
|
|
29107
|
+
service_installed: external_exports.boolean().optional(),
|
|
29108
|
+
service_state_file_present: external_exports.boolean().optional(),
|
|
29109
|
+
cell_generation: external_exports.number().int().nonnegative().optional(),
|
|
29110
|
+
provider_cli_version: external_exports.string().max(40).regex(/^[0-9A-Za-z.+-]+$/).optional(),
|
|
29111
|
+
blocker_code: runnerSetupBlockerCodeSchema.optional()
|
|
29112
|
+
}).strict();
|
|
29113
|
+
var runnerSetupCheckpointPublishSchema = external_exports.object({
|
|
29114
|
+
setup_id: uuid3,
|
|
29115
|
+
stage: runnerSetupStageSchema,
|
|
29116
|
+
checkpoint_key: external_exports.string().min(1).max(120),
|
|
29117
|
+
request_digest: sha256Hex,
|
|
29118
|
+
payload: runnerSetupCheckpointPayloadSchema
|
|
29119
|
+
}).strict();
|
|
29120
|
+
var runnerValidationReceiptSchema = external_exports.object({
|
|
29121
|
+
version: external_exports.number().int().positive(),
|
|
29122
|
+
runner_id: uuid3,
|
|
29123
|
+
runtime: runnerSetupRuntimeSchema,
|
|
29124
|
+
credential_cell_generation: external_exports.number().int().nonnegative(),
|
|
29125
|
+
provider_cli_version: external_exports.string().max(40),
|
|
29126
|
+
rost_cli_version: external_exports.string().max(40),
|
|
29127
|
+
sandbox_policy_version: external_exports.string().max(40),
|
|
29128
|
+
mcp_config_digest: sha256Hex,
|
|
29129
|
+
service_key_generation: external_exports.number().int().nonnegative(),
|
|
29130
|
+
probe_capability_version: external_exports.number().int().positive(),
|
|
29131
|
+
issued_at: isoDateTime,
|
|
29132
|
+
expires_at: isoDateTime
|
|
29133
|
+
}).strict();
|
|
29134
|
+
var runnerSetupValidationChallengeSchema = external_exports.object({
|
|
29135
|
+
setup_id: uuid3,
|
|
29136
|
+
runtime: runnerSetupRuntimeSchema,
|
|
29137
|
+
nonce: external_exports.string().min(16).max(120),
|
|
29138
|
+
expires_at: isoDateTime
|
|
29139
|
+
}).strict();
|
|
29140
|
+
var runnerSetupValidationResultSchema = external_exports.object({
|
|
29141
|
+
setup_id: uuid3,
|
|
29142
|
+
runtime: runnerSetupRuntimeSchema,
|
|
29143
|
+
// sha-256 of the nonce-derived probe answer — never raw provider output.
|
|
29144
|
+
nonce_proof: sha256Hex,
|
|
29145
|
+
service_key_generation: external_exports.number().int().nonnegative()
|
|
29146
|
+
}).strict();
|
|
29147
|
+
var RUNNER_SETUP_ATTEMPT_WINDOW_MS = 10 * 60 * 1e3;
|
|
29148
|
+
var runnerSetupValidationJobStatusSchema = external_exports.enum([
|
|
29149
|
+
"issued",
|
|
29150
|
+
"claimed",
|
|
29151
|
+
"completed",
|
|
29152
|
+
"failed",
|
|
29153
|
+
"expired"
|
|
29154
|
+
]);
|
|
29155
|
+
var runnerSetupValidationAttemptKindSchema = external_exports.enum([
|
|
29156
|
+
"runtime_probe",
|
|
29157
|
+
"aicos_acceptance"
|
|
29158
|
+
]);
|
|
29159
|
+
var runnerSetupValidationAttemptStatusSchema = external_exports.enum([
|
|
29160
|
+
"started",
|
|
29161
|
+
"succeeded",
|
|
29162
|
+
"failed"
|
|
29163
|
+
]);
|
|
29164
|
+
var runnerSetupValidationAttemptResultSchema = external_exports.object({
|
|
29165
|
+
runner_id: uuid3,
|
|
29166
|
+
runtime: runnerSetupRuntimeSchema,
|
|
29167
|
+
model: external_exports.string().max(120).regex(/^[0-9A-Za-z _./:+-]+$/).nullable(),
|
|
29168
|
+
provider_cli_version: external_exports.string().max(40).regex(/^[0-9A-Za-z.+-]+$/).nullable(),
|
|
29169
|
+
observed_at: isoDateTime
|
|
29170
|
+
}).strict();
|
|
29171
|
+
var RUNNER_SETUP_VALIDATION_JOB_TERMINAL_STATUSES = [
|
|
29172
|
+
"completed",
|
|
29173
|
+
"failed",
|
|
29174
|
+
"expired"
|
|
29175
|
+
];
|
|
29176
|
+
var runnerSetupValidationJobSchema = external_exports.object({
|
|
29177
|
+
job_id: uuid3,
|
|
29178
|
+
setup_id: uuid3,
|
|
29179
|
+
runtime: runnerSetupRuntimeSchema,
|
|
29180
|
+
status: runnerSetupValidationJobStatusSchema,
|
|
29181
|
+
// Stamped at issue from the session's bound key; DER-3357's attempt path
|
|
29182
|
+
// compares it against the live generation (rotation-stale refusal).
|
|
29183
|
+
service_key_generation: external_exports.number().int().nonnegative(),
|
|
29184
|
+
expires_at: isoDateTime,
|
|
29185
|
+
claimed_at: isoDateTime.nullable(),
|
|
29186
|
+
completed_at: isoDateTime.nullable(),
|
|
29187
|
+
created_at: isoDateTime,
|
|
29188
|
+
updated_at: isoDateTime
|
|
29189
|
+
}).strict().refine(
|
|
29190
|
+
(job) => RUNNER_SETUP_VALIDATION_JOB_TERMINAL_STATUSES.includes(job.status) === (job.completed_at !== null),
|
|
29191
|
+
"terminal status must correlate with completed_at"
|
|
29192
|
+
).refine(
|
|
29193
|
+
(job) => job.claimed_at === null || job.status !== "issued",
|
|
29194
|
+
"claimed_at requires a non-issued status"
|
|
29195
|
+
).refine(
|
|
29196
|
+
(job) => {
|
|
29197
|
+
const created = new Date(job.created_at).getTime();
|
|
29198
|
+
const expires = new Date(job.expires_at).getTime();
|
|
29199
|
+
return expires > created && expires <= created + 24 * 60 * 60 * 1e3;
|
|
29200
|
+
},
|
|
29201
|
+
"expires_at must be after created_at and within 24 hours"
|
|
29202
|
+
);
|
|
29203
|
+
var runnerSetupValidationAttemptSchema = external_exports.object({
|
|
29204
|
+
attempt_id: uuid3,
|
|
29205
|
+
job_id: uuid3,
|
|
29206
|
+
setup_id: uuid3,
|
|
29207
|
+
kind: runnerSetupValidationAttemptKindSchema,
|
|
29208
|
+
status: runnerSetupValidationAttemptStatusSchema,
|
|
29209
|
+
result: runnerSetupValidationAttemptResultSchema.nullable(),
|
|
29210
|
+
decision_id: uuid3.nullable(),
|
|
29211
|
+
activation_receipt_id: uuid3.nullable(),
|
|
29212
|
+
started_at: isoDateTime,
|
|
29213
|
+
completed_at: isoDateTime.nullable(),
|
|
29214
|
+
created_at: isoDateTime,
|
|
29215
|
+
updated_at: isoDateTime
|
|
29216
|
+
}).strict().refine(
|
|
29217
|
+
(attempt) => attempt.status === "started" === (attempt.completed_at === null),
|
|
29218
|
+
"started status must correlate with null completed_at"
|
|
29219
|
+
).refine(
|
|
29220
|
+
(attempt) => attempt.kind === "aicos_acceptance" === (attempt.decision_id !== null),
|
|
29221
|
+
"aicos_acceptance must be attributed to a decision"
|
|
29222
|
+
).refine(
|
|
29223
|
+
(attempt) => attempt.kind === "aicos_acceptance" === (attempt.activation_receipt_id !== null),
|
|
29224
|
+
"aicos_acceptance must be attributed to an activation receipt"
|
|
29225
|
+
);
|
|
29226
|
+
var runnerSetupValidationClaimRequestSchema = external_exports.object({
|
|
29227
|
+
setup_id: uuid3,
|
|
29228
|
+
runtime: runnerSetupRuntimeSchema
|
|
29229
|
+
}).strict();
|
|
29230
|
+
var runnerSetupValidationClaimResponseSchema = external_exports.object({
|
|
29231
|
+
job_id: uuid3,
|
|
29232
|
+
challenge: runnerSetupValidationChallengeSchema,
|
|
29233
|
+
probe_capability_version: external_exports.number().int().positive(),
|
|
29234
|
+
allowed_command_ids: external_exports.array(external_exports.string().min(1).max(120)).min(1).max(20)
|
|
29235
|
+
}).strict();
|
|
29236
|
+
var runnerSetupValidationReportRequestSchema = external_exports.object({
|
|
29237
|
+
job_id: uuid3,
|
|
29238
|
+
// The raw nonce travels back so the server can recompute the proof and
|
|
29239
|
+
// verify the round trip; the server itself only ever stored its sha-256.
|
|
29240
|
+
nonce: external_exports.string().min(16).max(120),
|
|
29241
|
+
result: runnerSetupValidationResultSchema,
|
|
29242
|
+
attempt: runnerSetupValidationAttemptResultSchema,
|
|
29243
|
+
// At least one id: the probe cannot have produced a result without invoking
|
|
29244
|
+
// the setup projection it is built on, and an EMPTY array made the result
|
|
29245
|
+
// route's `.some(...)` bound vacuously true — reporting nothing was the way
|
|
29246
|
+
// past the check (DER-3336).
|
|
29247
|
+
invoked_command_ids: external_exports.array(external_exports.string().min(1).max(120)).min(1).max(20),
|
|
29248
|
+
// DER-3336: machine FACTS about the runner's own environment — never a
|
|
29249
|
+
// VERDICT. `runnerValidationReceiptSchema` binds a receipt to these five
|
|
29250
|
+
// fields (and key rotation invalidates that binding), so the reporting
|
|
29251
|
+
// service must supply them for the server to mint a correct receipt. The
|
|
29252
|
+
// distinction that makes this safe: the runner may assert FACTS about
|
|
29253
|
+
// itself (what CLI/sandbox/MCP-config version it is running), which the
|
|
29254
|
+
// receipt BINDS and which rotation can invalidate — but there is still no
|
|
29255
|
+
// field anywhere in this request by which the runner asserts pass/fail.
|
|
29256
|
+
// The server alone derives that verdict (see the CRITICAL comment above).
|
|
29257
|
+
receipt_facts: runnerValidationReceiptSchema.pick({
|
|
29258
|
+
credential_cell_generation: true,
|
|
29259
|
+
provider_cli_version: true,
|
|
29260
|
+
rost_cli_version: true,
|
|
29261
|
+
sandbox_policy_version: true,
|
|
29262
|
+
mcp_config_digest: true
|
|
29263
|
+
})
|
|
29264
|
+
}).strict();
|
|
29265
|
+
var runnerSetupValidationReportResponseSchema = external_exports.object({
|
|
29266
|
+
job_id: uuid3,
|
|
29267
|
+
attempt_id: uuid3,
|
|
29268
|
+
verdict: external_exports.enum(["passed", "failed"]),
|
|
29269
|
+
receipt: runnerValidationReceiptSchema.nullable(),
|
|
29270
|
+
reason: external_exports.string().max(200).nullable()
|
|
29271
|
+
}).strict();
|
|
29272
|
+
var runnerRuntimeAuthStateSchema = external_exports.enum(["ready", "missing", "stale", "unknown"]);
|
|
29273
|
+
var runnerRuntimeSandboxStateSchema = external_exports.enum(["passed", "failed", "unknown"]);
|
|
29274
|
+
var runnerRuntimeValidationStateSchema = external_exports.enum([
|
|
29275
|
+
"current",
|
|
29276
|
+
"missing",
|
|
29277
|
+
"stale",
|
|
29278
|
+
"failed",
|
|
29279
|
+
"mismatch"
|
|
29280
|
+
]);
|
|
29281
|
+
var runnerRuntimeReadinessSchema = external_exports.object({
|
|
29282
|
+
runtime: runnerSetupRuntimeSchema,
|
|
29283
|
+
installed: external_exports.boolean(),
|
|
29284
|
+
cli_version: external_exports.string().max(40).nullable(),
|
|
29285
|
+
auth_state: runnerRuntimeAuthStateSchema,
|
|
29286
|
+
// The truthful cell-probe contract version (DER-3022 shape). Null when the
|
|
29287
|
+
// runner never advertised one — which is NOT ready.
|
|
29288
|
+
auth_contract_version: external_exports.number().int().positive().nullable(),
|
|
29289
|
+
sandbox_state: runnerRuntimeSandboxStateSchema,
|
|
29290
|
+
validation_state: runnerRuntimeValidationStateSchema,
|
|
29291
|
+
validation_receipt: runnerValidationReceiptSchema.nullable()
|
|
29292
|
+
}).strict();
|
|
29293
|
+
var runnerSetupSessionSchema = external_exports.object({
|
|
29294
|
+
setup_id: uuid3,
|
|
29295
|
+
stage: runnerSetupStageSchema,
|
|
29296
|
+
status: runnerSetupStatusSchema,
|
|
29297
|
+
selected_runtimes: runnerSetupSelectedRuntimesSchema,
|
|
29298
|
+
runner_id: uuid3.nullable(),
|
|
29299
|
+
blocker_code: runnerSetupBlockerCodeSchema.nullable(),
|
|
29300
|
+
action_required: runnerSetupActionRequiredSchema.nullable(),
|
|
29301
|
+
checkpoints: external_exports.array(runnerSetupCheckpointSchema),
|
|
29302
|
+
// One readiness entry per SELECTED runtime once observations exist; empty
|
|
29303
|
+
// until the first server-observed heartbeat/validation reaches the session.
|
|
29304
|
+
runtime_readiness: external_exports.array(runnerRuntimeReadinessSchema),
|
|
29305
|
+
service_key_generation: external_exports.number().int().nonnegative(),
|
|
29306
|
+
service_key_bound: external_exports.boolean(),
|
|
29307
|
+
service_key_revoked: external_exports.boolean(),
|
|
29308
|
+
expires_at: isoDateTime,
|
|
29309
|
+
terminal_at: isoDateTime.nullable(),
|
|
29310
|
+
created_at: isoDateTime,
|
|
29311
|
+
updated_at: isoDateTime
|
|
29312
|
+
}).strict();
|
|
29313
|
+
var runnerSetupStartInputSchema = external_exports.object({
|
|
29314
|
+
selected_runtimes: runnerSetupSelectedRuntimesSchema
|
|
29315
|
+
}).strict();
|
|
29316
|
+
var runnerSetupStatusInputSchema = external_exports.object({
|
|
29317
|
+
setup_id: uuid3
|
|
29318
|
+
}).strict();
|
|
29319
|
+
var runnerSetupResumeInputSchema = external_exports.object({
|
|
29320
|
+
setup_id: uuid3
|
|
29321
|
+
}).strict();
|
|
29322
|
+
var runnerSetupCancelInputSchema = external_exports.object({
|
|
29323
|
+
setup_id: uuid3
|
|
29324
|
+
}).strict();
|
|
29325
|
+
|
|
29326
|
+
// ../../packages/protocol/src/runner-settings.ts
|
|
29327
|
+
var uuid5 = external_exports.string().uuid();
|
|
29328
|
+
var isoDateTime2 = external_exports.string().datetime({ offset: true });
|
|
29035
29329
|
var runnerHealthSchema = external_exports.enum(["online", "stale", "offline", "revoked", "unpaired"]);
|
|
29036
29330
|
var runnerExecutionStateSchema = external_exports.enum([
|
|
29037
29331
|
"ready",
|
|
@@ -29057,8 +29351,8 @@ var runnerExecutionReadinessSchema = external_exports.object({
|
|
|
29057
29351
|
due_queued_work_orders: external_exports.number().int().nonnegative(),
|
|
29058
29352
|
claimed_work_orders: external_exports.number().int().nonnegative(),
|
|
29059
29353
|
running_work_orders: external_exports.number().int().nonnegative(),
|
|
29060
|
-
recent_completed_at:
|
|
29061
|
-
recent_failed_at:
|
|
29354
|
+
recent_completed_at: isoDateTime2.nullable(),
|
|
29355
|
+
recent_failed_at: isoDateTime2.nullable()
|
|
29062
29356
|
}).strict();
|
|
29063
29357
|
var runnerClaimabilityCheckSchema = external_exports.object({
|
|
29064
29358
|
key: external_exports.string(),
|
|
@@ -29101,12 +29395,12 @@ var runnerCapacitySchema = external_exports.object({
|
|
|
29101
29395
|
raw_state: external_exports.string().nullable(),
|
|
29102
29396
|
// Null until the harness gains rate-limit error classification (out of scope for DER-1588);
|
|
29103
29397
|
// surfaced now so a fleet reader picks it up automatically once it starts being set.
|
|
29104
|
-
rate_limited_until:
|
|
29398
|
+
rate_limited_until: isoDateTime2.nullable(),
|
|
29105
29399
|
has_observation: external_exports.boolean(),
|
|
29106
29400
|
freshness: external_exports.enum(["fresh", "stale"])
|
|
29107
29401
|
}).strict();
|
|
29108
29402
|
var runnerSummarySchema = external_exports.object({
|
|
29109
|
-
id:
|
|
29403
|
+
id: uuid5,
|
|
29110
29404
|
name: external_exports.string(),
|
|
29111
29405
|
platform: external_exports.string(),
|
|
29112
29406
|
health: runnerHealthSchema,
|
|
@@ -29115,10 +29409,10 @@ var runnerSummarySchema = external_exports.object({
|
|
|
29115
29409
|
posture: runnerPostureSchema,
|
|
29116
29410
|
execution: runnerExecutionReadinessSchema,
|
|
29117
29411
|
capacity: runnerCapacitySchema,
|
|
29118
|
-
paired_at:
|
|
29119
|
-
last_heartbeat_at:
|
|
29120
|
-
revoked_at:
|
|
29121
|
-
created_at:
|
|
29412
|
+
paired_at: isoDateTime2.nullable(),
|
|
29413
|
+
last_heartbeat_at: isoDateTime2.nullable(),
|
|
29414
|
+
revoked_at: isoDateTime2.nullable(),
|
|
29415
|
+
created_at: isoDateTime2
|
|
29122
29416
|
}).strict();
|
|
29123
29417
|
var runnerListInputSchema = external_exports.object({
|
|
29124
29418
|
include_revoked: external_exports.boolean().optional()
|
|
@@ -29127,24 +29421,24 @@ var runnerListOutputSchema = external_exports.object({
|
|
|
29127
29421
|
runners: external_exports.array(runnerSummarySchema)
|
|
29128
29422
|
}).strict();
|
|
29129
29423
|
var runnerStatusInputSchema = external_exports.object({
|
|
29130
|
-
runner_id:
|
|
29424
|
+
runner_id: uuid5
|
|
29131
29425
|
}).strict();
|
|
29132
29426
|
var runnerPairingStartInputSchema = external_exports.object({
|
|
29133
29427
|
name: external_exports.string().min(1).max(120),
|
|
29134
29428
|
platform: external_exports.string().min(1).max(120)
|
|
29135
29429
|
}).strict();
|
|
29136
29430
|
var runnerPairingStartOutputSchema = external_exports.object({
|
|
29137
|
-
pairing_session_id:
|
|
29431
|
+
pairing_session_id: uuid5,
|
|
29138
29432
|
user_code: external_exports.string(),
|
|
29139
29433
|
verification_uri: external_exports.string(),
|
|
29140
|
-
expires_at:
|
|
29434
|
+
expires_at: isoDateTime2,
|
|
29141
29435
|
expires_in: external_exports.number().int().nonnegative()
|
|
29142
29436
|
}).strict();
|
|
29143
29437
|
var runnerRevokeInputSchema = external_exports.object({
|
|
29144
|
-
runner_id:
|
|
29438
|
+
runner_id: uuid5
|
|
29145
29439
|
}).strict();
|
|
29146
29440
|
var runnerRevokeOutputSchema = external_exports.object({
|
|
29147
|
-
runner_id:
|
|
29441
|
+
runner_id: uuid5,
|
|
29148
29442
|
revoked: external_exports.boolean()
|
|
29149
29443
|
}).strict();
|
|
29150
29444
|
var workOrderStatusSchema = external_exports.enum(["queued", "claimed", "running", "done", "failed", "expired"]);
|
|
@@ -29155,16 +29449,16 @@ var agentExecutionModeSchema = external_exports.enum([
|
|
|
29155
29449
|
]);
|
|
29156
29450
|
var workOrderExecutionModeSchema = agentExecutionModeSchema.exclude(["rehearsal"]);
|
|
29157
29451
|
var workOrderSummaryBaseSchema = external_exports.object({
|
|
29158
|
-
id:
|
|
29159
|
-
agent_id:
|
|
29160
|
-
task_id:
|
|
29452
|
+
id: uuid5,
|
|
29453
|
+
agent_id: uuid5,
|
|
29454
|
+
task_id: uuid5.nullable(),
|
|
29161
29455
|
execution_mode: workOrderExecutionModeSchema.nullable(),
|
|
29162
29456
|
lane: external_exports.enum(["cloud", "runner"]),
|
|
29163
29457
|
status: workOrderStatusSchema,
|
|
29164
|
-
claimed_by_runner_id:
|
|
29165
|
-
scheduled_for:
|
|
29166
|
-
grace_deadline:
|
|
29167
|
-
created_at:
|
|
29458
|
+
claimed_by_runner_id: uuid5.nullable(),
|
|
29459
|
+
scheduled_for: isoDateTime2,
|
|
29460
|
+
grace_deadline: isoDateTime2,
|
|
29461
|
+
created_at: isoDateTime2
|
|
29168
29462
|
});
|
|
29169
29463
|
var workOrderSummarySchema = external_exports.union([
|
|
29170
29464
|
workOrderSummaryBaseSchema.extend({
|
|
@@ -29173,43 +29467,43 @@ var workOrderSummarySchema = external_exports.union([
|
|
|
29173
29467
|
schedule_local_occurrence: external_exports.null()
|
|
29174
29468
|
}).strict(),
|
|
29175
29469
|
workOrderSummaryBaseSchema.extend({
|
|
29176
|
-
schedule_id:
|
|
29470
|
+
schedule_id: uuid5,
|
|
29177
29471
|
schedule_revision: external_exports.number().int().positive(),
|
|
29178
29472
|
schedule_local_occurrence: external_exports.string().min(1).max(80)
|
|
29179
29473
|
}).strict()
|
|
29180
29474
|
]);
|
|
29181
29475
|
var workOrderListInputSchema = external_exports.object({
|
|
29182
29476
|
status: workOrderStatusSchema.optional(),
|
|
29183
|
-
agent_id:
|
|
29184
|
-
runner_id:
|
|
29477
|
+
agent_id: uuid5.optional(),
|
|
29478
|
+
runner_id: uuid5.optional(),
|
|
29185
29479
|
limit: external_exports.number().int().min(1).max(200).optional()
|
|
29186
29480
|
}).strict();
|
|
29187
29481
|
var workOrderListOutputSchema = external_exports.object({
|
|
29188
29482
|
work_orders: external_exports.array(workOrderSummarySchema)
|
|
29189
29483
|
}).strict();
|
|
29190
29484
|
var workOrderEnqueueInputSchema = external_exports.object({
|
|
29191
|
-
agent_id:
|
|
29192
|
-
scheduled_for:
|
|
29485
|
+
agent_id: uuid5,
|
|
29486
|
+
scheduled_for: isoDateTime2.optional(),
|
|
29193
29487
|
// DER-1973: cloud-lane only. A runner-lane agent rejects a task_id at enqueue —
|
|
29194
29488
|
// a task-linked runner order is structurally unclaimable (the runner-claim SQL
|
|
29195
29489
|
// requires task_id is null). Run task-linked runner work as an interactive agent turn.
|
|
29196
|
-
task_id:
|
|
29490
|
+
task_id: uuid5.optional()
|
|
29197
29491
|
}).strict();
|
|
29198
29492
|
var agentRunNowInputSchema = external_exports.object({
|
|
29199
|
-
seat_id:
|
|
29493
|
+
seat_id: uuid5,
|
|
29200
29494
|
// DER-1973: cloud-lane only. A runner-lane agent rejects a task_id at enqueue
|
|
29201
29495
|
// (structurally unclaimable). Run task-linked runner work as an interactive agent turn.
|
|
29202
|
-
task_id:
|
|
29496
|
+
task_id: uuid5.optional()
|
|
29203
29497
|
}).strict();
|
|
29204
29498
|
var agentRunNowOutputSchema = external_exports.object({
|
|
29205
29499
|
execution_mode: external_exports.literal("production_manual"),
|
|
29206
29500
|
work_order: workOrderSummarySchema
|
|
29207
29501
|
}).strict();
|
|
29208
29502
|
var workOrderCancelInputSchema = external_exports.object({
|
|
29209
|
-
work_order_id:
|
|
29503
|
+
work_order_id: uuid5
|
|
29210
29504
|
}).strict();
|
|
29211
29505
|
var workOrderCancelOutputSchema = external_exports.object({
|
|
29212
|
-
work_order_id:
|
|
29506
|
+
work_order_id: uuid5,
|
|
29213
29507
|
status: workOrderStatusSchema
|
|
29214
29508
|
}).strict();
|
|
29215
29509
|
var runnerCapabilityDetailSchema = external_exports.object({
|
|
@@ -29217,13 +29511,13 @@ var runnerCapabilityDetailSchema = external_exports.object({
|
|
|
29217
29511
|
codex: external_exports.boolean()
|
|
29218
29512
|
}).strict();
|
|
29219
29513
|
var runnerDiagnoseOutputSchema = external_exports.object({
|
|
29220
|
-
id:
|
|
29514
|
+
id: uuid5,
|
|
29221
29515
|
name: external_exports.string(),
|
|
29222
29516
|
platform: external_exports.string(),
|
|
29223
29517
|
health: runnerHealthSchema,
|
|
29224
29518
|
capabilities: runnerCapabilityDetailSchema,
|
|
29225
|
-
last_heartbeat_at:
|
|
29226
|
-
paired_at:
|
|
29519
|
+
last_heartbeat_at: isoDateTime2.nullable(),
|
|
29520
|
+
paired_at: isoDateTime2.nullable(),
|
|
29227
29521
|
revocation_state: external_exports.enum(["active", "revoked", "unpaired"]),
|
|
29228
29522
|
claimability: runnerClaimabilityExplainSchema,
|
|
29229
29523
|
repair_guidance: external_exports.array(external_exports.object({
|
|
@@ -29233,7 +29527,7 @@ var runnerDiagnoseOutputSchema = external_exports.object({
|
|
|
29233
29527
|
}).strict())
|
|
29234
29528
|
}).strict();
|
|
29235
29529
|
var runnerDiagnoseInputSchema = external_exports.object({
|
|
29236
|
-
runner_id:
|
|
29530
|
+
runner_id: uuid5
|
|
29237
29531
|
}).strict();
|
|
29238
29532
|
var runnerRepairActionSchema = external_exports.object({
|
|
29239
29533
|
action: external_exports.string(),
|
|
@@ -29241,14 +29535,14 @@ var runnerRepairActionSchema = external_exports.object({
|
|
|
29241
29535
|
detail: external_exports.string()
|
|
29242
29536
|
}).strict();
|
|
29243
29537
|
var runnerRepairOutputSchema = external_exports.object({
|
|
29244
|
-
runner_id:
|
|
29538
|
+
runner_id: uuid5,
|
|
29245
29539
|
runner_name: external_exports.string(),
|
|
29246
29540
|
runner_health: runnerHealthSchema,
|
|
29247
29541
|
repair_steps: external_exports.array(runnerRepairActionSchema),
|
|
29248
29542
|
requires_human: external_exports.boolean()
|
|
29249
29543
|
}).strict();
|
|
29250
29544
|
var runnerRepairInputSchema = external_exports.object({
|
|
29251
|
-
runner_id:
|
|
29545
|
+
runner_id: uuid5,
|
|
29252
29546
|
issue: external_exports.enum(["restart", "re_pair", "revoke_stale", "missing_cli_runtime"]).optional()
|
|
29253
29547
|
}).strict();
|
|
29254
29548
|
var notificationChannelSchema = external_exports.enum(["slack", "email", "in_app"]);
|
|
@@ -29268,24 +29562,24 @@ var notificationSettingsUpdateInputSchema = external_exports.object({
|
|
|
29268
29562
|
);
|
|
29269
29563
|
var notificationTestInputSchema = external_exports.object({}).strict();
|
|
29270
29564
|
var notificationTestOutputSchema = external_exports.object({
|
|
29271
|
-
notification_id:
|
|
29565
|
+
notification_id: uuid5,
|
|
29272
29566
|
delivered: external_exports.boolean()
|
|
29273
29567
|
}).strict();
|
|
29274
29568
|
var notificationListErrorsInputSchema = external_exports.object({
|
|
29275
29569
|
limit: external_exports.number().int().min(1).max(100).optional()
|
|
29276
29570
|
}).strict();
|
|
29277
29571
|
var notificationErrorSummarySchema = external_exports.object({
|
|
29278
|
-
id:
|
|
29572
|
+
id: uuid5,
|
|
29279
29573
|
kind: external_exports.string(),
|
|
29280
29574
|
channel: external_exports.string(),
|
|
29281
29575
|
status: external_exports.string(),
|
|
29282
29576
|
provider: external_exports.string(),
|
|
29283
29577
|
error_message: external_exports.string().nullable(),
|
|
29284
|
-
error_log_id:
|
|
29578
|
+
error_log_id: uuid5.nullable(),
|
|
29285
29579
|
source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).nullable(),
|
|
29286
|
-
seat_id:
|
|
29287
|
-
run_id:
|
|
29288
|
-
created_at:
|
|
29580
|
+
seat_id: uuid5.nullable(),
|
|
29581
|
+
run_id: uuid5.nullable(),
|
|
29582
|
+
created_at: isoDateTime2
|
|
29289
29583
|
}).strict();
|
|
29290
29584
|
var notificationListErrorsOutputSchema = external_exports.object({
|
|
29291
29585
|
errors: external_exports.array(notificationErrorSummarySchema)
|
|
@@ -29303,7 +29597,7 @@ var memberInviteInputSchema = external_exports.object({
|
|
|
29303
29597
|
byo_key: external_exports.boolean().optional()
|
|
29304
29598
|
}).strict();
|
|
29305
29599
|
var memberInviteOutputSchema = external_exports.object({
|
|
29306
|
-
invite_id:
|
|
29600
|
+
invite_id: uuid5,
|
|
29307
29601
|
email: external_exports.string(),
|
|
29308
29602
|
role: memberRoleSchema,
|
|
29309
29603
|
member_type: memberTypeSchema,
|
|
@@ -29311,18 +29605,18 @@ var memberInviteOutputSchema = external_exports.object({
|
|
|
29311
29605
|
aicos_access_scope: aicosAccessScopeSchema
|
|
29312
29606
|
}).strict();
|
|
29313
29607
|
var memberUpdateInputSchema = external_exports.object({
|
|
29314
|
-
member_id:
|
|
29608
|
+
member_id: uuid5,
|
|
29315
29609
|
role: memberRoleSchema
|
|
29316
29610
|
}).strict();
|
|
29317
29611
|
var memberUpdateOutputSchema = external_exports.object({
|
|
29318
|
-
member_id:
|
|
29612
|
+
member_id: uuid5,
|
|
29319
29613
|
role: memberRoleSchema
|
|
29320
29614
|
}).strict();
|
|
29321
29615
|
var memberRemoveInputSchema = external_exports.object({
|
|
29322
|
-
member_id:
|
|
29616
|
+
member_id: uuid5
|
|
29323
29617
|
}).strict();
|
|
29324
29618
|
var memberRemoveOutputSchema = external_exports.object({
|
|
29325
|
-
member_id:
|
|
29619
|
+
member_id: uuid5,
|
|
29326
29620
|
removed: external_exports.boolean()
|
|
29327
29621
|
}).strict();
|
|
29328
29622
|
var syncBriefScopeSchema = external_exports.enum(["company_wide", "per_cluster"]);
|
|
@@ -29407,14 +29701,14 @@ var tenantSpendStatusSchema = external_exports.object({
|
|
|
29407
29701
|
hard_cap_reached: external_exports.boolean()
|
|
29408
29702
|
}).strict();
|
|
29409
29703
|
var integrationSummarySchema = external_exports.object({
|
|
29410
|
-
id:
|
|
29704
|
+
id: uuid5,
|
|
29411
29705
|
provider: external_exports.string(),
|
|
29412
29706
|
status: external_exports.enum(["connected", "error", "disconnected"]),
|
|
29413
|
-
last_synced_at:
|
|
29707
|
+
last_synced_at: isoDateTime2.nullable()
|
|
29414
29708
|
}).strict();
|
|
29415
29709
|
var settingsGetInputSchema = external_exports.object({}).strict();
|
|
29416
29710
|
var settingsGetOutputSchema = external_exports.object({
|
|
29417
|
-
tenant_id:
|
|
29711
|
+
tenant_id: uuid5,
|
|
29418
29712
|
name: external_exports.string(),
|
|
29419
29713
|
plan: external_exports.enum(["test", "beta_tester", "design_partner", "standard"]),
|
|
29420
29714
|
status: external_exports.enum(["provisioning", "active", "suspended", "teardown"]),
|
|
@@ -29440,7 +29734,7 @@ var tenantRenameInputSchema = external_exports.object({
|
|
|
29440
29734
|
company_name: external_exports.string().trim().min(2).max(120)
|
|
29441
29735
|
}).strict();
|
|
29442
29736
|
var tenantRenameOutputSchema = external_exports.object({
|
|
29443
|
-
tenant_id:
|
|
29737
|
+
tenant_id: uuid5,
|
|
29444
29738
|
name: external_exports.string(),
|
|
29445
29739
|
previous_name: external_exports.string()
|
|
29446
29740
|
}).strict();
|
|
@@ -33037,10 +33331,10 @@ var trustedBudgetSuggestionSchema = external_exports.object({
|
|
|
33037
33331
|
}).strict();
|
|
33038
33332
|
|
|
33039
33333
|
// ../../packages/protocol/src/eos-intelligence.ts
|
|
33040
|
-
var
|
|
33334
|
+
var uuid8 = external_exports.string().uuid();
|
|
33041
33335
|
var frictionSeveritySchema = external_exports.enum(["low", "med", "high", "critical"]);
|
|
33042
33336
|
var frictionAssistRelatedSchema = external_exports.object({
|
|
33043
|
-
issue_id:
|
|
33337
|
+
issue_id: uuid8,
|
|
33044
33338
|
summary: external_exports.string(),
|
|
33045
33339
|
severity: frictionSeveritySchema,
|
|
33046
33340
|
root_cause: external_exports.string().nullable(),
|
|
@@ -33053,11 +33347,11 @@ var frictionRecurringPatternSchema = external_exports.object({
|
|
|
33053
33347
|
window: external_exports.string()
|
|
33054
33348
|
});
|
|
33055
33349
|
var frictionAssistInputSchema = external_exports.object({
|
|
33056
|
-
issue_id:
|
|
33350
|
+
issue_id: uuid8,
|
|
33057
33351
|
limit: external_exports.number().int().min(1).max(20).optional()
|
|
33058
33352
|
});
|
|
33059
33353
|
var frictionAssistOutputSchema = external_exports.object({
|
|
33060
|
-
issue_id:
|
|
33354
|
+
issue_id: uuid8,
|
|
33061
33355
|
summary: external_exports.string(),
|
|
33062
33356
|
related: external_exports.array(frictionAssistRelatedSchema),
|
|
33063
33357
|
recurring_pattern: frictionRecurringPatternSchema,
|
|
@@ -33082,7 +33376,7 @@ var compassAlignmentFlagReasonSchema = external_exports.enum([
|
|
|
33082
33376
|
"weak_ladder"
|
|
33083
33377
|
]);
|
|
33084
33378
|
var compassAlignmentFlagSchema = external_exports.object({
|
|
33085
|
-
goal_id:
|
|
33379
|
+
goal_id: uuid8,
|
|
33086
33380
|
title: external_exports.string(),
|
|
33087
33381
|
reason: compassAlignmentFlagReasonSchema,
|
|
33088
33382
|
rationale: external_exports.string()
|
|
@@ -33101,11 +33395,11 @@ var compassDriftAnalyzerOutputSchema = external_exports.object({
|
|
|
33101
33395
|
flagged: external_exports.array(compassAlignmentFlagSchema)
|
|
33102
33396
|
});
|
|
33103
33397
|
var coachDraftGuideInputSchema = external_exports.object({
|
|
33104
|
-
seat_id:
|
|
33398
|
+
seat_id: uuid8
|
|
33105
33399
|
});
|
|
33106
33400
|
var coachDraftGuideOutputSchema = external_exports.object({
|
|
33107
|
-
seat_id:
|
|
33108
|
-
occupant_user_id:
|
|
33401
|
+
seat_id: uuid8,
|
|
33402
|
+
occupant_user_id: uuid8.nullable(),
|
|
33109
33403
|
has_concerns: external_exports.boolean(),
|
|
33110
33404
|
pattern_summary: external_exports.string(),
|
|
33111
33405
|
talking_points: external_exports.array(external_exports.string()),
|
|
@@ -33135,8 +33429,8 @@ var normalizedIntegrationScopesSchema = external_exports.object({
|
|
|
33135
33429
|
}).strict();
|
|
33136
33430
|
|
|
33137
33431
|
// ../../packages/protocol/src/integrations.ts
|
|
33138
|
-
var
|
|
33139
|
-
var
|
|
33432
|
+
var uuid9 = external_exports.string().uuid();
|
|
33433
|
+
var isoDateTime3 = external_exports.string().datetime({ offset: true });
|
|
33140
33434
|
var integrationProviderSchema = external_exports.enum(["slack", "google", "quickbooks", "stripe"]);
|
|
33141
33435
|
var integrationStatusSchema = external_exports.enum(["connected", "error", "disconnected"]);
|
|
33142
33436
|
var integrationAdapterTypeSchema = external_exports.enum(["rest", "oauth", "remote_mcp", "webhook"]);
|
|
@@ -33149,7 +33443,7 @@ function isValidHttpsEndpoint(value) {
|
|
|
33149
33443
|
}
|
|
33150
33444
|
}
|
|
33151
33445
|
var tenantIntegrationSummarySchema = external_exports.object({
|
|
33152
|
-
id:
|
|
33446
|
+
id: uuid9,
|
|
33153
33447
|
provider: integrationProviderSchema.or(external_exports.string().min(1)),
|
|
33154
33448
|
status: integrationStatusSchema,
|
|
33155
33449
|
account_email: external_exports.string().email().nullable(),
|
|
@@ -33157,11 +33451,11 @@ var tenantIntegrationSummarySchema = external_exports.object({
|
|
|
33157
33451
|
scopes: external_exports.array(external_exports.string().min(1)),
|
|
33158
33452
|
capabilities: external_exports.array(external_exports.string().min(1)),
|
|
33159
33453
|
capability_availability: external_exports.array(integrationCapabilityAvailabilitySchema).optional(),
|
|
33160
|
-
last_synced_at:
|
|
33161
|
-
last_tested_at:
|
|
33454
|
+
last_synced_at: isoDateTime3.nullable(),
|
|
33455
|
+
last_tested_at: isoDateTime3.nullable(),
|
|
33162
33456
|
last_test_result: external_exports.enum(["ok", "failed"]).nullable(),
|
|
33163
|
-
created_at:
|
|
33164
|
-
updated_at:
|
|
33457
|
+
created_at: isoDateTime3,
|
|
33458
|
+
updated_at: isoDateTime3
|
|
33165
33459
|
}).strict();
|
|
33166
33460
|
var integrationListInputSchema = external_exports.object({
|
|
33167
33461
|
provider: external_exports.string().min(1).optional()
|
|
@@ -33171,7 +33465,7 @@ var integrationListOutputSchema = external_exports.object({
|
|
|
33171
33465
|
}).strict();
|
|
33172
33466
|
var integrationStatusInputSchema = external_exports.object({
|
|
33173
33467
|
provider: external_exports.string().min(1).optional(),
|
|
33174
|
-
integration_id:
|
|
33468
|
+
integration_id: uuid9.optional()
|
|
33175
33469
|
}).strict().refine(
|
|
33176
33470
|
(value) => value.provider !== void 0 || value.integration_id !== void 0,
|
|
33177
33471
|
"Provide provider or integration_id."
|
|
@@ -33181,7 +33475,7 @@ var integrationStatusOutputSchema = external_exports.object({
|
|
|
33181
33475
|
}).strict();
|
|
33182
33476
|
var integrationTestInputSchema = external_exports.object({
|
|
33183
33477
|
provider: external_exports.string().min(1).optional(),
|
|
33184
|
-
integration_id:
|
|
33478
|
+
integration_id: uuid9.optional()
|
|
33185
33479
|
}).strict().refine(
|
|
33186
33480
|
(value) => value.provider !== void 0 || value.integration_id !== void 0,
|
|
33187
33481
|
"Provide provider or integration_id."
|
|
@@ -33189,10 +33483,10 @@ var integrationTestInputSchema = external_exports.object({
|
|
|
33189
33483
|
var integrationTestOutputSchema = external_exports.object({
|
|
33190
33484
|
ok: external_exports.boolean(),
|
|
33191
33485
|
provider: external_exports.string().min(1),
|
|
33192
|
-
integration_id:
|
|
33486
|
+
integration_id: uuid9,
|
|
33193
33487
|
status: integrationStatusSchema,
|
|
33194
33488
|
account_email: external_exports.string().email().nullable(),
|
|
33195
|
-
checked_at:
|
|
33489
|
+
checked_at: isoDateTime3,
|
|
33196
33490
|
message: external_exports.string().min(1)
|
|
33197
33491
|
}).strict();
|
|
33198
33492
|
var integrationConnectRestInputSchema = external_exports.object({
|
|
@@ -33206,7 +33500,7 @@ var integrationConnectRestInputSchema = external_exports.object({
|
|
|
33206
33500
|
account_label: external_exports.string().trim().min(1).max(120).optional()
|
|
33207
33501
|
}).strict();
|
|
33208
33502
|
var integrationConnectRestOutputSchema = external_exports.object({
|
|
33209
|
-
integration_id:
|
|
33503
|
+
integration_id: uuid9,
|
|
33210
33504
|
provider: external_exports.string().min(1),
|
|
33211
33505
|
adapter_type: external_exports.literal("rest"),
|
|
33212
33506
|
status: external_exports.literal("connected"),
|
|
@@ -33240,7 +33534,7 @@ var integrationReadinessConnectorSchema = external_exports.object({
|
|
|
33240
33534
|
provider: external_exports.literal("google"),
|
|
33241
33535
|
overall_status: integrationReadinessOverallStatusSchema,
|
|
33242
33536
|
summary: external_exports.string().min(1),
|
|
33243
|
-
integration_id:
|
|
33537
|
+
integration_id: uuid9.nullable(),
|
|
33244
33538
|
account_email: external_exports.string().email().nullable(),
|
|
33245
33539
|
account_label: external_exports.string().min(1).nullable(),
|
|
33246
33540
|
scopes: external_exports.array(external_exports.string().min(1)),
|
|
@@ -33352,7 +33646,7 @@ function displayLabelRejection(candidate, trust) {
|
|
|
33352
33646
|
}
|
|
33353
33647
|
|
|
33354
33648
|
// ../../packages/protocol/src/artifacts.ts
|
|
33355
|
-
var
|
|
33649
|
+
var isoDateTime4 = external_exports.string().datetime({ offset: true });
|
|
33356
33650
|
var uuidSchema10 = external_exports.string().uuid();
|
|
33357
33651
|
var dataClassificationSchema = external_exports.enum([
|
|
33358
33652
|
"customer_content",
|
|
@@ -33514,13 +33808,13 @@ var artifactSummarySchema = external_exports.object({
|
|
|
33514
33808
|
supersedes_id: uuidSchema10.nullable(),
|
|
33515
33809
|
data_classification: dataClassificationSchema,
|
|
33516
33810
|
retention_class: retentionClassSchema,
|
|
33517
|
-
created_at:
|
|
33518
|
-
updated_at:
|
|
33811
|
+
created_at: isoDateTime4,
|
|
33812
|
+
updated_at: isoDateTime4
|
|
33519
33813
|
}).strict();
|
|
33520
33814
|
var artifactReadResultSchema = artifactSummarySchema.extend({
|
|
33521
33815
|
snapshot: external_exports.record(external_exports.string(), external_exports.unknown()),
|
|
33522
33816
|
signed_url: external_exports.string().nullable(),
|
|
33523
|
-
signed_url_expires_at:
|
|
33817
|
+
signed_url_expires_at: isoDateTime4.nullable()
|
|
33524
33818
|
}).strict();
|
|
33525
33819
|
var artifactListOutputSchema = external_exports.object({
|
|
33526
33820
|
artifacts: external_exports.array(artifactSummarySchema)
|
|
@@ -33538,8 +33832,8 @@ var sessionTranscriptSummarySchema = external_exports.object({
|
|
|
33538
33832
|
char_count: external_exports.number().int().nonnegative(),
|
|
33539
33833
|
data_classification: dataClassificationSchema,
|
|
33540
33834
|
retention_class: retentionClassSchema,
|
|
33541
|
-
created_at:
|
|
33542
|
-
updated_at:
|
|
33835
|
+
created_at: isoDateTime4,
|
|
33836
|
+
updated_at: isoDateTime4
|
|
33543
33837
|
}).strict();
|
|
33544
33838
|
var sessionTranscriptReadResultSchema = sessionTranscriptSummarySchema.extend({
|
|
33545
33839
|
transcript: external_exports.string()
|
|
@@ -34766,7 +35060,7 @@ var measurableTemplateSchema = external_exports.object({
|
|
|
34766
35060
|
|
|
34767
35061
|
// ../../packages/protocol/src/migration-run.ts
|
|
34768
35062
|
var uuidSchema13 = external_exports.string().uuid();
|
|
34769
|
-
var
|
|
35063
|
+
var isoDateTime5 = external_exports.string().datetime({ offset: true });
|
|
34770
35064
|
var jsonObjectSchema2 = external_exports.record(external_exports.string(), external_exports.unknown());
|
|
34771
35065
|
var contentHashSchema = external_exports.string().regex(/^[0-9a-f]{64}$/, "content_hash must be a 64-character lowercase sha-256 hex digest");
|
|
34772
35066
|
var nonNegativeBigintStringSchema = external_exports.string().regex(/^\d+$/, "must be a non-negative integer (decimal string)");
|
|
@@ -34884,10 +35178,10 @@ var migrationRunSummarySchema = external_exports.object({
|
|
|
34884
35178
|
cli_version: external_exports.string().nullable(),
|
|
34885
35179
|
source_client: external_exports.string().nullable(),
|
|
34886
35180
|
initiated_by: uuidSchema13.nullable(),
|
|
34887
|
-
started_at:
|
|
34888
|
-
completed_at:
|
|
34889
|
-
created_at:
|
|
34890
|
-
updated_at:
|
|
35181
|
+
started_at: isoDateTime5,
|
|
35182
|
+
completed_at: isoDateTime5.nullable(),
|
|
35183
|
+
created_at: isoDateTime5,
|
|
35184
|
+
updated_at: isoDateTime5
|
|
34891
35185
|
}).strict();
|
|
34892
35186
|
var migrationRunArtifactSummarySchema = external_exports.object({
|
|
34893
35187
|
id: uuidSchema13,
|
|
@@ -34907,9 +35201,9 @@ var migrationRunArtifactSummarySchema = external_exports.object({
|
|
|
34907
35201
|
// JS-number precision loss beyond 2^53. Nullable; non-negative (mirrors the >= 0 CHECK).
|
|
34908
35202
|
byte_size: nonNegativeBigintStringSchema.nullable(),
|
|
34909
35203
|
import_batch_id: uuidSchema13.nullable(),
|
|
34910
|
-
imported_at:
|
|
34911
|
-
created_at:
|
|
34912
|
-
updated_at:
|
|
35204
|
+
imported_at: isoDateTime5.nullable(),
|
|
35205
|
+
created_at: isoDateTime5,
|
|
35206
|
+
updated_at: isoDateTime5
|
|
34913
35207
|
}).strict();
|
|
34914
35208
|
var migrationRunCheckpointSummarySchema = external_exports.object({
|
|
34915
35209
|
id: uuidSchema13,
|
|
@@ -34923,7 +35217,7 @@ var migrationRunCheckpointSummarySchema = external_exports.object({
|
|
|
34923
35217
|
legal_resume_stage: migrationResumableStageSchema.nullable(),
|
|
34924
35218
|
last_completed_checkpoint_id: uuidSchema13.nullable(),
|
|
34925
35219
|
detail: jsonObjectSchema2,
|
|
34926
|
-
created_at:
|
|
35220
|
+
created_at: isoDateTime5
|
|
34927
35221
|
}).strict();
|
|
34928
35222
|
var migrationConsentWaitSummarySchema = external_exports.object({
|
|
34929
35223
|
id: uuidSchema13,
|
|
@@ -34940,19 +35234,19 @@ var migrationConsentWaitSummarySchema = external_exports.object({
|
|
|
34940
35234
|
evidence_ref: external_exports.string().refine((value) => value.trim().length > 0, {
|
|
34941
35235
|
message: "evidence_ref must not be blank"
|
|
34942
35236
|
}),
|
|
34943
|
-
opened_at:
|
|
34944
|
-
resolved_at:
|
|
34945
|
-
created_at:
|
|
34946
|
-
updated_at:
|
|
35237
|
+
opened_at: isoDateTime5,
|
|
35238
|
+
resolved_at: isoDateTime5.nullable(),
|
|
35239
|
+
created_at: isoDateTime5,
|
|
35240
|
+
updated_at: isoDateTime5
|
|
34947
35241
|
}).strict();
|
|
34948
35242
|
var clockSegmentSharedShape = {
|
|
34949
35243
|
id: uuidSchema13,
|
|
34950
35244
|
tenant_id: uuidSchema13,
|
|
34951
35245
|
run_id: uuidSchema13,
|
|
34952
|
-
started_at:
|
|
34953
|
-
ended_at:
|
|
34954
|
-
created_at:
|
|
34955
|
-
updated_at:
|
|
35246
|
+
started_at: isoDateTime5,
|
|
35247
|
+
ended_at: isoDateTime5.nullable(),
|
|
35248
|
+
created_at: isoDateTime5,
|
|
35249
|
+
updated_at: isoDateTime5
|
|
34956
35250
|
};
|
|
34957
35251
|
var activeClockSegmentSchema = external_exports.object({
|
|
34958
35252
|
...clockSegmentSharedShape,
|
|
@@ -34978,8 +35272,8 @@ var migrationItemDispositionSummarySchema = external_exports.object({
|
|
|
34978
35272
|
disposition: migrationItemDispositionSchema,
|
|
34979
35273
|
reason: external_exports.string().nullable(),
|
|
34980
35274
|
detail: jsonObjectSchema2,
|
|
34981
|
-
created_at:
|
|
34982
|
-
updated_at:
|
|
35275
|
+
created_at: isoDateTime5,
|
|
35276
|
+
updated_at: isoDateTime5
|
|
34983
35277
|
}).strict();
|
|
34984
35278
|
var migrationSourceMappingSummarySchema = external_exports.object({
|
|
34985
35279
|
id: uuidSchema13,
|
|
@@ -34992,8 +35286,8 @@ var migrationSourceMappingSummarySchema = external_exports.object({
|
|
|
34992
35286
|
target_id: uuidSchema13,
|
|
34993
35287
|
is_ai_transformed: external_exports.boolean(),
|
|
34994
35288
|
citation: jsonObjectSchema2.nullable(),
|
|
34995
|
-
created_at:
|
|
34996
|
-
updated_at:
|
|
35289
|
+
created_at: isoDateTime5,
|
|
35290
|
+
updated_at: isoDateTime5
|
|
34997
35291
|
}).strict().refine((mapping) => !mapping.is_ai_transformed || mapping.citation !== null, {
|
|
34998
35292
|
// Mirror migration_source_mappings_ai_citation_check `not is_ai_transformed or citation is
|
|
34999
35293
|
// not null`: an AI-transformed mapping MUST retain a source citation (R19).
|
|
@@ -36376,7 +36670,7 @@ var agentShowMarkdownInputSchema = external_exports.object({
|
|
|
36376
36670
|
|
|
36377
36671
|
// ../../packages/protocol/src/implementation-bootstrap.ts
|
|
36378
36672
|
var uuidSchema15 = external_exports.string().uuid();
|
|
36379
|
-
var
|
|
36673
|
+
var isoDateTime6 = external_exports.string().datetime({ offset: true });
|
|
36380
36674
|
var IMPLEMENTATION_BOOTSTRAP_SCOPE = "implementation_bootstrap";
|
|
36381
36675
|
var implementationBootstrapScopeSchema = external_exports.literal(IMPLEMENTATION_BOOTSTRAP_SCOPE);
|
|
36382
36676
|
var deviceAuthorizationPurposeSchema = external_exports.enum(["user_session", "implementation_bootstrap", "operator_grant"]);
|
|
@@ -36407,8 +36701,8 @@ var implementationRunSummarySchema = external_exports.object({
|
|
|
36407
36701
|
// ceiling. A wider protocol bound would let an 81+-char value validate here
|
|
36408
36702
|
// only to abort the write at the DB boundary.
|
|
36409
36703
|
source_client: external_exports.string().min(1).max(80).nullable(),
|
|
36410
|
-
expires_at:
|
|
36411
|
-
created_at:
|
|
36704
|
+
expires_at: isoDateTime6.nullable(),
|
|
36705
|
+
created_at: isoDateTime6
|
|
36412
36706
|
}).strict();
|
|
36413
36707
|
var implementationBootstrapContextSchema = external_exports.object({
|
|
36414
36708
|
token_id: uuidSchema15,
|
|
@@ -36760,7 +37054,7 @@ var baserowFilterOperatorOptions = Object.keys(BASEROW_FILTER_OPERATORS).map((va
|
|
|
36760
37054
|
}));
|
|
36761
37055
|
|
|
36762
37056
|
// ../../packages/protocol/src/signal-source.ts
|
|
36763
|
-
var
|
|
37057
|
+
var uuid10 = external_exports.string().uuid();
|
|
36764
37058
|
var signalCadenceSchema = external_exports.enum(["daily", "weekly", "monthly", "quarterly", "annual"]);
|
|
36765
37059
|
var signalRecipeAuthSchema = external_exports.object({
|
|
36766
37060
|
placement: external_exports.enum(["none", "bearer", "header", "query"]).default("none"),
|
|
@@ -36825,10 +37119,10 @@ var signalSourceRecipePresetSchema = external_exports.object({
|
|
|
36825
37119
|
}).strict();
|
|
36826
37120
|
var PREVIEW_TOKEN_DEFAULT_TTL_SECONDS = 10 * 60;
|
|
36827
37121
|
var integrationDiscoverInputSchema = external_exports.object({
|
|
36828
|
-
integration_id:
|
|
37122
|
+
integration_id: uuid10
|
|
36829
37123
|
}).strict();
|
|
36830
37124
|
var integrationDiscoverOutputSchema = external_exports.object({
|
|
36831
|
-
integration_id:
|
|
37125
|
+
integration_id: uuid10,
|
|
36832
37126
|
provider: external_exports.string(),
|
|
36833
37127
|
adapter_type: external_exports.enum(["rest", "oauth", "remote_mcp", "webhook"]),
|
|
36834
37128
|
status: external_exports.enum(["connected", "error", "disconnected"]),
|
|
@@ -36839,15 +37133,15 @@ var integrationDiscoverOutputSchema = external_exports.object({
|
|
|
36839
37133
|
note: external_exports.string()
|
|
36840
37134
|
}).strict();
|
|
36841
37135
|
var signalPreviewInputSchema = external_exports.object({
|
|
36842
|
-
measurable_id:
|
|
36843
|
-
integration_id:
|
|
37136
|
+
measurable_id: uuid10,
|
|
37137
|
+
integration_id: uuid10,
|
|
36844
37138
|
recipe: restForSignalsRecipeSchema,
|
|
36845
37139
|
cadence: signalCadenceSchema,
|
|
36846
37140
|
host_allowlist: external_exports.array(external_exports.string().min(1).max(255)).min(1).max(20)
|
|
36847
37141
|
}).strict();
|
|
36848
37142
|
var signalPreviewOutputSchema = external_exports.object({
|
|
36849
|
-
measurable_id:
|
|
36850
|
-
integration_id:
|
|
37143
|
+
measurable_id: uuid10,
|
|
37144
|
+
integration_id: uuid10,
|
|
36851
37145
|
outcome: external_exports.enum(["ok", "blocked", "error"]),
|
|
36852
37146
|
value: external_exports.union([external_exports.number(), external_exports.string(), external_exports.boolean(), external_exports.null()]).optional(),
|
|
36853
37147
|
value_kind: external_exports.string(),
|
|
@@ -36855,11 +37149,11 @@ var signalPreviewOutputSchema = external_exports.object({
|
|
|
36855
37149
|
preview_token: external_exports.string().optional(),
|
|
36856
37150
|
preview_expires_at: external_exports.string().optional(),
|
|
36857
37151
|
message: external_exports.string().optional(),
|
|
36858
|
-
pull_log_id:
|
|
37152
|
+
pull_log_id: uuid10.nullable()
|
|
36859
37153
|
}).strict();
|
|
36860
37154
|
var signalBindInputSchema = external_exports.object({
|
|
36861
|
-
measurable_id:
|
|
36862
|
-
integration_id:
|
|
37155
|
+
measurable_id: uuid10,
|
|
37156
|
+
integration_id: uuid10,
|
|
36863
37157
|
recipe: restForSignalsRecipeSchema,
|
|
36864
37158
|
cadence: signalCadenceSchema,
|
|
36865
37159
|
host_allowlist: external_exports.array(external_exports.string().min(1).max(255)).min(1).max(20),
|
|
@@ -36870,12 +37164,12 @@ var signalBindInputSchema = external_exports.object({
|
|
|
36870
37164
|
role: external_exports.enum(["informs", "drives_status"]).default("informs")
|
|
36871
37165
|
}).strict();
|
|
36872
37166
|
var signalBindOutputSchema = external_exports.object({
|
|
36873
|
-
binding_id:
|
|
36874
|
-
measurable_id:
|
|
37167
|
+
binding_id: uuid10,
|
|
37168
|
+
measurable_id: uuid10,
|
|
36875
37169
|
binding_status: external_exports.literal("draft")
|
|
36876
37170
|
}).strict();
|
|
36877
37171
|
var signalBindConfirmInputSchema = external_exports.object({
|
|
36878
|
-
binding_id:
|
|
37172
|
+
binding_id: uuid10,
|
|
36879
37173
|
// For a `drives_status` binding, confirm a prior closed period matches the
|
|
36880
37174
|
// customer's books (R5 second anchor) before the binding may drive status.
|
|
36881
37175
|
second_anchor: external_exports.object({
|
|
@@ -36884,8 +37178,8 @@ var signalBindConfirmInputSchema = external_exports.object({
|
|
|
36884
37178
|
}).strict().optional()
|
|
36885
37179
|
}).strict();
|
|
36886
37180
|
var signalBindConfirmOutputSchema = external_exports.object({
|
|
36887
|
-
binding_id:
|
|
36888
|
-
measurable_id:
|
|
37181
|
+
binding_id: uuid10,
|
|
37182
|
+
measurable_id: uuid10,
|
|
36889
37183
|
binding_status: external_exports.literal("active")
|
|
36890
37184
|
}).strict();
|
|
36891
37185
|
|
|
@@ -37516,6 +37810,75 @@ var charterInputReachabilityWarningSchema = external_exports.object({
|
|
|
37516
37810
|
source: external_exports.enum(["agent", "integration"]),
|
|
37517
37811
|
reason: boundedText(1e3)
|
|
37518
37812
|
}).strict();
|
|
37813
|
+
var onboardingAgentLaneSchema = external_exports.enum(["cloud", "mcp_session", "runner"]);
|
|
37814
|
+
var onboardingRunnerCompatibilityBindingSchema = external_exports.object({
|
|
37815
|
+
seat_key: boundedText(120),
|
|
37816
|
+
tenant_id: uuidSchema17,
|
|
37817
|
+
seat_id: uuidSchema17.nullable(),
|
|
37818
|
+
charter_digest: digestSchema2,
|
|
37819
|
+
manifest_digest: digestSchema2,
|
|
37820
|
+
runtime: runnerSetupRuntimeSchema,
|
|
37821
|
+
support_registry_digest: digestSchema2,
|
|
37822
|
+
validation_receipt_current: external_exports.boolean(),
|
|
37823
|
+
// The four non-current reasons are `runnerValidationReceiptCurrency`'s own
|
|
37824
|
+
// vocabulary, carried through verbatim rather than re-derived. The fifth,
|
|
37825
|
+
// `receipt_missing`, covers "the session holds no receipt for this runtime
|
|
37826
|
+
// at all" — distinct from a receipt that exists and failed currency. A null
|
|
37827
|
+
// reason therefore means exactly one thing: the receipt IS current.
|
|
37828
|
+
validation_receipt_reason: external_exports.enum([
|
|
37829
|
+
"service_key_revoked",
|
|
37830
|
+
"receipt_runner_mismatch",
|
|
37831
|
+
"receipt_generation_stale",
|
|
37832
|
+
"receipt_expired",
|
|
37833
|
+
"receipt_missing"
|
|
37834
|
+
]).nullable(),
|
|
37835
|
+
requested_lane: onboardingAgentLaneSchema,
|
|
37836
|
+
effective_lane: onboardingAgentLaneSchema
|
|
37837
|
+
}).strict();
|
|
37838
|
+
var onboardingRunnerSetupFactsSchema = external_exports.object({
|
|
37839
|
+
setup_id: uuidSchema17,
|
|
37840
|
+
selected_runtimes: runnerSetupSelectedRuntimesSchema,
|
|
37841
|
+
stage: runnerSetupStageSchema,
|
|
37842
|
+
status: runnerSetupStatusSchema,
|
|
37843
|
+
checkpoints: external_exports.array(runnerSetupCheckpointSchema).max(200),
|
|
37844
|
+
attempt_count: external_exports.number().int().nonnegative(),
|
|
37845
|
+
first_action_at: external_exports.string().datetime({ offset: true }).nullable(),
|
|
37846
|
+
attempts_exhausted: external_exports.boolean(),
|
|
37847
|
+
window_exhausted: external_exports.boolean(),
|
|
37848
|
+
// `at` is nullable, not merely optional: migration 0170's two correlation
|
|
37849
|
+
// CHECKs (`runner_setup_sessions_blocker_correlation_check`,
|
|
37850
|
+
// `runner_setup_sessions_terminal_correlation_check`) together make
|
|
37851
|
+
// `blocker_code is not null` imply `status = 'blocked'`, which is NOT one of
|
|
37852
|
+
// the terminal statuses, which implies `terminal_at is null`. A session that
|
|
37853
|
+
// actually carries a blocker code therefore always has a null `terminal_at`
|
|
37854
|
+
// — requiring `at` to be non-null would make this field permanently
|
|
37855
|
+
// unreachable through any legal row.
|
|
37856
|
+
terminal_blocker: external_exports.object({
|
|
37857
|
+
code: runnerSetupBlockerCodeSchema,
|
|
37858
|
+
at: external_exports.string().datetime({ offset: true }).nullable()
|
|
37859
|
+
}).strict().nullable(),
|
|
37860
|
+
consumable: external_exports.boolean(),
|
|
37861
|
+
// `run_mismatch` is deliberately NOT a member here: a foreign-run lookup is
|
|
37862
|
+
// refused by `loadOnboardingRunnerSetupFacts` returning `null` for the whole
|
|
37863
|
+
// facts object (there is no facts object to carry a reason), so the value is
|
|
37864
|
+
// unrepresentable BY CONSTRUCTION, not merely unused.
|
|
37865
|
+
//
|
|
37866
|
+
// `blocked` is the ONE refusal that carries a populated `terminal_blocker`:
|
|
37867
|
+
// migration 0170's correlation CHECKs make `blocker_code is not null` imply
|
|
37868
|
+
// `status = 'blocked'`, so every other refusal reason leaves that field inert
|
|
37869
|
+
// (null). Before this member existed a `blocked` session matched no refusal
|
|
37870
|
+
// branch at all and read as `consumable: true` — fail-open — while the
|
|
37871
|
+
// blocker code was computed and then never used.
|
|
37872
|
+
refusal_reason: external_exports.enum([
|
|
37873
|
+
"expired",
|
|
37874
|
+
"terminal",
|
|
37875
|
+
"blocked",
|
|
37876
|
+
"runtime_mismatch",
|
|
37877
|
+
"attempts_exhausted",
|
|
37878
|
+
"window_exhausted"
|
|
37879
|
+
]).nullable(),
|
|
37880
|
+
agent_compatibility: external_exports.array(onboardingRunnerCompatibilityBindingSchema).max(200)
|
|
37881
|
+
}).strict();
|
|
37519
37882
|
var onboardingSetupApprovalProjectionSchema = external_exports.object({
|
|
37520
37883
|
kind: external_exports.literal("onboarding_setup"),
|
|
37521
37884
|
submitted_plan_digest: digestSchema2,
|
|
@@ -37566,7 +37929,12 @@ var onboardingSetupApprovalProjectionSchema = external_exports.object({
|
|
|
37566
37929
|
// human sees each unreachable input by name on the composite approval card
|
|
37567
37930
|
// before approving. Optional with a `[]` default so already-stored
|
|
37568
37931
|
// projections (written before this field existed) still re-parse.
|
|
37569
|
-
charter_input_warnings: external_exports.array(charterInputReachabilityWarningSchema).max(2e3).default([])
|
|
37932
|
+
charter_input_warnings: external_exports.array(charterInputReachabilityWarningSchema).max(2e3).default([]),
|
|
37933
|
+
// DER-3347: runner-setup facts for the onboarding approval card. Nullable
|
|
37934
|
+
// with a `null` default so already-stored projections (written before this
|
|
37935
|
+
// field existed) still re-parse — same reasoning, same shape as
|
|
37936
|
+
// `charter_input_warnings` above.
|
|
37937
|
+
runner_setup: onboardingRunnerSetupFactsSchema.nullable().default(null)
|
|
37570
37938
|
}).strict();
|
|
37571
37939
|
|
|
37572
37940
|
// ../../packages/protocol/src/onboarding-steps.ts
|
|
@@ -38265,7 +38633,7 @@ var invitePurposeSchema = external_exports.enum(["ordinary", "cohort"]);
|
|
|
38265
38633
|
// ../../packages/protocol/src/mcp-onboarding.ts
|
|
38266
38634
|
var MCP_TOKEN_ABSOLUTE_MAX_EXPIRY_MS = (MCP_TOKEN_NO_EXPIRY_SENTINEL_DAYS + 1) * 24 * 60 * 60 * 1e3;
|
|
38267
38635
|
var uuidSchema20 = external_exports.string().uuid();
|
|
38268
|
-
var
|
|
38636
|
+
var isoDateTime7 = external_exports.string().datetime({ offset: true });
|
|
38269
38637
|
var onboardingStatusInputSchema = external_exports.object({}).strict();
|
|
38270
38638
|
var onboardingStatusOutputSchema = external_exports.object({
|
|
38271
38639
|
completed_steps: external_exports.array(external_exports.string().min(1)),
|
|
@@ -38291,7 +38659,7 @@ var onboardingStatusOutputSchema = external_exports.object({
|
|
|
38291
38659
|
// `onboard status` agree with `onboarding.finish` — previously the two were
|
|
38292
38660
|
// disconnected and status perpetually recommended "Finish onboarding".
|
|
38293
38661
|
onboarded: external_exports.boolean(),
|
|
38294
|
-
completed_at:
|
|
38662
|
+
completed_at: isoDateTime7.nullable(),
|
|
38295
38663
|
next_recommended_actions: external_exports.array(external_exports.string().min(1)),
|
|
38296
38664
|
// DER-2154 (U1): which onboarding path the tenant has chosen (guided vs.
|
|
38297
38665
|
// agent_led). null = not yet chosen.
|
|
@@ -38979,7 +39347,7 @@ var recommendationEventInputSchema = external_exports.object({
|
|
|
38979
39347
|
|
|
38980
39348
|
// ../../packages/protocol/src/reads.ts
|
|
38981
39349
|
var uuidSchema22 = external_exports.string().uuid();
|
|
38982
|
-
var
|
|
39350
|
+
var isoDateTime8 = external_exports.string().datetime({ offset: true });
|
|
38983
39351
|
var seatTypeSchema = external_exports.enum(["human", "agent", "hybrid"]);
|
|
38984
39352
|
var seatStatusSchema = external_exports.enum(["draft", "active", "vacant", "decommissioned"]);
|
|
38985
39353
|
var rollupStateSchema = external_exports.enum(["ok", "risk", "crit", "pending"]);
|
|
@@ -39046,8 +39414,8 @@ var seatGetOutputSchema = external_exports.object({
|
|
|
39046
39414
|
occupancy_id: uuidSchema22,
|
|
39047
39415
|
occupant_type: external_exports.enum(["user", "agent"]),
|
|
39048
39416
|
label: external_exports.string(),
|
|
39049
|
-
started_at:
|
|
39050
|
-
ended_at:
|
|
39417
|
+
started_at: isoDateTime8,
|
|
39418
|
+
ended_at: isoDateTime8.nullable()
|
|
39051
39419
|
}).strict()),
|
|
39052
39420
|
active_charter_version_id: uuidSchema22.nullable(),
|
|
39053
39421
|
draft_charter_version_id: uuidSchema22.nullable(),
|
|
@@ -39056,12 +39424,12 @@ var seatGetOutputSchema = external_exports.object({
|
|
|
39056
39424
|
mcp_tokens: external_exports.array(external_exports.object({
|
|
39057
39425
|
token_id: uuidSchema22,
|
|
39058
39426
|
scope: mcpScopeSchema,
|
|
39059
|
-
created_at:
|
|
39060
|
-
last_seen_at:
|
|
39427
|
+
created_at: isoDateTime8,
|
|
39428
|
+
last_seen_at: isoDateTime8.nullable(),
|
|
39061
39429
|
// DER-830: expires_at is NOT NULL; surface days-remaining alongside it.
|
|
39062
|
-
expires_at:
|
|
39430
|
+
expires_at: isoDateTime8,
|
|
39063
39431
|
expires_in_days: external_exports.number().int(),
|
|
39064
|
-
revoked_at:
|
|
39432
|
+
revoked_at: isoDateTime8.nullable()
|
|
39065
39433
|
}).strict()),
|
|
39066
39434
|
credentials: external_exports.array(external_exports.object({
|
|
39067
39435
|
credential_id: uuidSchema22,
|
|
@@ -39085,8 +39453,8 @@ var charterSummarySchema = external_exports.object({
|
|
|
39085
39453
|
seat_id: uuidSchema22,
|
|
39086
39454
|
version: external_exports.number().int().nonnegative(),
|
|
39087
39455
|
status: charterStatusSchema,
|
|
39088
|
-
created_at:
|
|
39089
|
-
approved_at:
|
|
39456
|
+
created_at: isoDateTime8,
|
|
39457
|
+
approved_at: isoDateTime8.nullable()
|
|
39090
39458
|
}).strict();
|
|
39091
39459
|
var charterListOutputSchema = external_exports.object({
|
|
39092
39460
|
charters: external_exports.array(charterSummarySchema)
|
|
@@ -39099,8 +39467,8 @@ var charterGetOutputSchema = external_exports.object({
|
|
|
39099
39467
|
seat_id: uuidSchema22,
|
|
39100
39468
|
version: external_exports.number().int().nonnegative(),
|
|
39101
39469
|
status: charterStatusSchema,
|
|
39102
|
-
created_at:
|
|
39103
|
-
approved_at:
|
|
39470
|
+
created_at: isoDateTime8,
|
|
39471
|
+
approved_at: isoDateTime8.nullable(),
|
|
39104
39472
|
doc: external_exports.unknown(),
|
|
39105
39473
|
history: external_exports.array(charterSummarySchema),
|
|
39106
39474
|
dry_run: external_exports.object({
|
|
@@ -39188,7 +39556,7 @@ var agentLivenessSchema = external_exports.object({
|
|
|
39188
39556
|
}).strict();
|
|
39189
39557
|
var fleetHostResourceSchema = external_exports.object({
|
|
39190
39558
|
reporting: external_exports.boolean(),
|
|
39191
|
-
observed_at:
|
|
39559
|
+
observed_at: isoDateTime8.nullable(),
|
|
39192
39560
|
load_avg_1m: external_exports.number().nullable(),
|
|
39193
39561
|
cpu_count: external_exports.number().int().nullable(),
|
|
39194
39562
|
memory_total_mb: external_exports.number().nullable(),
|
|
@@ -39212,8 +39580,8 @@ var fleetWorkProgressSchema = external_exports.object({
|
|
|
39212
39580
|
reasons: external_exports.array(external_exports.string()),
|
|
39213
39581
|
claimed_state: workProgressStateSchema.nullable(),
|
|
39214
39582
|
claim_mismatch: external_exports.boolean(),
|
|
39215
|
-
last_activity_at:
|
|
39216
|
-
last_durable_activity_at:
|
|
39583
|
+
last_activity_at: isoDateTime8.nullable(),
|
|
39584
|
+
last_durable_activity_at: isoDateTime8.nullable()
|
|
39217
39585
|
}).strict();
|
|
39218
39586
|
var fleetOverviewRowSchema = external_exports.object({
|
|
39219
39587
|
seat_id: uuidSchema22,
|
|
@@ -39226,7 +39594,7 @@ var fleetOverviewRowSchema = external_exports.object({
|
|
|
39226
39594
|
lane: agentLaneSchema3.nullable(),
|
|
39227
39595
|
agent_status: external_exports.enum(["draft", "dry_run", "live", "paused", "decommissioned", "vacant"]),
|
|
39228
39596
|
live: external_exports.boolean(),
|
|
39229
|
-
last_turn_at:
|
|
39597
|
+
last_turn_at: isoDateTime8.nullable(),
|
|
39230
39598
|
turns_24h: external_exports.number().int().nonnegative(),
|
|
39231
39599
|
turns_7d: external_exports.number().int().nonnegative(),
|
|
39232
39600
|
top_measurable_status: external_exports.enum(["on", "off", "pending", "none"]),
|
|
@@ -39258,8 +39626,8 @@ var runErrorLogSchema = external_exports.object({
|
|
|
39258
39626
|
severity: external_exports.enum(["warning", "error", "critical"]),
|
|
39259
39627
|
code: external_exports.string().nullable(),
|
|
39260
39628
|
message: external_exports.string(),
|
|
39261
|
-
created_at:
|
|
39262
|
-
resolved_at:
|
|
39629
|
+
created_at: isoDateTime8,
|
|
39630
|
+
resolved_at: isoDateTime8.nullable()
|
|
39263
39631
|
}).strict();
|
|
39264
39632
|
var agentFleetDigestInputSchema = external_exports.object({
|
|
39265
39633
|
window_hours: external_exports.number().int().min(1).max(168).default(24),
|
|
@@ -39272,8 +39640,8 @@ var fleetDigestRunSchema = external_exports.object({
|
|
|
39272
39640
|
status: runStatusSchema,
|
|
39273
39641
|
lane: agentLaneSchema3,
|
|
39274
39642
|
model: external_exports.string(),
|
|
39275
|
-
started_at:
|
|
39276
|
-
finished_at:
|
|
39643
|
+
started_at: isoDateTime8,
|
|
39644
|
+
finished_at: isoDateTime8.nullable(),
|
|
39277
39645
|
cost_usd: external_exports.string(),
|
|
39278
39646
|
error_logs: external_exports.array(runErrorLogSchema)
|
|
39279
39647
|
}).strict();
|
|
@@ -39294,7 +39662,7 @@ var fleetDigestNotificationErrorSchema = external_exports.object({
|
|
|
39294
39662
|
source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).nullable(),
|
|
39295
39663
|
seat_id: uuidSchema22.nullable(),
|
|
39296
39664
|
run_id: uuidSchema22.nullable(),
|
|
39297
|
-
created_at:
|
|
39665
|
+
created_at: isoDateTime8
|
|
39298
39666
|
}).strict();
|
|
39299
39667
|
var fleetDigestAgentSchema = fleetOverviewRowSchema.extend({
|
|
39300
39668
|
failed_runs_24h: external_exports.number().int().nonnegative(),
|
|
@@ -39313,7 +39681,7 @@ var fleetDigestAgentSchema = fleetOverviewRowSchema.extend({
|
|
|
39313
39681
|
suggested_next_action: external_exports.string()
|
|
39314
39682
|
}).strict();
|
|
39315
39683
|
var agentFleetDigestOutputSchema = external_exports.object({
|
|
39316
|
-
generated_at:
|
|
39684
|
+
generated_at: isoDateTime8,
|
|
39317
39685
|
window_hours: external_exports.number().int().min(1).max(168),
|
|
39318
39686
|
summary: external_exports.object({
|
|
39319
39687
|
fleet_count: external_exports.number().int().nonnegative(),
|
|
@@ -39339,7 +39707,7 @@ var seatTrustSummarySchema = external_exports.object({
|
|
|
39339
39707
|
tool_call_count: external_exports.number().int().nonnegative(),
|
|
39340
39708
|
denied_tool_call_count: external_exports.number().int().nonnegative(),
|
|
39341
39709
|
held_tool_call_count: external_exports.number().int().nonnegative(),
|
|
39342
|
-
last_activity_at:
|
|
39710
|
+
last_activity_at: isoDateTime8.nullable()
|
|
39343
39711
|
}).strict();
|
|
39344
39712
|
var agentListRunsInputSchema = external_exports.object({
|
|
39345
39713
|
seat_id: uuidSchema22,
|
|
@@ -39361,8 +39729,8 @@ var seatRunSchema = external_exports.object({
|
|
|
39361
39729
|
status: runStatusSchema,
|
|
39362
39730
|
lane: agentLaneSchema3,
|
|
39363
39731
|
model: external_exports.string(),
|
|
39364
|
-
started_at:
|
|
39365
|
-
finished_at:
|
|
39732
|
+
started_at: isoDateTime8,
|
|
39733
|
+
finished_at: isoDateTime8.nullable(),
|
|
39366
39734
|
cost_usd: external_exports.string(),
|
|
39367
39735
|
tool_call_count: external_exports.number().int().nonnegative(),
|
|
39368
39736
|
denied_tool_call_count: external_exports.number().int().nonnegative(),
|
|
@@ -39395,7 +39763,7 @@ var seatRunDetailSchema = seatRunSchema.extend({
|
|
|
39395
39763
|
content_sha256: external_exports.string().regex(/^[a-f0-9]{64}$/),
|
|
39396
39764
|
size_bytes: external_exports.number().int().nonnegative()
|
|
39397
39765
|
}).strict()),
|
|
39398
|
-
created_at:
|
|
39766
|
+
created_at: isoDateTime8
|
|
39399
39767
|
}).strict()),
|
|
39400
39768
|
// DER-1661/DER-1753: the persisted session transcript, present only when the read
|
|
39401
39769
|
// asked for it (`transcript: true`) — null when requested but none was persisted.
|
|
@@ -39423,8 +39791,8 @@ var seatToolCallSchema = external_exports.object({
|
|
|
39423
39791
|
guard_result: guardResultSchema,
|
|
39424
39792
|
manifest_clause: external_exports.string().nullable(),
|
|
39425
39793
|
outcome: external_exports.string(),
|
|
39426
|
-
started_at:
|
|
39427
|
-
finished_at:
|
|
39794
|
+
started_at: isoDateTime8,
|
|
39795
|
+
finished_at: isoDateTime8.nullable()
|
|
39428
39796
|
}).strict();
|
|
39429
39797
|
var agentListToolCallsOutputSchema = external_exports.object({
|
|
39430
39798
|
seat_id: uuidSchema22,
|
|
@@ -39440,16 +39808,16 @@ var runWatchCurrentStateSchema = external_exports.object({
|
|
|
39440
39808
|
reasons: external_exports.array(external_exports.string()),
|
|
39441
39809
|
claimed_state: workProgressStateSchema.nullable(),
|
|
39442
39810
|
claim_mismatch: external_exports.boolean(),
|
|
39443
|
-
last_activity_at:
|
|
39444
|
-
last_durable_activity_at:
|
|
39811
|
+
last_activity_at: isoDateTime8.nullable(),
|
|
39812
|
+
last_durable_activity_at: isoDateTime8.nullable()
|
|
39445
39813
|
}).strict();
|
|
39446
39814
|
var runWatchHeartbeatSchema = external_exports.object({
|
|
39447
39815
|
state: external_exports.enum(["working", "quiet_healthy", "recovered", "stalled"]),
|
|
39448
39816
|
stalled: external_exports.boolean(),
|
|
39449
39817
|
current_phase: external_exports.string().nullable(),
|
|
39450
|
-
last_progress_at:
|
|
39451
|
-
expected_next_at:
|
|
39452
|
-
stall_after_at:
|
|
39818
|
+
last_progress_at: isoDateTime8.nullable(),
|
|
39819
|
+
expected_next_at: isoDateTime8.nullable(),
|
|
39820
|
+
stall_after_at: isoDateTime8.nullable(),
|
|
39453
39821
|
lease_remaining_ms: external_exports.number().nullable(),
|
|
39454
39822
|
reasons: external_exports.array(external_exports.string())
|
|
39455
39823
|
}).strict();
|
|
@@ -39469,7 +39837,7 @@ var agentWatchRunOutputSchema = external_exports.object({
|
|
|
39469
39837
|
heartbeat: runWatchHeartbeatSchema.nullable(),
|
|
39470
39838
|
transcript: sessionTranscriptReadResultSchema.nullable(),
|
|
39471
39839
|
tool_calls: external_exports.array(seatToolCallSchema),
|
|
39472
|
-
fetched_at:
|
|
39840
|
+
fetched_at: isoDateTime8
|
|
39473
39841
|
}).strict();
|
|
39474
39842
|
var deliverableKindSchema = external_exports.enum(["brief", "work_evidence", "artifact", "report", "other"]);
|
|
39475
39843
|
var deliverableLinkSchema = external_exports.object({
|
|
@@ -39492,7 +39860,7 @@ var deliverableRowSchema = external_exports.object({
|
|
|
39492
39860
|
title: external_exports.string(),
|
|
39493
39861
|
summary: external_exports.string().nullable(),
|
|
39494
39862
|
content: external_exports.string().nullable(),
|
|
39495
|
-
delivered_at:
|
|
39863
|
+
delivered_at: isoDateTime8,
|
|
39496
39864
|
source_run_status: external_exports.string().nullable(),
|
|
39497
39865
|
source_run_model: external_exports.string().nullable(),
|
|
39498
39866
|
source_run_log_ref: external_exports.string().nullable(),
|
|
@@ -39527,14 +39895,14 @@ var mcpTokenMetadataSchema = external_exports.object({
|
|
|
39527
39895
|
token_id: uuidSchema22,
|
|
39528
39896
|
scope: mcpScopeSchema,
|
|
39529
39897
|
seat_id: uuidSchema22.nullable(),
|
|
39530
|
-
created_at:
|
|
39531
|
-
last_seen_at:
|
|
39898
|
+
created_at: isoDateTime8,
|
|
39899
|
+
last_seen_at: isoDateTime8.nullable(),
|
|
39532
39900
|
// DER-830: expires_at is now always present (the column is NOT NULL).
|
|
39533
|
-
expires_at:
|
|
39901
|
+
expires_at: isoDateTime8,
|
|
39534
39902
|
// DER-830: whole days remaining until expiry, computed server-side. Negative
|
|
39535
39903
|
// when the token is already expired (so the CLI can render "expired").
|
|
39536
39904
|
expires_in_days: external_exports.number().int(),
|
|
39537
|
-
revoked_at:
|
|
39905
|
+
revoked_at: isoDateTime8.nullable()
|
|
39538
39906
|
}).strict();
|
|
39539
39907
|
var mcpTokenListOutputSchema = external_exports.object({
|
|
39540
39908
|
tokens: external_exports.array(mcpTokenMetadataSchema)
|
|
@@ -39550,8 +39918,8 @@ var devicePairingIntentSummarySchema = external_exports.object({
|
|
|
39550
39918
|
// intents are omitted by the reader, so they never appear on this contract.
|
|
39551
39919
|
status: external_exports.enum(["pending", "consumed"]),
|
|
39552
39920
|
created_by: uuidSchema22,
|
|
39553
|
-
created_at:
|
|
39554
|
-
expires_at:
|
|
39921
|
+
created_at: isoDateTime8,
|
|
39922
|
+
expires_at: isoDateTime8,
|
|
39555
39923
|
// Whole seconds until the intent's own TTL lapses. Never negative: the reader
|
|
39556
39924
|
// only returns still-live intents, and the command floors it at 0.
|
|
39557
39925
|
expires_in_seconds: external_exports.number().int().nonnegative(),
|
|
@@ -39582,14 +39950,14 @@ var errorLogListItemSchema = external_exports.object({
|
|
|
39582
39950
|
agent_id: uuidSchema22.nullable(),
|
|
39583
39951
|
run_id: uuidSchema22.nullable(),
|
|
39584
39952
|
disposition: external_exports.enum(["active", "acknowledged", "resolved", "superseded"]),
|
|
39585
|
-
resolved_at:
|
|
39953
|
+
resolved_at: isoDateTime8.nullable(),
|
|
39586
39954
|
resolved_by: uuidSchema22.nullable(),
|
|
39587
39955
|
resolution_reason: external_exports.string().nullable(),
|
|
39588
39956
|
linked_task_id: uuidSchema22.nullable(),
|
|
39589
39957
|
linked_issue_id: uuidSchema22.nullable(),
|
|
39590
39958
|
linked_pr_ref: external_exports.string().nullable(),
|
|
39591
39959
|
superseded_by_id: uuidSchema22.nullable(),
|
|
39592
|
-
created_at:
|
|
39960
|
+
created_at: isoDateTime8
|
|
39593
39961
|
}).strict();
|
|
39594
39962
|
var errorLogListOutputSchema = external_exports.object({
|
|
39595
39963
|
errors: external_exports.array(errorLogListItemSchema),
|
|
@@ -39606,7 +39974,7 @@ var errorLogResolveInputSchema = external_exports.object({
|
|
|
39606
39974
|
var errorLogResolveOutputSchema = external_exports.object({
|
|
39607
39975
|
error_log_id: uuidSchema22,
|
|
39608
39976
|
disposition: external_exports.enum(["acknowledged", "resolved"]),
|
|
39609
|
-
resolved_at:
|
|
39977
|
+
resolved_at: isoDateTime8
|
|
39610
39978
|
}).strict();
|
|
39611
39979
|
var errorLogSupersedeInputSchema = external_exports.object({
|
|
39612
39980
|
error_log_id: uuidSchema22,
|
|
@@ -39620,7 +39988,7 @@ var errorLogSupersedeOutputSchema = external_exports.object({
|
|
|
39620
39988
|
error_log_id: uuidSchema22,
|
|
39621
39989
|
superseded_by_id: uuidSchema22,
|
|
39622
39990
|
disposition: external_exports.literal("superseded"),
|
|
39623
|
-
resolved_at:
|
|
39991
|
+
resolved_at: isoDateTime8
|
|
39624
39992
|
}).strict();
|
|
39625
39993
|
var staleCandidateConfidenceSchema = external_exports.enum(["low", "medium", "high"]);
|
|
39626
39994
|
var staleCandidateEvidenceSchema = external_exports.array(external_exports.string());
|
|
@@ -39636,8 +40004,8 @@ var errorLogStaleCandidateSchema = external_exports.object({
|
|
|
39636
40004
|
message: external_exports.string(),
|
|
39637
40005
|
seat_id: uuidSchema22.nullable(),
|
|
39638
40006
|
occurrence_count: external_exports.number().int(),
|
|
39639
|
-
last_seen_at:
|
|
39640
|
-
created_at:
|
|
40007
|
+
last_seen_at: isoDateTime8,
|
|
40008
|
+
created_at: isoDateTime8,
|
|
39641
40009
|
days_stale: external_exports.number().int(),
|
|
39642
40010
|
linked_issue_id: uuidSchema22.nullable(),
|
|
39643
40011
|
linked_issue_resolved: external_exports.boolean(),
|
|
@@ -39654,8 +40022,8 @@ var escalationStaleCandidateSchema = external_exports.object({
|
|
|
39654
40022
|
seat_name: external_exports.string(),
|
|
39655
40023
|
reason: external_exports.string(),
|
|
39656
40024
|
status: external_exports.literal("open"),
|
|
39657
|
-
created_at:
|
|
39658
|
-
updated_at:
|
|
40025
|
+
created_at: isoDateTime8,
|
|
40026
|
+
updated_at: isoDateTime8,
|
|
39659
40027
|
days_stale: external_exports.number().int(),
|
|
39660
40028
|
referenced_refs: external_exports.array(external_exports.string()),
|
|
39661
40029
|
confidence: staleCandidateConfidenceSchema,
|
|
@@ -39670,8 +40038,8 @@ var frictionStaleCandidateSchema = external_exports.object({
|
|
|
39670
40038
|
summary: external_exports.string(),
|
|
39671
40039
|
severity: external_exports.enum(["low", "med", "high", "critical"]),
|
|
39672
40040
|
status: external_exports.enum(["open", "diagnosing"]),
|
|
39673
|
-
created_at:
|
|
39674
|
-
updated_at:
|
|
40041
|
+
created_at: isoDateTime8,
|
|
40042
|
+
updated_at: isoDateTime8,
|
|
39675
40043
|
days_stale: external_exports.number().int(),
|
|
39676
40044
|
action_task_id: uuidSchema22.nullable(),
|
|
39677
40045
|
action_task_status: external_exports.string().nullable(),
|
|
@@ -39758,9 +40126,9 @@ var runHeartbeatSeatRollupSchema = external_exports.object({
|
|
|
39758
40126
|
run_count: external_exports.number().int().nonnegative(),
|
|
39759
40127
|
stalled_run_count: external_exports.number().int().nonnegative(),
|
|
39760
40128
|
current_phase: external_exports.string().nullable(),
|
|
39761
|
-
last_progress_at:
|
|
39762
|
-
expected_next_at:
|
|
39763
|
-
stall_after_at:
|
|
40129
|
+
last_progress_at: isoDateTime8.nullable(),
|
|
40130
|
+
expected_next_at: isoDateTime8.nullable(),
|
|
40131
|
+
stall_after_at: isoDateTime8.nullable(),
|
|
39764
40132
|
done_count: external_exports.number().int().nonnegative(),
|
|
39765
40133
|
in_flight_count: external_exports.number().int().nonnegative(),
|
|
39766
40134
|
queued_count: external_exports.number().int().nonnegative(),
|
|
@@ -39774,7 +40142,7 @@ var agentRunHeartbeatsOutputSchema = external_exports.object({
|
|
|
39774
40142
|
// ../../packages/protocol/src/working-files.ts
|
|
39775
40143
|
var WORKING_FILE_MAX_PATH_CHARS = 512;
|
|
39776
40144
|
var WORKING_FILE_MAX_CONTENT_CHARS = 16384;
|
|
39777
|
-
var
|
|
40145
|
+
var isoDateTime9 = external_exports.string().datetime({ offset: true });
|
|
39778
40146
|
var workingFileContentTypeSchema = external_exports.enum([
|
|
39779
40147
|
"text/plain",
|
|
39780
40148
|
"text/markdown",
|
|
@@ -39853,10 +40221,10 @@ var workingFileSummarySchema = external_exports.object({
|
|
|
39853
40221
|
content_type: workingFileContentTypeSchema,
|
|
39854
40222
|
content_chars: external_exports.number().int().nonnegative(),
|
|
39855
40223
|
published_ref: external_exports.string().min(1).nullable(),
|
|
39856
|
-
published_at:
|
|
39857
|
-
expires_at:
|
|
39858
|
-
created_at:
|
|
39859
|
-
updated_at:
|
|
40224
|
+
published_at: isoDateTime9.nullable(),
|
|
40225
|
+
expires_at: isoDateTime9,
|
|
40226
|
+
created_at: isoDateTime9,
|
|
40227
|
+
updated_at: isoDateTime9
|
|
39860
40228
|
}).strict();
|
|
39861
40229
|
var workingFileReadResultSchema = workingFileSummarySchema.extend({
|
|
39862
40230
|
content: external_exports.string(),
|
|
@@ -39871,299 +40239,6 @@ var runSummaryOutputSchema = external_exports.object({
|
|
|
39871
40239
|
summary: external_exports.string().min(1).max(140)
|
|
39872
40240
|
});
|
|
39873
40241
|
|
|
39874
|
-
// ../../packages/protocol/src/runner-setup.ts
|
|
39875
|
-
var uuid10 = external_exports.string().uuid();
|
|
39876
|
-
var isoDateTime9 = external_exports.string().datetime({ offset: true });
|
|
39877
|
-
var sha256Hex = external_exports.string().regex(/^[0-9a-f]{64}$/, "expected a lowercase sha-256 hex digest");
|
|
39878
|
-
var runnerSetupRuntimeSchema = external_exports.enum(["claude", "codex"]);
|
|
39879
|
-
var runnerSetupSelectedRuntimesSchema = external_exports.array(runnerSetupRuntimeSchema).min(1).max(2).refine(
|
|
39880
|
-
(runtimes) => new Set(runtimes).size === runtimes.length,
|
|
39881
|
-
"selected runtimes must be distinct"
|
|
39882
|
-
);
|
|
39883
|
-
var runnerSetupStageSchema = external_exports.enum([
|
|
39884
|
-
"pairing",
|
|
39885
|
-
"provider_consent",
|
|
39886
|
-
"service_install",
|
|
39887
|
-
"runtime_validation",
|
|
39888
|
-
"heartbeat_wait",
|
|
39889
|
-
"ready"
|
|
39890
|
-
]);
|
|
39891
|
-
var runnerSetupStatusSchema = external_exports.enum([
|
|
39892
|
-
"active",
|
|
39893
|
-
"action_required",
|
|
39894
|
-
"blocked",
|
|
39895
|
-
"ready",
|
|
39896
|
-
"cancelled",
|
|
39897
|
-
"expired"
|
|
39898
|
-
]);
|
|
39899
|
-
var RUNNER_SETUP_TERMINAL_STATUSES = ["ready", "cancelled", "expired"];
|
|
39900
|
-
function isRunnerSetupTerminalStatus(status) {
|
|
39901
|
-
return RUNNER_SETUP_TERMINAL_STATUSES.includes(status);
|
|
39902
|
-
}
|
|
39903
|
-
var runnerSetupBlockerCodeSchema = external_exports.enum([
|
|
39904
|
-
"unsupported_platform",
|
|
39905
|
-
"unsupported_service_manager",
|
|
39906
|
-
"provider_version_unsupported",
|
|
39907
|
-
"provider_consent_failed",
|
|
39908
|
-
"pairing_expired",
|
|
39909
|
-
"validation_failed",
|
|
39910
|
-
"heartbeat_timeout",
|
|
39911
|
-
"service_key_revoked",
|
|
39912
|
-
"runner_revoked"
|
|
39913
|
-
]);
|
|
39914
|
-
var runnerSetupActionKindSchema = external_exports.enum([
|
|
39915
|
-
"device_pairing_approval",
|
|
39916
|
-
"provider_consent",
|
|
39917
|
-
// R7: unsupported service managers get a typed manual-service action and must
|
|
39918
|
-
// not claim full background readiness.
|
|
39919
|
-
"manual_service_install"
|
|
39920
|
-
]);
|
|
39921
|
-
var runnerSetupActionRequiredSchema = external_exports.object({
|
|
39922
|
-
kind: runnerSetupActionKindSchema,
|
|
39923
|
-
// Which selected runtime the action targets (provider consent); null for
|
|
39924
|
-
// runtime-neutral actions such as device pairing approval.
|
|
39925
|
-
runtime: runnerSetupRuntimeSchema.nullable(),
|
|
39926
|
-
// Server-generated allowlisted destination (e.g. the runner setup page).
|
|
39927
|
-
// Null when the action is completed locally on the machine.
|
|
39928
|
-
url: external_exports.string().max(600).nullable(),
|
|
39929
|
-
// Present only when the responding surface freshly minted/holds the raw code
|
|
39930
|
-
// (web setup page, local CLI ceremony). The server stores only hashes, so
|
|
39931
|
-
// remote command responses carry null here.
|
|
39932
|
-
user_code: external_exports.string().max(40).nullable(),
|
|
39933
|
-
expires_at: isoDateTime9.nullable()
|
|
39934
|
-
}).strict();
|
|
39935
|
-
var runnerSetupCheckpointWriterSchema = external_exports.enum(["server", "runner", "owner"]);
|
|
39936
|
-
var runnerSetupCheckpointSchema = external_exports.object({
|
|
39937
|
-
stage: runnerSetupStageSchema,
|
|
39938
|
-
key: external_exports.string().min(1).max(120),
|
|
39939
|
-
writer: runnerSetupCheckpointWriterSchema,
|
|
39940
|
-
// Runner-published checkpoints carry the caller's request digest so a replay
|
|
39941
|
-
// (same key + same digest) returns the stored checkpoint and a conflicting
|
|
39942
|
-
// rewrite (same key + different digest) is rejected. Server/owner-written
|
|
39943
|
-
// checkpoints carry null.
|
|
39944
|
-
request_digest: sha256Hex.nullable(),
|
|
39945
|
-
completed_at: isoDateTime9
|
|
39946
|
-
}).strict();
|
|
39947
|
-
var runnerSetupCheckpointPayloadSchema = external_exports.object({
|
|
39948
|
-
service_manager: external_exports.enum(["launchd", "manual"]).optional(),
|
|
39949
|
-
service_installed: external_exports.boolean().optional(),
|
|
39950
|
-
service_state_file_present: external_exports.boolean().optional(),
|
|
39951
|
-
cell_generation: external_exports.number().int().nonnegative().optional(),
|
|
39952
|
-
provider_cli_version: external_exports.string().max(40).regex(/^[0-9A-Za-z.+-]+$/).optional(),
|
|
39953
|
-
blocker_code: runnerSetupBlockerCodeSchema.optional()
|
|
39954
|
-
}).strict();
|
|
39955
|
-
var runnerSetupCheckpointPublishSchema = external_exports.object({
|
|
39956
|
-
setup_id: uuid10,
|
|
39957
|
-
stage: runnerSetupStageSchema,
|
|
39958
|
-
checkpoint_key: external_exports.string().min(1).max(120),
|
|
39959
|
-
request_digest: sha256Hex,
|
|
39960
|
-
payload: runnerSetupCheckpointPayloadSchema
|
|
39961
|
-
}).strict();
|
|
39962
|
-
var runnerValidationReceiptSchema = external_exports.object({
|
|
39963
|
-
version: external_exports.number().int().positive(),
|
|
39964
|
-
runner_id: uuid10,
|
|
39965
|
-
runtime: runnerSetupRuntimeSchema,
|
|
39966
|
-
credential_cell_generation: external_exports.number().int().nonnegative(),
|
|
39967
|
-
provider_cli_version: external_exports.string().max(40),
|
|
39968
|
-
rost_cli_version: external_exports.string().max(40),
|
|
39969
|
-
sandbox_policy_version: external_exports.string().max(40),
|
|
39970
|
-
mcp_config_digest: sha256Hex,
|
|
39971
|
-
service_key_generation: external_exports.number().int().nonnegative(),
|
|
39972
|
-
probe_capability_version: external_exports.number().int().positive(),
|
|
39973
|
-
issued_at: isoDateTime9,
|
|
39974
|
-
expires_at: isoDateTime9
|
|
39975
|
-
}).strict();
|
|
39976
|
-
var runnerSetupValidationChallengeSchema = external_exports.object({
|
|
39977
|
-
setup_id: uuid10,
|
|
39978
|
-
runtime: runnerSetupRuntimeSchema,
|
|
39979
|
-
nonce: external_exports.string().min(16).max(120),
|
|
39980
|
-
expires_at: isoDateTime9
|
|
39981
|
-
}).strict();
|
|
39982
|
-
var runnerSetupValidationResultSchema = external_exports.object({
|
|
39983
|
-
setup_id: uuid10,
|
|
39984
|
-
runtime: runnerSetupRuntimeSchema,
|
|
39985
|
-
// sha-256 of the nonce-derived probe answer — never raw provider output.
|
|
39986
|
-
nonce_proof: sha256Hex,
|
|
39987
|
-
service_key_generation: external_exports.number().int().nonnegative()
|
|
39988
|
-
}).strict();
|
|
39989
|
-
var runnerSetupValidationJobStatusSchema = external_exports.enum([
|
|
39990
|
-
"issued",
|
|
39991
|
-
"claimed",
|
|
39992
|
-
"completed",
|
|
39993
|
-
"failed",
|
|
39994
|
-
"expired"
|
|
39995
|
-
]);
|
|
39996
|
-
var runnerSetupValidationAttemptKindSchema = external_exports.enum([
|
|
39997
|
-
"runtime_probe",
|
|
39998
|
-
"aicos_acceptance"
|
|
39999
|
-
]);
|
|
40000
|
-
var runnerSetupValidationAttemptStatusSchema = external_exports.enum([
|
|
40001
|
-
"started",
|
|
40002
|
-
"succeeded",
|
|
40003
|
-
"failed"
|
|
40004
|
-
]);
|
|
40005
|
-
var runnerSetupValidationAttemptResultSchema = external_exports.object({
|
|
40006
|
-
runner_id: uuid10,
|
|
40007
|
-
runtime: runnerSetupRuntimeSchema,
|
|
40008
|
-
model: external_exports.string().max(120).regex(/^[0-9A-Za-z _./:+-]+$/).nullable(),
|
|
40009
|
-
provider_cli_version: external_exports.string().max(40).regex(/^[0-9A-Za-z.+-]+$/).nullable(),
|
|
40010
|
-
observed_at: isoDateTime9
|
|
40011
|
-
}).strict();
|
|
40012
|
-
var RUNNER_SETUP_VALIDATION_JOB_TERMINAL_STATUSES = [
|
|
40013
|
-
"completed",
|
|
40014
|
-
"failed",
|
|
40015
|
-
"expired"
|
|
40016
|
-
];
|
|
40017
|
-
var runnerSetupValidationJobSchema = external_exports.object({
|
|
40018
|
-
job_id: uuid10,
|
|
40019
|
-
setup_id: uuid10,
|
|
40020
|
-
runtime: runnerSetupRuntimeSchema,
|
|
40021
|
-
status: runnerSetupValidationJobStatusSchema,
|
|
40022
|
-
// Stamped at issue from the session's bound key; DER-3357's attempt path
|
|
40023
|
-
// compares it against the live generation (rotation-stale refusal).
|
|
40024
|
-
service_key_generation: external_exports.number().int().nonnegative(),
|
|
40025
|
-
expires_at: isoDateTime9,
|
|
40026
|
-
claimed_at: isoDateTime9.nullable(),
|
|
40027
|
-
completed_at: isoDateTime9.nullable(),
|
|
40028
|
-
created_at: isoDateTime9,
|
|
40029
|
-
updated_at: isoDateTime9
|
|
40030
|
-
}).strict().refine(
|
|
40031
|
-
(job) => RUNNER_SETUP_VALIDATION_JOB_TERMINAL_STATUSES.includes(job.status) === (job.completed_at !== null),
|
|
40032
|
-
"terminal status must correlate with completed_at"
|
|
40033
|
-
).refine(
|
|
40034
|
-
(job) => job.claimed_at === null || job.status !== "issued",
|
|
40035
|
-
"claimed_at requires a non-issued status"
|
|
40036
|
-
).refine(
|
|
40037
|
-
(job) => {
|
|
40038
|
-
const created = new Date(job.created_at).getTime();
|
|
40039
|
-
const expires = new Date(job.expires_at).getTime();
|
|
40040
|
-
return expires > created && expires <= created + 24 * 60 * 60 * 1e3;
|
|
40041
|
-
},
|
|
40042
|
-
"expires_at must be after created_at and within 24 hours"
|
|
40043
|
-
);
|
|
40044
|
-
var runnerSetupValidationAttemptSchema = external_exports.object({
|
|
40045
|
-
attempt_id: uuid10,
|
|
40046
|
-
job_id: uuid10,
|
|
40047
|
-
setup_id: uuid10,
|
|
40048
|
-
kind: runnerSetupValidationAttemptKindSchema,
|
|
40049
|
-
status: runnerSetupValidationAttemptStatusSchema,
|
|
40050
|
-
result: runnerSetupValidationAttemptResultSchema.nullable(),
|
|
40051
|
-
decision_id: uuid10.nullable(),
|
|
40052
|
-
activation_receipt_id: uuid10.nullable(),
|
|
40053
|
-
started_at: isoDateTime9,
|
|
40054
|
-
completed_at: isoDateTime9.nullable(),
|
|
40055
|
-
created_at: isoDateTime9,
|
|
40056
|
-
updated_at: isoDateTime9
|
|
40057
|
-
}).strict().refine(
|
|
40058
|
-
(attempt) => attempt.status === "started" === (attempt.completed_at === null),
|
|
40059
|
-
"started status must correlate with null completed_at"
|
|
40060
|
-
).refine(
|
|
40061
|
-
(attempt) => attempt.kind === "aicos_acceptance" === (attempt.decision_id !== null),
|
|
40062
|
-
"aicos_acceptance must be attributed to a decision"
|
|
40063
|
-
).refine(
|
|
40064
|
-
(attempt) => attempt.kind === "aicos_acceptance" === (attempt.activation_receipt_id !== null),
|
|
40065
|
-
"aicos_acceptance must be attributed to an activation receipt"
|
|
40066
|
-
);
|
|
40067
|
-
var runnerSetupValidationClaimRequestSchema = external_exports.object({
|
|
40068
|
-
setup_id: uuid10,
|
|
40069
|
-
runtime: runnerSetupRuntimeSchema
|
|
40070
|
-
}).strict();
|
|
40071
|
-
var runnerSetupValidationClaimResponseSchema = external_exports.object({
|
|
40072
|
-
job_id: uuid10,
|
|
40073
|
-
challenge: runnerSetupValidationChallengeSchema,
|
|
40074
|
-
probe_capability_version: external_exports.number().int().positive(),
|
|
40075
|
-
allowed_command_ids: external_exports.array(external_exports.string().min(1).max(120)).min(1).max(20)
|
|
40076
|
-
}).strict();
|
|
40077
|
-
var runnerSetupValidationReportRequestSchema = external_exports.object({
|
|
40078
|
-
job_id: uuid10,
|
|
40079
|
-
// The raw nonce travels back so the server can recompute the proof and
|
|
40080
|
-
// verify the round trip; the server itself only ever stored its sha-256.
|
|
40081
|
-
nonce: external_exports.string().min(16).max(120),
|
|
40082
|
-
result: runnerSetupValidationResultSchema,
|
|
40083
|
-
attempt: runnerSetupValidationAttemptResultSchema,
|
|
40084
|
-
// At least one id: the probe cannot have produced a result without invoking
|
|
40085
|
-
// the setup projection it is built on, and an EMPTY array made the result
|
|
40086
|
-
// route's `.some(...)` bound vacuously true — reporting nothing was the way
|
|
40087
|
-
// past the check (DER-3336).
|
|
40088
|
-
invoked_command_ids: external_exports.array(external_exports.string().min(1).max(120)).min(1).max(20),
|
|
40089
|
-
// DER-3336: machine FACTS about the runner's own environment — never a
|
|
40090
|
-
// VERDICT. `runnerValidationReceiptSchema` binds a receipt to these five
|
|
40091
|
-
// fields (and key rotation invalidates that binding), so the reporting
|
|
40092
|
-
// service must supply them for the server to mint a correct receipt. The
|
|
40093
|
-
// distinction that makes this safe: the runner may assert FACTS about
|
|
40094
|
-
// itself (what CLI/sandbox/MCP-config version it is running), which the
|
|
40095
|
-
// receipt BINDS and which rotation can invalidate — but there is still no
|
|
40096
|
-
// field anywhere in this request by which the runner asserts pass/fail.
|
|
40097
|
-
// The server alone derives that verdict (see the CRITICAL comment above).
|
|
40098
|
-
receipt_facts: runnerValidationReceiptSchema.pick({
|
|
40099
|
-
credential_cell_generation: true,
|
|
40100
|
-
provider_cli_version: true,
|
|
40101
|
-
rost_cli_version: true,
|
|
40102
|
-
sandbox_policy_version: true,
|
|
40103
|
-
mcp_config_digest: true
|
|
40104
|
-
})
|
|
40105
|
-
}).strict();
|
|
40106
|
-
var runnerSetupValidationReportResponseSchema = external_exports.object({
|
|
40107
|
-
job_id: uuid10,
|
|
40108
|
-
attempt_id: uuid10,
|
|
40109
|
-
verdict: external_exports.enum(["passed", "failed"]),
|
|
40110
|
-
receipt: runnerValidationReceiptSchema.nullable(),
|
|
40111
|
-
reason: external_exports.string().max(200).nullable()
|
|
40112
|
-
}).strict();
|
|
40113
|
-
var runnerRuntimeAuthStateSchema = external_exports.enum(["ready", "missing", "stale", "unknown"]);
|
|
40114
|
-
var runnerRuntimeSandboxStateSchema = external_exports.enum(["passed", "failed", "unknown"]);
|
|
40115
|
-
var runnerRuntimeValidationStateSchema = external_exports.enum([
|
|
40116
|
-
"current",
|
|
40117
|
-
"missing",
|
|
40118
|
-
"stale",
|
|
40119
|
-
"failed",
|
|
40120
|
-
"mismatch"
|
|
40121
|
-
]);
|
|
40122
|
-
var runnerRuntimeReadinessSchema = external_exports.object({
|
|
40123
|
-
runtime: runnerSetupRuntimeSchema,
|
|
40124
|
-
installed: external_exports.boolean(),
|
|
40125
|
-
cli_version: external_exports.string().max(40).nullable(),
|
|
40126
|
-
auth_state: runnerRuntimeAuthStateSchema,
|
|
40127
|
-
// The truthful cell-probe contract version (DER-3022 shape). Null when the
|
|
40128
|
-
// runner never advertised one — which is NOT ready.
|
|
40129
|
-
auth_contract_version: external_exports.number().int().positive().nullable(),
|
|
40130
|
-
sandbox_state: runnerRuntimeSandboxStateSchema,
|
|
40131
|
-
validation_state: runnerRuntimeValidationStateSchema,
|
|
40132
|
-
validation_receipt: runnerValidationReceiptSchema.nullable()
|
|
40133
|
-
}).strict();
|
|
40134
|
-
var runnerSetupSessionSchema = external_exports.object({
|
|
40135
|
-
setup_id: uuid10,
|
|
40136
|
-
stage: runnerSetupStageSchema,
|
|
40137
|
-
status: runnerSetupStatusSchema,
|
|
40138
|
-
selected_runtimes: runnerSetupSelectedRuntimesSchema,
|
|
40139
|
-
runner_id: uuid10.nullable(),
|
|
40140
|
-
blocker_code: runnerSetupBlockerCodeSchema.nullable(),
|
|
40141
|
-
action_required: runnerSetupActionRequiredSchema.nullable(),
|
|
40142
|
-
checkpoints: external_exports.array(runnerSetupCheckpointSchema),
|
|
40143
|
-
// One readiness entry per SELECTED runtime once observations exist; empty
|
|
40144
|
-
// until the first server-observed heartbeat/validation reaches the session.
|
|
40145
|
-
runtime_readiness: external_exports.array(runnerRuntimeReadinessSchema),
|
|
40146
|
-
service_key_generation: external_exports.number().int().nonnegative(),
|
|
40147
|
-
service_key_bound: external_exports.boolean(),
|
|
40148
|
-
service_key_revoked: external_exports.boolean(),
|
|
40149
|
-
expires_at: isoDateTime9,
|
|
40150
|
-
terminal_at: isoDateTime9.nullable(),
|
|
40151
|
-
created_at: isoDateTime9,
|
|
40152
|
-
updated_at: isoDateTime9
|
|
40153
|
-
}).strict();
|
|
40154
|
-
var runnerSetupStartInputSchema = external_exports.object({
|
|
40155
|
-
selected_runtimes: runnerSetupSelectedRuntimesSchema
|
|
40156
|
-
}).strict();
|
|
40157
|
-
var runnerSetupStatusInputSchema = external_exports.object({
|
|
40158
|
-
setup_id: uuid10
|
|
40159
|
-
}).strict();
|
|
40160
|
-
var runnerSetupResumeInputSchema = external_exports.object({
|
|
40161
|
-
setup_id: uuid10
|
|
40162
|
-
}).strict();
|
|
40163
|
-
var runnerSetupCancelInputSchema = external_exports.object({
|
|
40164
|
-
setup_id: uuid10
|
|
40165
|
-
}).strict();
|
|
40166
|
-
|
|
40167
40242
|
// ../../packages/protocol/src/system-health.ts
|
|
40168
40243
|
var uuidSchema23 = external_exports.string().uuid();
|
|
40169
40244
|
var isoDateTime10 = external_exports.string().datetime({ offset: true });
|
|
@@ -54338,7 +54413,7 @@ var COMMAND_MANIFEST = [
|
|
|
54338
54413
|
{ "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 }, { "name": "schedule_timezone", "flag": "schedule-timezone", "type": "string", "required": false }], "hasComplexInput": false, "help": "Set or clear an agent's scheduled execution; a live scheduled agent must keep a steward chain resolving to a human." },
|
|
54339
54414
|
{ "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." },
|
|
54340
54415
|
{ "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." },
|
|
54341
|
-
{ "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
|
|
54416
|
+
{ "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 for a human caller. An agent-class caller may change only lane and runner brain, and only by presenting a live, unconsumed activation receipt naming this command and that exact lane/runner-brain projection \u2014 cloud brain and managed-model fields are always refused for an agent-class call. Audited.", "requiredScope": "tenant", "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": true, "bootstrapClass": "execute_with_receipt", "help": "Update AICOS cloud managed/BYOK and runner Claude/Codex preferences. Agents hold no ambient authority: an agent-class call must present one valid, unconsumed, operation-bound single-use activation receipt, and may change only the lane and runner brain that receipt authorizes; cloud brain and managed-model fields stay owner-only. BYOK requires an active tenant Anthropic key." },
|
|
54342
54417
|
{ "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." },
|
|
54343
54418
|
{ "id": "cascade.import_okrs", "namespace": "cascade", "action": "import_okrs", "title": "Import objectives and key results from a generic OKR CSV", "description": "Bulk-import a generic OKR export (objectives + key results) into the Cascade. Company objectives become company_objective goals; seat objectives become seat goals under the resolved company objective; metric key results become measurables bound informs to their objective; milestone key results become milestone goals under a seat objective. Owners are seat names resolved to seats; requires an active cycle. Idempotent \u2014 re-importing the same file is a no-op; existing goals/measurables/bindings are matched, never duplicated.", "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 generic OKR CSV (objectives + key results) into the Cascade; objectives become goals, metric KRs become measurables bound informs, milestone KRs become milestone goals; owners resolve to seats." },
|
|
54344
54419
|
{ "id": "charter.apply_seat_type_recommendation", "namespace": "charter", "action": "apply_seat_type_recommendation", "title": "Apply Charter seat-type recommendation", "description": "Apply the seat-type recommendation from a draft Charter.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "charter_version_id", "flag": "charter-version-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Apply seat-type recommendations only after the Charter clarifies work shape, risk, and Steward accountability." },
|
|
@@ -56279,7 +56354,7 @@ Drafting can be assisted by agents. Activation is a human decision. When authori
|
|
|
56279
56354
|
order: 40,
|
|
56280
56355
|
title: "Agent staffing playbook",
|
|
56281
56356
|
summary: "How to decide whether a seat should be human, agent, or hybrid, and how to go live safely.",
|
|
56282
|
-
version: "2026-08-
|
|
56357
|
+
version: "2026-08-11.1",
|
|
56283
56358
|
public: true,
|
|
56284
56359
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
56285
56360
|
stages: ["staffing"],
|
|
@@ -56355,7 +56430,7 @@ After an agent runs, review its completed work as well as its telemetry. Seat pa
|
|
|
56355
56430
|
|
|
56356
56431
|
The lane a live agent runs on \u2014 cloud (the {{brand}}-managed runtime), a paired runner, or an external MCP session \u2014 is otherwise fixed once it goes live. To move a live agent to a different lane, use \`agent_setup.relane\` (owner-only, human-gated, with a required rationale): it pauses the agent, moves it to the new lane, forces a **fresh** dry-run rehearsal on that lane so lane-specific tool executability is honestly re-surfaced, then brings it back live. It honours the same substrate gate as go-live: an unscheduled runner target can still go live parked while no compatible runner is available, but a scheduled agent's readiness is checked before it returns to live. If the rehearsal fails, the agent is left paused on the new lane rather than going live, so a failed re-lane never wakes on a schedule. This path does not mint a new Charter version, so a seat whose Charter already carries signed manifest evidence needs that evidence re-signed for the new lane before its rehearsal can run.
|
|
56357
56432
|
|
|
56358
|
-
The governed AICOS seat's own lane change is a separate path \u2014 Settings -> AICOS, or \`aicos.brain_settings.update\` \u2014 and behaves differently on a live, recognized stock AICOS Charter: see the AICOS chat guide for the Charter successor it mints.
|
|
56433
|
+
The governed AICOS seat's own lane change is a separate path \u2014 Settings -> AICOS, or \`aicos.brain_settings.update\` \u2014 and behaves differently on a live, recognized stock AICOS Charter: see the AICOS chat guide for the Charter successor it mints. Agents hold no ambient authority over it: an agent-class caller must present one valid, unconsumed, operation-bound single-use activation receipt, and even then may change only the lane and runner brain that receipt authorizes. A draft agent's lane is still set directly with \`agent_setup.update\`.
|
|
56359
56434
|
|
|
56360
56435
|
\`agent_setup.update\` sets the lane only while the agent is still in setup. It refuses a lane change on a **paused** agent, because a paused agent carries a real Charter pin whose manifest evidence names its current lane and \`agent.resume\` brings it back live without re-checking that \u2014 so moving the lane there would put an agent live on evidence for a lane it no longer runs on, at a lower authority than either governed path requires. The refusal names the right one for the agent: \`aicos.brain_settings.update\` for the governed AICOS seat (it mints and re-signs the Charter evidence for the new lane), and \`agent_setup.relane\` for every other agent. Re-sending a paused agent's existing lane is unchanged \u2014 that is not a lane change. A \`dry_run\` agent's lane is still settable, and the go-live gate refuses to promote it until a fresh rehearsal and current manifest evidence both match the new lane.
|
|
56361
56436
|
|
|
@@ -56889,11 +56964,19 @@ External connectors are being rolled out provider by provider, conservatively (r
|
|
|
56889
56964
|
// table (resumable setup lifecycle).
|
|
56890
56965
|
// DER-3332: adds `runner setup` to the CLI command digest line.
|
|
56891
56966
|
// DER-3341: restates the `rost_update_aicos_brain_settings` row — the tool is
|
|
56892
|
-
// `Tenant`-scoped now, never stages a confirmation, and an AGENT caller
|
|
56893
|
-
//
|
|
56894
|
-
//
|
|
56895
|
-
//
|
|
56896
|
-
|
|
56967
|
+
// `Tenant`-scoped now, never stages a confirmation, and an AGENT caller has
|
|
56968
|
+
// no ambient authority from the calling token's owner-ness alone.
|
|
56969
|
+
// DER-3358: reopens the AGENT-class path — a call carrying one valid,
|
|
56970
|
+
// unconsumed, operation-bound single-use activation receipt may change the
|
|
56971
|
+
// lane and runner brain that receipt authorizes; a receiptless AGENT call,
|
|
56972
|
+
// or one touching cloud brain/managed-model fields, is still refused.
|
|
56973
|
+
// DER-3507: no caller can stage one FRESH, so it carries no confirmation
|
|
56974
|
+
// routing — the `/settings` deep link and Settings confirmation card were
|
|
56975
|
+
// deleted as dead. Not "never stages": `confirmation.remint` revives a
|
|
56976
|
+
// pre-DER-3341 stored row without re-consulting that rule and persists a
|
|
56977
|
+
// genuinely new row. Either way it resolves to the general `/approvals`
|
|
56978
|
+
// queue, which is where the table row below says it lands.
|
|
56979
|
+
version: "2026-08-11.2",
|
|
56897
56980
|
public: true,
|
|
56898
56981
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
56899
56982
|
stages: ["company_setup", "staffing"],
|
|
@@ -57769,7 +57852,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
57769
57852
|
| \`rost_update_tenant_tool_policy\` | \`settings.tool_policy.update\` | Update tenant capability-grant defaults and the AICOS auto-trust posture. | Tenant-admin | Owner/admin only and human-gated; call with \`{"mode":"managed","aicos":{"trust_new_capabilities_automatically":true}}\`. |
|
|
57770
57853
|
| \`rost_update_model_gateway_policy\` | \`tenant.model_gateway_policy.update\` | Unlock or relock managed models that lack a zero-retention (ZDR) tier. | Tenant-admin | Owner-only, human-gated; call with \`{"allow_non_zdr_models":true}\` (or \`false\` to relock). Unlocking establishes an ADR-0018 \xA76 standing authorization and surfaces a per-model retention disclosure. |
|
|
57771
57854
|
| \`rost_get_aicos_brain_settings\` | \`aicos.brain_settings.get\` | Read AICOS lane and brain labels for cloud managed/BYOK, runner Claude/Codex, and MCP client. | Tenant | Call with \`{}\`; returns enum labels only, never keys, vault refs, or runner secrets. |
|
|
57772
|
-
| \`rost_update_aicos_brain_settings\` | \`aicos.brain_settings.update\` | Update AICOS lane and cloud/runner brain preferences. | Tenant | Owner-only for a human caller, and it never stages a pending confirmation for anyone (DER-3341): an authenticated owner executes directly
|
|
57855
|
+
| \`rost_update_aicos_brain_settings\` | \`aicos.brain_settings.update\` | Update AICOS lane and cloud/runner brain preferences. | Tenant | Owner-only for a human caller, and it never stages a pending confirmation for anyone (DER-3341): an authenticated owner executes directly. Owner-ness of the calling token is never ambient authority for an agent: an AGENT caller must present one valid, unconsumed, operation-bound single-use activation receipt, and even then may change only the lane and runner brain that receipt authorizes \u2014 cloud brain and managed-model fields stay owner-only. A receiptless AGENT call is refused with a typed \`action_required\` and writes nothing. No caller can stage one fresh, so there is no Settings confirmation card or \`/settings\` deep link; a row stored before DER-3341 \u2014 including one revived by \`confirmation.remint\`, which does not re-consult that rule \u2014 resolves to the general approvals queue instead. Call with \`{"lane":"runner","runner_brain":"claude-cli"}\` or \`{"cloud_brain":"byok"}\`. BYOK requires an active tenant Anthropic key. For AICOS, selecting \`codex-cli\` is currently rejected until the governed interactive runner path is verified. |
|
|
57773
57856
|
| \`rost_list_signals\` | \`signal.list\` | List measurables with their latest reading, on/off-track state, and \`effective_source\` (read-time measured-by). | Seat or tenant-admin | Call with \`{}\` to find measurable ids. |
|
|
57774
57857
|
| \`rost_get_signal\` | \`signal.get\` | Read a measurable with its full reading history. | Seat or tenant-admin | Call with \`{"measurable_id":"<id>"}\`. |
|
|
57775
57858
|
| \`rost_confirm_signal_reading\` | \`signal.confirm_reading\` | Confirm an unconfirmed reading as human-verified. | Seat or tenant-admin | Humans confirm; call with \`{"reading_id":"<id>"}\`. |
|
|
@@ -59105,7 +59188,7 @@ A command carrying any of these risk categories always asks a human, even under
|
|
|
59105
59188
|
order: 72,
|
|
59106
59189
|
title: "Settings guide",
|
|
59107
59190
|
summary: "How to use Settings as the control plane for company access, channels, providers, tokens, and operating defaults.",
|
|
59108
|
-
version: "2026-08-
|
|
59191
|
+
version: "2026-08-11.1",
|
|
59109
59192
|
public: true,
|
|
59110
59193
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
59111
59194
|
stages: ["company_setup", "staffing"],
|
|
@@ -59189,7 +59272,7 @@ Agents that run on {{brand}}-managed inference draw against a tenant inference b
|
|
|
59189
59272
|
- Set the hard cap with \`settings.update\` (CLI: \`{{cli}} settings update --hard-cap-usd <amount>\`). The optional soft cap warns before the hard cap and must be less than or equal to it.
|
|
59190
59273
|
- The sandbox dry run is free and is never blocked by the cap, so a fresh company can charter, dry-run, and take an agent live before setting a budget. The cap applies only to real managed-inference runs.
|
|
59191
59274
|
- A company that brings its own provider key (BYOK) is metered on that key and is not subject to the {{brand}}-managed hard cap. BYOK changes the provider account used for eligible cloud calls, not the Charter, tool guard, human gate, or data-retention posture; see the ai-model-data-handling-guide before making provider-handling claims.
|
|
59192
|
-
- AICOS cloud brain selection is managed with \`aicos.brain_settings.get\` and \`aicos.brain_settings.update\` \u2014 owner-only
|
|
59275
|
+
- AICOS cloud brain selection is managed with \`aicos.brain_settings.get\` and \`aicos.brain_settings.update\` \u2014 owner-only for a human caller; an agent-class caller holds no ambient authority and must present one valid, unconsumed, operation-bound single-use activation receipt, and even then may change only the lane and runner brain that receipt authorizes (cloud brain and managed-model fields stay owner-only). Managed cloud answers draw from the included allowance; BYOK cloud answers meter against the tenant key. Runner Claude and MCP client answers are labeled separately and do not draw from the managed cloud allowance. The AICOS Codex runner choice remains gated off until the governed interactive runner path is verified.
|
|
59193
59276
|
|
|
59194
59277
|
## Company autonomy ceiling (Company Guardrails)
|
|
59195
59278
|
|