// GENERATED FILE. Run: node scripts/generate-agent-workflows.mjs export const UTILITO_AGENT_WORKFLOWS = { "schema_version": "utilito.agent-workflows.v1", "version": "1.0.0", "compiler_schema_version": "utilito.agent-use-case-compile.v1", "workflow_count": 10, "execution": false, "network_used_by_catalog": false, "storage_used_by_catalog": false, "workflows": [ { "schema_version": "utilito.agent-use-case.v1", "id": "contract-change-safety", "order": 1, "title": "Decide contract change safety", "job": "Decide whether an API/tool contract change is safe.", "outcome": "Reconcile 1–5 related submitted contracts, references, and fixtures into a deterministic pass, review, or block packet with explicit unknowns.", "keywords": [ "contract", "api", "tool schema", "compatibility", "release safety" ], "required_evidence": [ { "id": "contracts", "label": "Contract versions", "description": "Previous and current inline contracts, contract kinds, and directions.", "required": true }, { "id": "fixtures", "label": "Submitted fixtures", "description": "Bounded fixtures and explicit references.", "required": true }, { "id": "policy", "label": "Decision policy", "description": "Unknown and failure policy.", "required": true } ], "privacy": { "mode": "server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 262144, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "contract-review", "order": 1, "tool_id": "contract-reliability-workbench", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "contract-reliability-workbench", "example_index": 0 }, "bindings": [] } ], "limitations": [ "Conservative supported contract subset only; missing or unsupported semantics remain unknown." ], "sample_compile_input": { "use_case_id": "contract-change-safety", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 1105, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "contract-reliability-workbench" ] }, "request": { "input": { "contracts": [ { "current_contract": { "input_schema": { "additionalProperties": false, "properties": { "value": { "type": "string" } }, "required": [ "value" ], "type": "object" }, "name": "account", "output_schema": { "additionalProperties": false, "properties": { "ok": { "type": "boolean" } }, "required": [ "ok" ], "type": "object" } }, "id": "account-tool", "kind": "tool_contract", "previous_contract": { "input_schema": { "additionalProperties": false, "properties": { "value": { "type": "string" } }, "required": [ "value" ], "type": "object" }, "name": "account", "output_schema": { "additionalProperties": false, "properties": { "ok": { "type": "boolean" } }, "required": [ "ok" ], "type": "object" } }, "references": [], "version": "2" } ], "direction": "both", "fixtures": [ { "contract_ids": [ "account-tool" ], "expected": { "outcome": "accepted" }, "id": "input-ok", "target": "input", "value": { "value": "sample" } }, { "contract_ids": [ "account-tool" ], "expected": { "outcome": "accepted" }, "id": "output-ok", "target": "output", "value": { "ok": true } } ], "policy": { "cross_contract_findings": "block", "fixture_failures": "block", "unknowns": "block" } }, "response_mode": "full", "tool_id": "contract-reliability-workbench" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "contract-change-safety" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "find-utilito-workflow", "order": 2, "title": "Find a Utilito workflow", "job": "Find the correct Utilito workflow for a natural-language job.", "outcome": "Use browser-local catalog search to choose a use case, then compile an inert launch package for an explicitly selected canonical tool and client profile.", "keywords": [ "workflow", "catalog", "tool discovery", "integration", "launch kit" ], "required_evidence": [ { "id": "query", "label": "Local query", "description": "Natural-language discovery query remains browser-local.", "required": true }, { "id": "selection", "label": "Explicit selection", "description": "Selected use-case ID, client profile, tool ID, and language.", "required": true }, { "id": "example", "label": "Safe example", "description": "Optional submitted credential-free example input.", "required": false } ], "privacy": { "mode": "browser-local-or-server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 262144, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "integration-launch", "order": 1, "tool_id": "integration-launch-kit", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "integration-launch-kit", "example_index": 0 }, "bindings": [] } ], "limitations": [ "Natural-language discovery is browser-local; compilation occurs only after explicit selection and never executes the launch request." ], "sample_compile_input": { "use_case_id": "find-utilito-workflow", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 200, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "integration-launch-kit" ] }, "request": { "input": { "client_profile": "cursor", "example_input": { "input": "{name:\"Ada\",items:[1,2,],}" }, "language": "javascript", "tool_id": "json-repair" }, "response_mode": "full", "tool_id": "integration-launch-kit" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "find-utilito-workflow" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "diagnose-api-mcp-failure", "order": 3, "title": "Diagnose an API or MCP failure", "job": "Diagnose a failed API or MCP call from submitted evidence.", "outcome": "Diagnose sanitized submitted MCP/client configuration, protocol, capability, and transcript evidence and produce inert fixes and verification requests.", "keywords": [ "api failure", "mcp failure", "diagnostic", "connection", "transcript" ], "required_evidence": [ { "id": "profile", "label": "Client profile", "description": "Client profile and transport.", "required": true }, { "id": "configuration", "label": "Sanitized configuration", "description": "Credential-free bounded configuration.", "required": true }, { "id": "transcript", "label": "Transcript", "description": "Bounded submitted transcript and expected protocol version.", "required": true }, { "id": "policy", "label": "Policy", "description": "Strict diagnostic policy.", "required": true } ], "privacy": { "mode": "browser-local-or-server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 65536, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "connection-diagnostic", "order": 1, "tool_id": "agent-connection-diagnostic-kit", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "agent-connection-diagnostic-kit", "example_index": 0 }, "bindings": [] } ], "limitations": [ "Current coverage is MCP/client-connection diagnostics, not the full API status, authentication, and rate-limit taxonomy planned for NX12." ], "sample_compile_input": { "use_case_id": "diagnose-api-mcp-failure", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 608, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "agent-connection-diagnostic-kit" ] }, "request": { "input": { "client_profile": "cursor", "diagnostic_policy": { "credential_material": "reject", "placeholders": "clearly_labeled", "transcript_evidence": "safe_exact", "unknown_client": "review" }, "expected_protocol_version": "2025-06-18", "sanitized_configuration": { "args": [], "command": null, "declared_capabilities": [ "tools" ], "endpoint_path": "/mcp", "environment_keys": [], "header_names": [], "protocol_version": "2025-03-26", "server_name": "utilito" }, "transcript": "protocolVersion: 2025-03-26\ntools/list: available\nerror: Method not found", "transport": "http" }, "response_mode": "full", "tool_id": "agent-connection-diagnostic-kit" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "diagnose-api-mcp-failure" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "translate-validate-tool-calls", "order": 4, "title": "Translate and validate tool calls", "job": "Translate and validate tool calls across OpenAI, Anthropic, and MCP shapes.", "outcome": "Validate and convert one submitted OpenAI, Anthropic, MCP, or Utilito tool definition and optional call into another supported shape.", "keywords": [ "openai", "anthropic", "gemini", "mcp", "tool calls", "validation" ], "required_evidence": [ { "id": "tool", "label": "Tool definition and optional call", "description": "One bounded submitted definition and optional matching call.", "required": true }, { "id": "formats", "label": "Source and target formats", "description": "OpenAI, Anthropic, MCP, or canonical Utilito.", "required": true } ], "privacy": { "mode": "browser-local-or-server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 262144, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "tool-call-interoperability", "order": 1, "tool_id": "tool-call-interoperability", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "tool-call-interoperability", "example_index": 0 }, "bindings": [] } ], "limitations": [ "Supports one definition and optional call through a conservative schema subset; unsupported semantics remain explicit unknowns and no tool is executed." ], "sample_compile_input": { "use_case_id": "translate-validate-tool-calls", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 679, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "tool-call-interoperability" ] }, "request": { "input": { "source_format": "openai", "target_format": "anthropic", "tool_call": { "function": { "arguments": "{\"location\":{\"city\":\"Paris\"},\"units\":\"celsius\"}", "name": "lookup_weather" }, "id": "call_1", "type": "function" }, "tool_definition": { "function": { "description": "Look up submitted weather data.", "name": "lookup_weather", "parameters": { "additionalProperties": false, "properties": { "location": { "additionalProperties": false, "properties": { "city": { "type": "string" } }, "required": [ "city" ], "type": "object" }, "units": { "enum": [ "celsius", "fahrenheit" ], "type": "string" } }, "required": [ "location" ], "type": "object" } }, "type": "function" } }, "response_mode": "full", "tool_id": "tool-call-interoperability" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "translate-validate-tool-calls" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "prepare-agent-context-handoff", "order": 5, "title": "Prepare an agent context handoff", "job": "Produce a bounded context handoff another agent can trust.", "outcome": "Build a dependency-closed Context Pack, evidence report, integrity manifest, and inert next-agent prompt with whole-record omission receipts.", "keywords": [ "agent handoff", "context pack", "bounded context", "integrity manifest", "resume" ], "required_evidence": [ { "id": "handoff", "label": "Handoff document", "description": "Goal, status, decisions, completed work, blockers, next actions, artifacts, evidence, unknowns, constraints, and notes.", "required": true }, { "id": "budget", "label": "Byte budget", "description": "Explicit maximum Context Pack byte budget.", "required": true } ], "privacy": { "mode": "server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 262144, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "context-handoff", "order": 1, "tool_id": "agent-context-handoff", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "agent-context-handoff", "example_index": 0 }, "bindings": [] } ], "limitations": [ "Submitted evidence and integrity references are not independently verified; no session, repository, filesystem, artifact reference, provider, model, or network access occurs." ], "sample_compile_input": { "use_case_id": "prepare-agent-context-handoff", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 727, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "agent-context-handoff" ] }, "request": { "input": { "handoff": { "artifacts": [], "blockers": [], "completed": [], "constraints": [ { "id": "c1", "summary": "No filesystem reads." } ], "decisions": [ { "evidence_ids": [ "e1" ], "id": "d1", "summary": "Keep sections distinct." } ], "evidence": [ { "id": "e1", "quote": "Preserve submitted evidence exactly.", "source_id": "caller-plan" } ], "goal": "Continue the verified implementation.", "handoff_id": "handoff-example", "next_actions": [ { "depends_on": [], "id": "n1", "priority": "high", "summary": "Run focused verification." } ], "notes": [], "schema_version": "utilito.agent-handoff.v1", "status": "in_progress", "unknowns": [ { "evidence_ids": [ "e1" ], "id": "u1", "summary": "Review outcome is unknown." } ] }, "max_bytes": 8192 }, "response_mode": "full", "tool_id": "agent-context-handoff" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "prepare-agent-context-handoff" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "prepare-retrieval-evidence", "order": 6, "title": "Prepare retrieval evidence", "job": "Prepare retrieval evidence for a grounded model turn.", "outcome": "Normalize already-retrieved caller-mapped records into bounded exact citation evidence, omissions, Context Pack, and report.", "keywords": [ "rag", "retrieval", "evidence", "citations", "context pack" ], "required_evidence": [ { "id": "records", "label": "Retrieved records", "description": "Submitted records and explicit field mapping.", "required": true }, { "id": "options", "label": "Preparation options", "description": "Ordering, dedupe, quote, context-budget, and report options.", "required": true } ], "privacy": { "mode": "server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 262144, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "retrieval-evidence", "order": 1, "tool_id": "rag-evidence-preparation-kit", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "rag-evidence-preparation-kit", "example_index": 0 }, "bindings": [] } ], "limitations": [ "Evidence is structurally prepared, not judged true; no claim-to-evidence support graph until NX15." ], "sample_compile_input": { "use_case_id": "prepare-retrieval-evidence", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 609, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "rag-evidence-preparation-kit" ] }, "request": { "input": { "field_mapping": { "quote": "text", "score": "score", "source_id": "source", "title": "title", "url": "url" }, "options": { "context_budget_bytes": 8192, "dedupe_policy": "remove", "max_quote_bytes": 8192, "ordering": "submitted_score_desc", "report_format": "markdown", "report_mode": "excerpt" }, "records": [ { "score": 0.92, "source": "guide-a", "text": "Use exact retrieved text as citation evidence.", "title": "Guide A", "url": "https://example.test/guide-a" }, { "score": 0.81, "source": "guide-b", "text": "Context budgets retain complete quotes only.", "title": "Guide B" } ] }, "response_mode": "full", "tool_id": "rag-evidence-preparation-kit" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "prepare-retrieval-evidence" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "reduce-ci-failure-review", "order": 7, "title": "Reduce a CI failure review", "job": "Reduce CI/build failures into an exact review pack.", "outcome": "Turn one submitted CI log and run metadata into line-addressable failure evidence, bounded context, patch status, and report.", "keywords": [ "ci", "build failure", "log", "review pack", "patch status" ], "required_evidence": [ { "id": "log", "label": "CI log", "description": "One submitted CI log and run metadata.", "required": true }, { "id": "verification", "label": "Verification status", "description": "Optional submitted patch-verification status and report options.", "required": false } ], "privacy": { "mode": "server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 262144, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "ci-review", "order": 1, "tool_id": "ci-failure-review-kit", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "ci-failure-review-kit", "example_index": 0 }, "bindings": [] } ], "limitations": [ "One submitted log only; baseline/candidate regression comparison remains NX16." ], "sample_compile_input": { "use_case_id": "reduce-ci-failure-review", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 467, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "ci-failure-review-kit" ] }, "request": { "input": { "log_text": "setup\nERROR test_checkout\nexpected 200\nreceived 500\nFAILED checkout.spec.ts", "options": { "ansi_mode": "strip", "collapse_duplicates": true, "context_budget_bytes": 8192, "context_lines": 1, "report_format": "markdown", "report_mode": "excerpt" }, "patch_verification": { "status": "not_submitted" }, "run_metadata": { "conclusion": "failure", "job": "test", "provider": "github-actions", "run_id": "sample-42" } }, "response_mode": "full", "tool_id": "ci-failure-review-kit" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "reduce-ci-failure-review" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "explain-resume-agent-run", "order": 8, "title": "Explain and resume an agent run", "job": "Explain an agent run and prepare a safe resume/replay handoff.", "outcome": "Produce an ordered timeline, submitted-evidence failure review, conservative retry safety, blockers, next actions, and redacted handoff.", "keywords": [ "agent run", "forensics", "resume", "replay", "handoff" ], "required_evidence": [ { "id": "run", "label": "Run evidence", "description": "Failed or paused run metadata and ordered events.", "required": true }, { "id": "handoff", "label": "Handoff evidence", "description": "Decisions, blockers, next actions, artifacts, evidence, and pack/report options.", "required": true } ], "privacy": { "mode": "browser-local-or-server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 131072, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "run-forensics", "order": 1, "tool_id": "agent-run-forensics-handoff-kit", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "agent-run-forensics-handoff-kit", "example_index": 0 }, "bindings": [] } ], "limitations": [ "Resume safety is conservative and evidence-based; no checkpoint transition validator until NX17." ], "sample_compile_input": { "use_case_id": "explain-resume-agent-run", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 1371, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "agent-run-forensics-handoff-kit" ] }, "request": { "input": { "artifacts": [ { "id": "artifact-1", "kind": "log", "ref": "local/redacted-run.log" } ], "blockers": [ { "id": "blocker-1", "next_step": "Inspect the provider dashboard manually.", "summary": "Refund side effects are unknown." } ], "decisions": [ { "evidence_ids": [ "evidence-1" ], "id": "decision-1", "summary": "Stop automatic work." } ], "events": [ { "argument_keys": [ "order_id" ], "artifact_ids": [ "artifact-1" ], "depends_on": [], "event_kind": "tool", "id": "event-1", "sequence": 1, "side_effect_state": "none", "status": "complete", "summary": "Order lookup completed.", "tool_name": "lookup_order" }, { "argument_keys": [ "amount", "payment_intent" ], "artifact_ids": [], "depends_on": [ "event-1" ], "error": { "code": "REFUND_FAILED", "message": "The submitted tool result reported failure." }, "event_kind": "tool", "id": "event-2", "sequence": 2, "side_effect_state": "unknown", "status": "failed", "summary": "Refund creation failed.", "tool_name": "create_refund" } ], "evidence": [ { "id": "evidence-1", "quote": "The caller marked side effects unknown.", "source_id": "submitted-run" } ], "goal": "Hand off a failed checkout agent run.", "next_actions": [ { "depends_on": [], "id": "action-1", "priority": "high", "summary": "Confirm refund state manually." } ], "options": { "max_pack_bytes": 16384, "report_format": "markdown", "report_mode": "details" }, "run_id": "run-sample-1", "run_status": "failed" }, "response_mode": "full", "tool_id": "agent-run-forensics-handoff-kit" }, "schema_version": "utilito.agent-use-case-compile.v1", "transport": "run", "use_case_id": "explain-resume-agent-run" } }, { "schema_version": "utilito.agent-use-case.v1", "id": "gate-web-release-evidence", "order": 9, "title": "Gate web release evidence", "job": "Combine submitted web-release evidence into a deterministic gate.", "outcome": "Build a six-domain release matrix from one submitted page artifact, image metadata, text artifacts, regression checks, and explicit policy.", "keywords": [ "web release", "evidence", "quality gate", "security headers", "regression" ], "required_evidence": [ { "id": "identity", "label": "Release identity", "description": "Submitted release identity.", "required": true }, { "id": "artifacts", "label": "Artifacts", "description": "Optional page HTML and headers, image metadata, and text artifacts.", "required": true }, { "id": "checks", "label": "Checks and policy", "description": "Regression checks and required or informational domain policy.", "required": true } ], "privacy": { "mode": "browser-local-or-server-submitted-response-only", "browser_local_search": true, "product_collection": false, "retention": "response_only", "network_used_by_compiler": false, "storage_used_by_compiler": false }, "limits": { "max_steps": 5, "max_compiled_request_bytes": 262144, "tool_limits_source": "API_TOOL_MANIFEST" }, "transport": "run", "steps": [ { "id": "release-gate", "order": 1, "tool_id": "web-release-qa-kit", "caller_id": null, "input": { "kind": "api-manifest-example", "tool_id": "web-release-qa-kit", "example_index": 0 }, "bindings": [] } ], "limitations": [ "No baseline/candidate release delta until NX18." ], "sample_compile_input": { "use_case_id": "gate-web-release-evidence", "response_mode": "full" }, "compiled_sample": { "ok": true, "receipt": { "bindings": 0, "compiled_request_bytes": 1401, "executed": false, "network_used": false, "steps": 1, "storage_used": false, "tools": [ "web-release-qa-kit" ] }, "request": { "input": { "images": [ { "bytes": 120000, "format": "image/webp", "has_alpha": false, "height": 630, "id": "hero", "ref": "image:hero", "width": 1200 } ], "page_artifact": { "headers": "HTTP/2 200\nContent-Type: text/html; charset=utf-8\nStrict-Transport-Security: max-age=31536000\nX-Content-Type-Options: nosniff\nContent-Security-Policy: default-src 'self'; object-src 'none'; frame-ancestors 'none'\nReferrer-Policy: strict-origin-when-cross-origin\nPermissions-Policy: camera=()", "headers_ref": "page:index-headers", "html": "