From 7b11b4c104db05dd0cde896c95b5455507d18a7b Mon Sep 17 00:00:00 2001 From: a2a-platform Date: Mon, 13 Jul 2026 12:30:44 +0000 Subject: [PATCH] deploy --- .a2a/agent.dsl.json | 2975 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2975 insertions(+) create mode 100644 .a2a/agent.dsl.json diff --git a/.a2a/agent.dsl.json b/.a2a/agent.dsl.json new file mode 100644 index 0000000..0784a66 --- /dev/null +++ b/.a2a/agent.dsl.json @@ -0,0 +1,2975 @@ +{ + "schema_version": "2026-06-04", + "language": "python", + "name": "customer-integration-engineer", + "description": "Guides and validates customer integrations from requirements through a tested handoff while keeping credentials and production changes under customer control.", + "version": "0.1.5", + "entrypoint": { + "module": "agent", + "class_name": "CustomerIntegrationEngineer", + "function": null, + "command": [] + }, + "skills": [ + { + "name": "design_integration", + "description": "Capture requirements, produce architecture and field mapping artifacts", + "handler": "design_integration", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 120.0, + "idempotent": true, + "max_retries": 0, + "cost_class": "deterministic", + "allow_scope_expansion": false, + "grant_mode": null, + "grant_allow_patterns": [], + "grant_deny_patterns": [], + "grant_outputs_prefix": null, + "grant_write_prefixes": [], + "grant_ttl_seconds": null, + "grant_run_timeout_seconds": null, + "grant_approval_timeout_seconds": null, + "grant_scope_approval_timeout_seconds": null + }, + "input_schema": { + "type": "object", + "required": [ + "request" + ], + "additionalProperties": false, + "properties": { + "request": { + "$defs": { + "AuthMethod": { + "additionalProperties": false, + "properties": { + "system_name": { + "maxLength": 80, + "minLength": 1, + "title": "System Name", + "type": "string" + }, + "auth_type": { + "enum": [ + "none", + "api_key", + "bearer_token", + "oauth2_client_credentials", + "hmac_signature", + "mtls", + "basic", + "oidc" + ], + "title": "Auth Type", + "type": "string" + }, + "secret_ref": { + "anyOf": [ + { + "pattern": "^[A-Z][A-Z0-9_]{2,127}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Caller-managed secret reference name only; never a raw secret value.", + "title": "Secret Ref" + }, + "header_name": { + "anyOf": [ + { + "maxLength": 80, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Header Name" + }, + "token_url": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Token Url" + }, + "scopes": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Scopes", + "type": "array" + } + }, + "required": [ + "system_name", + "auth_type" + ], + "title": "AuthMethod", + "type": "object" + }, + "ComplianceConstraint": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "category": { + "enum": [ + "pii", + "phi", + "pci", + "soc2", + "gdpr", + "hipaa", + "data_residency", + "retention", + "audit", + "other" + ], + "title": "Category", + "type": "string" + }, + "requirement": { + "maxLength": 2000, + "minLength": 1, + "title": "Requirement", + "type": "string" + } + }, + "required": [ + "name", + "category", + "requirement" + ], + "title": "ComplianceConstraint", + "type": "object" + }, + "DataContract": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "direction": { + "enum": [ + "inbound", + "outbound", + "bidirectional" + ], + "title": "Direction", + "type": "string" + }, + "content_type": { + "default": "application/json", + "maxLength": 120, + "title": "Content Type", + "type": "string" + }, + "schema_ref": { + "anyOf": [ + { + "maxLength": 500, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Schema Ref" + }, + "fields": { + "items": { + "$ref": "#/$defs/FieldMapping" + }, + "maxItems": 200, + "title": "Fields", + "type": "array" + }, + "example_payload": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Example Payload" + } + }, + "required": [ + "name", + "direction" + ], + "title": "DataContract", + "type": "object" + }, + "EnvironmentSpec": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 64, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "purpose": { + "enum": [ + "dev", + "test", + "sandbox", + "staging", + "prod" + ], + "title": "Purpose", + "type": "string" + }, + "endpoint_refs": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Endpoint Refs", + "type": "array" + }, + "object_storage_ref": { + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Object Storage Ref" + }, + "observability_ref": { + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Observability Ref" + }, + "mutable": { + "default": false, + "title": "Mutable", + "type": "boolean" + } + }, + "required": [ + "name", + "purpose" + ], + "title": "EnvironmentSpec", + "type": "object" + }, + "FieldMapping": { + "additionalProperties": false, + "properties": { + "source": { + "maxLength": 160, + "minLength": 1, + "title": "Source", + "type": "string" + }, + "target": { + "maxLength": 160, + "minLength": 1, + "title": "Target", + "type": "string" + }, + "transform": { + "default": "copy", + "maxLength": 500, + "title": "Transform", + "type": "string" + }, + "required": { + "default": true, + "title": "Required", + "type": "boolean" + }, + "pii": { + "default": false, + "title": "Pii", + "type": "boolean" + } + }, + "required": [ + "source", + "target" + ], + "title": "FieldMapping", + "type": "object" + }, + "IntegrationRequirements": { + "additionalProperties": false, + "properties": { + "integration_id": { + "pattern": "^[a-z][a-z0-9-]{2,63}$", + "title": "Integration Id", + "type": "string" + }, + "title": { + "maxLength": 160, + "minLength": 1, + "title": "Title", + "type": "string" + }, + "systems": { + "items": { + "$ref": "#/$defs/SystemSpec" + }, + "maxItems": 12, + "minItems": 1, + "title": "Systems", + "type": "array" + }, + "auth_methods": { + "items": { + "$ref": "#/$defs/AuthMethod" + }, + "maxItems": 12, + "title": "Auth Methods", + "type": "array" + }, + "data_contracts": { + "items": { + "$ref": "#/$defs/DataContract" + }, + "maxItems": 20, + "title": "Data Contracts", + "type": "array" + }, + "rate_limits": { + "items": { + "$ref": "#/$defs/RateLimitSpec" + }, + "maxItems": 20, + "title": "Rate Limits", + "type": "array" + }, + "environments": { + "items": { + "$ref": "#/$defs/EnvironmentSpec" + }, + "maxItems": 12, + "title": "Environments", + "type": "array" + }, + "compliance_constraints": { + "items": { + "$ref": "#/$defs/ComplianceConstraint" + }, + "maxItems": 30, + "title": "Compliance Constraints", + "type": "array" + }, + "success_criteria": { + "items": { + "$ref": "#/$defs/SuccessCriterion" + }, + "maxItems": 20, + "minItems": 1, + "title": "Success Criteria", + "type": "array" + }, + "external_host_allowlist": { + "items": { + "type": "string" + }, + "maxItems": 50, + "title": "External Host Allowlist", + "type": "array" + }, + "repository_write_allowlist": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Repository Write Allowlist", + "type": "array" + }, + "notes": { + "anyOf": [ + { + "maxLength": 4000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Notes" + }, + "dry_run": { + "default": true, + "title": "Dry Run", + "type": "boolean" + } + }, + "required": [ + "integration_id", + "title", + "systems", + "success_criteria" + ], + "title": "IntegrationRequirements", + "type": "object" + }, + "RateLimitSpec": { + "additionalProperties": false, + "properties": { + "system_name": { + "maxLength": 80, + "minLength": 1, + "title": "System Name", + "type": "string" + }, + "max_requests": { + "maximum": 1000000, + "minimum": 1, + "title": "Max Requests", + "type": "integer" + }, + "per_seconds": { + "maximum": 86400, + "minimum": 1, + "title": "Per Seconds", + "type": "integer" + }, + "burst": { + "anyOf": [ + { + "maximum": 1000000, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Burst" + }, + "retry_after_header": { + "anyOf": [ + { + "maxLength": 80, + "type": "string" + }, + { + "type": "null" + } + ], + "default": "Retry-After", + "title": "Retry After Header" + } + }, + "required": [ + "system_name", + "max_requests", + "per_seconds" + ], + "title": "RateLimitSpec", + "type": "object" + }, + "SuccessCriterion": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "measurement": { + "maxLength": 500, + "minLength": 1, + "title": "Measurement", + "type": "string" + }, + "target": { + "maxLength": 200, + "minLength": 1, + "title": "Target", + "type": "string" + } + }, + "required": [ + "name", + "measurement", + "target" + ], + "title": "SuccessCriterion", + "type": "object" + }, + "SystemSpec": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 80, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "kind": { + "enum": [ + "rest_api", + "webhook", + "database", + "object_storage", + "observability", + "gitea", + "kubernetes", + "argo_cd", + "queue", + "other" + ], + "title": "Kind", + "type": "string" + }, + "base_url": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Base Url" + }, + "environment": { + "default": "sandbox", + "maxLength": 64, + "title": "Environment", + "type": "string" + }, + "owner": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Owner" + }, + "notes": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Notes" + } + }, + "required": [ + "name", + "kind" + ], + "title": "SystemSpec", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "requirements": { + "$ref": "#/$defs/IntegrationRequirements" + }, + "create_artifacts": { + "default": true, + "title": "Create Artifacts", + "type": "boolean" + }, + "dry_run": { + "default": true, + "title": "Dry Run", + "type": "boolean" + } + }, + "required": [ + "requirements" + ], + "title": "DesignIntegrationRequest", + "type": "object" + } + } + }, + "output_schema": { + "$defs": { + "ArtifactRecord": { + "additionalProperties": false, + "properties": { + "path": { + "title": "Path", + "type": "string" + }, + "sha256": { + "title": "Sha256", + "type": "string" + }, + "size_bytes": { + "minimum": 0, + "title": "Size Bytes", + "type": "integer" + }, + "mime_type": { + "title": "Mime Type", + "type": "string" + } + }, + "required": [ + "path", + "sha256", + "size_bytes", + "mime_type" + ], + "title": "ArtifactRecord", + "type": "object" + }, + "AuditEntry": { + "additionalProperties": false, + "properties": { + "ts": { + "title": "Ts", + "type": "string" + }, + "action": { + "title": "Action", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "details": { + "additionalProperties": true, + "title": "Details", + "type": "object" + } + }, + "required": [ + "ts", + "action", + "integration_id" + ], + "title": "AuditEntry", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "ok", + "needs_setup", + "blocked", + "failed" + ], + "title": "Status", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "dry_run": { + "title": "Dry Run", + "type": "boolean" + }, + "audit": { + "items": { + "$ref": "#/$defs/AuditEntry" + }, + "title": "Audit", + "type": "array" + }, + "warnings": { + "items": { + "type": "string" + }, + "title": "Warnings", + "type": "array" + }, + "residual_risks": { + "items": { + "type": "string" + }, + "title": "Residual Risks", + "type": "array" + }, + "architecture_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Architecture Path" + }, + "mapping_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Mapping Path" + }, + "plan_digest": { + "title": "Plan Digest", + "type": "string" + }, + "artifacts": { + "items": { + "$ref": "#/$defs/ArtifactRecord" + }, + "title": "Artifacts", + "type": "array" + }, + "architecture_summary": { + "title": "Architecture Summary", + "type": "string" + }, + "field_mapping_count": { + "minimum": 0, + "title": "Field Mapping Count", + "type": "integer" + }, + "required_setup": { + "items": { + "type": "string" + }, + "title": "Required Setup", + "type": "array" + } + }, + "required": [ + "status", + "integration_id", + "dry_run", + "plan_digest", + "architecture_summary", + "field_mapping_count" + ], + "title": "DesignIntegrationResult", + "type": "object" + } + }, + { + "name": "generate_connector", + "description": "Generate a minimal workspace-contained connector scaffold with no deployment or repository mutation", + "handler": "generate_connector", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 120.0, + "idempotent": true, + "max_retries": 0, + "cost_class": "deterministic", + "allow_scope_expansion": false, + "grant_mode": null, + "grant_allow_patterns": [], + "grant_deny_patterns": [], + "grant_outputs_prefix": null, + "grant_write_prefixes": [], + "grant_ttl_seconds": null, + "grant_run_timeout_seconds": null, + "grant_approval_timeout_seconds": null, + "grant_scope_approval_timeout_seconds": null + }, + "input_schema": { + "type": "object", + "required": [ + "request" + ], + "additionalProperties": false, + "properties": { + "request": { + "$defs": { + "AuthMethod": { + "additionalProperties": false, + "properties": { + "system_name": { + "maxLength": 80, + "minLength": 1, + "title": "System Name", + "type": "string" + }, + "auth_type": { + "enum": [ + "none", + "api_key", + "bearer_token", + "oauth2_client_credentials", + "hmac_signature", + "mtls", + "basic", + "oidc" + ], + "title": "Auth Type", + "type": "string" + }, + "secret_ref": { + "anyOf": [ + { + "pattern": "^[A-Z][A-Z0-9_]{2,127}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Caller-managed secret reference name only; never a raw secret value.", + "title": "Secret Ref" + }, + "header_name": { + "anyOf": [ + { + "maxLength": 80, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Header Name" + }, + "token_url": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Token Url" + }, + "scopes": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Scopes", + "type": "array" + } + }, + "required": [ + "system_name", + "auth_type" + ], + "title": "AuthMethod", + "type": "object" + }, + "ComplianceConstraint": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "category": { + "enum": [ + "pii", + "phi", + "pci", + "soc2", + "gdpr", + "hipaa", + "data_residency", + "retention", + "audit", + "other" + ], + "title": "Category", + "type": "string" + }, + "requirement": { + "maxLength": 2000, + "minLength": 1, + "title": "Requirement", + "type": "string" + } + }, + "required": [ + "name", + "category", + "requirement" + ], + "title": "ComplianceConstraint", + "type": "object" + }, + "DataContract": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "direction": { + "enum": [ + "inbound", + "outbound", + "bidirectional" + ], + "title": "Direction", + "type": "string" + }, + "content_type": { + "default": "application/json", + "maxLength": 120, + "title": "Content Type", + "type": "string" + }, + "schema_ref": { + "anyOf": [ + { + "maxLength": 500, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Schema Ref" + }, + "fields": { + "items": { + "$ref": "#/$defs/FieldMapping" + }, + "maxItems": 200, + "title": "Fields", + "type": "array" + }, + "example_payload": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Example Payload" + } + }, + "required": [ + "name", + "direction" + ], + "title": "DataContract", + "type": "object" + }, + "EnvironmentSpec": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 64, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "purpose": { + "enum": [ + "dev", + "test", + "sandbox", + "staging", + "prod" + ], + "title": "Purpose", + "type": "string" + }, + "endpoint_refs": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Endpoint Refs", + "type": "array" + }, + "object_storage_ref": { + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Object Storage Ref" + }, + "observability_ref": { + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Observability Ref" + }, + "mutable": { + "default": false, + "title": "Mutable", + "type": "boolean" + } + }, + "required": [ + "name", + "purpose" + ], + "title": "EnvironmentSpec", + "type": "object" + }, + "FieldMapping": { + "additionalProperties": false, + "properties": { + "source": { + "maxLength": 160, + "minLength": 1, + "title": "Source", + "type": "string" + }, + "target": { + "maxLength": 160, + "minLength": 1, + "title": "Target", + "type": "string" + }, + "transform": { + "default": "copy", + "maxLength": 500, + "title": "Transform", + "type": "string" + }, + "required": { + "default": true, + "title": "Required", + "type": "boolean" + }, + "pii": { + "default": false, + "title": "Pii", + "type": "boolean" + } + }, + "required": [ + "source", + "target" + ], + "title": "FieldMapping", + "type": "object" + }, + "IntegrationRequirements": { + "additionalProperties": false, + "properties": { + "integration_id": { + "pattern": "^[a-z][a-z0-9-]{2,63}$", + "title": "Integration Id", + "type": "string" + }, + "title": { + "maxLength": 160, + "minLength": 1, + "title": "Title", + "type": "string" + }, + "systems": { + "items": { + "$ref": "#/$defs/SystemSpec" + }, + "maxItems": 12, + "minItems": 1, + "title": "Systems", + "type": "array" + }, + "auth_methods": { + "items": { + "$ref": "#/$defs/AuthMethod" + }, + "maxItems": 12, + "title": "Auth Methods", + "type": "array" + }, + "data_contracts": { + "items": { + "$ref": "#/$defs/DataContract" + }, + "maxItems": 20, + "title": "Data Contracts", + "type": "array" + }, + "rate_limits": { + "items": { + "$ref": "#/$defs/RateLimitSpec" + }, + "maxItems": 20, + "title": "Rate Limits", + "type": "array" + }, + "environments": { + "items": { + "$ref": "#/$defs/EnvironmentSpec" + }, + "maxItems": 12, + "title": "Environments", + "type": "array" + }, + "compliance_constraints": { + "items": { + "$ref": "#/$defs/ComplianceConstraint" + }, + "maxItems": 30, + "title": "Compliance Constraints", + "type": "array" + }, + "success_criteria": { + "items": { + "$ref": "#/$defs/SuccessCriterion" + }, + "maxItems": 20, + "minItems": 1, + "title": "Success Criteria", + "type": "array" + }, + "external_host_allowlist": { + "items": { + "type": "string" + }, + "maxItems": 50, + "title": "External Host Allowlist", + "type": "array" + }, + "repository_write_allowlist": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Repository Write Allowlist", + "type": "array" + }, + "notes": { + "anyOf": [ + { + "maxLength": 4000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Notes" + }, + "dry_run": { + "default": true, + "title": "Dry Run", + "type": "boolean" + } + }, + "required": [ + "integration_id", + "title", + "systems", + "success_criteria" + ], + "title": "IntegrationRequirements", + "type": "object" + }, + "RateLimitSpec": { + "additionalProperties": false, + "properties": { + "system_name": { + "maxLength": 80, + "minLength": 1, + "title": "System Name", + "type": "string" + }, + "max_requests": { + "maximum": 1000000, + "minimum": 1, + "title": "Max Requests", + "type": "integer" + }, + "per_seconds": { + "maximum": 86400, + "minimum": 1, + "title": "Per Seconds", + "type": "integer" + }, + "burst": { + "anyOf": [ + { + "maximum": 1000000, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Burst" + }, + "retry_after_header": { + "anyOf": [ + { + "maxLength": 80, + "type": "string" + }, + { + "type": "null" + } + ], + "default": "Retry-After", + "title": "Retry After Header" + } + }, + "required": [ + "system_name", + "max_requests", + "per_seconds" + ], + "title": "RateLimitSpec", + "type": "object" + }, + "SuccessCriterion": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "measurement": { + "maxLength": 500, + "minLength": 1, + "title": "Measurement", + "type": "string" + }, + "target": { + "maxLength": 200, + "minLength": 1, + "title": "Target", + "type": "string" + } + }, + "required": [ + "name", + "measurement", + "target" + ], + "title": "SuccessCriterion", + "type": "object" + }, + "SystemSpec": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 80, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "kind": { + "enum": [ + "rest_api", + "webhook", + "database", + "object_storage", + "observability", + "gitea", + "kubernetes", + "argo_cd", + "queue", + "other" + ], + "title": "Kind", + "type": "string" + }, + "base_url": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Base Url" + }, + "environment": { + "default": "sandbox", + "maxLength": 64, + "title": "Environment", + "type": "string" + }, + "owner": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Owner" + }, + "notes": { + "anyOf": [ + { + "maxLength": 2000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Notes" + } + }, + "required": [ + "name", + "kind" + ], + "title": "SystemSpec", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "requirements": { + "$ref": "#/$defs/IntegrationRequirements" + }, + "connector_language": { + "default": "python", + "enum": [ + "python", + "typescript" + ], + "title": "Connector Language", + "type": "string" + }, + "include_tests": { + "default": true, + "title": "Include Tests", + "type": "boolean" + }, + "dry_run": { + "default": true, + "title": "Dry Run", + "type": "boolean" + }, + "external_host_allowlist": { + "items": { + "type": "string" + }, + "maxItems": 50, + "title": "External Host Allowlist", + "type": "array" + }, + "repository_write_allowlist": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Repository Write Allowlist", + "type": "array" + } + }, + "required": [ + "requirements" + ], + "title": "GenerateConnectorRequest", + "type": "object" + } + } + }, + "output_schema": { + "$defs": { + "ArtifactRecord": { + "additionalProperties": false, + "properties": { + "path": { + "title": "Path", + "type": "string" + }, + "sha256": { + "title": "Sha256", + "type": "string" + }, + "size_bytes": { + "minimum": 0, + "title": "Size Bytes", + "type": "integer" + }, + "mime_type": { + "title": "Mime Type", + "type": "string" + } + }, + "required": [ + "path", + "sha256", + "size_bytes", + "mime_type" + ], + "title": "ArtifactRecord", + "type": "object" + }, + "AuditEntry": { + "additionalProperties": false, + "properties": { + "ts": { + "title": "Ts", + "type": "string" + }, + "action": { + "title": "Action", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "details": { + "additionalProperties": true, + "title": "Details", + "type": "object" + } + }, + "required": [ + "ts", + "action", + "integration_id" + ], + "title": "AuditEntry", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "ok", + "needs_setup", + "blocked", + "failed" + ], + "title": "Status", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "dry_run": { + "title": "Dry Run", + "type": "boolean" + }, + "audit": { + "items": { + "$ref": "#/$defs/AuditEntry" + }, + "title": "Audit", + "type": "array" + }, + "warnings": { + "items": { + "type": "string" + }, + "title": "Warnings", + "type": "array" + }, + "residual_risks": { + "items": { + "type": "string" + }, + "title": "Residual Risks", + "type": "array" + }, + "connector_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Connector Path" + }, + "test_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Test Path" + }, + "plan_digest": { + "title": "Plan Digest", + "type": "string" + }, + "artifacts": { + "items": { + "$ref": "#/$defs/ArtifactRecord" + }, + "title": "Artifacts", + "type": "array" + }, + "generated_files": { + "items": { + "type": "string" + }, + "title": "Generated Files", + "type": "array" + }, + "blocked_actions": { + "items": { + "type": "string" + }, + "title": "Blocked Actions", + "type": "array" + } + }, + "required": [ + "status", + "integration_id", + "dry_run", + "plan_digest" + ], + "title": "GenerateConnectorResult", + "type": "object" + } + }, + { + "name": "validate_contract", + "description": "Validate OpenAPI, JSON Schema, and webhook contracts with deterministic fixtures", + "handler": "validate_contract", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 120.0, + "idempotent": true, + "max_retries": 0, + "cost_class": "deterministic", + "allow_scope_expansion": false, + "grant_mode": null, + "grant_allow_patterns": [], + "grant_deny_patterns": [], + "grant_outputs_prefix": null, + "grant_write_prefixes": [], + "grant_ttl_seconds": null, + "grant_run_timeout_seconds": null, + "grant_approval_timeout_seconds": null, + "grant_scope_approval_timeout_seconds": null + }, + "input_schema": { + "type": "object", + "required": [ + "request" + ], + "additionalProperties": false, + "properties": { + "request": { + "$defs": { + "ContractArtifact": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "kind": { + "enum": [ + "json_schema", + "openapi_3", + "webhook" + ], + "title": "Kind", + "type": "string" + }, + "schema_doc": { + "additionalProperties": true, + "title": "Schema Doc", + "type": "object" + }, + "fixtures": { + "items": { + "$ref": "#/$defs/ContractFixture" + }, + "maxItems": 50, + "title": "Fixtures", + "type": "array" + }, + "signature_header": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Signature Header" + }, + "secret_ref": { + "anyOf": [ + { + "pattern": "^[A-Z][A-Z0-9_]{2,127}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Secret Ref" + } + }, + "required": [ + "name", + "kind", + "schema_doc" + ], + "title": "ContractArtifact", + "type": "object" + }, + "ContractFixture": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "payload": { + "additionalProperties": true, + "title": "Payload", + "type": "object" + }, + "should_pass": { + "default": true, + "title": "Should Pass", + "type": "boolean" + } + }, + "required": [ + "name", + "payload" + ], + "title": "ContractFixture", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "integration_id": { + "pattern": "^[a-z][a-z0-9-]{2,63}$", + "title": "Integration Id", + "type": "string" + }, + "contracts": { + "items": { + "$ref": "#/$defs/ContractArtifact" + }, + "maxItems": 20, + "minItems": 1, + "title": "Contracts", + "type": "array" + }, + "fail_on_drift": { + "default": true, + "title": "Fail On Drift", + "type": "boolean" + }, + "dry_run": { + "default": true, + "title": "Dry Run", + "type": "boolean" + } + }, + "required": [ + "integration_id", + "contracts" + ], + "title": "ValidateContractRequest", + "type": "object" + } + } + }, + "output_schema": { + "$defs": { + "ArtifactRecord": { + "additionalProperties": false, + "properties": { + "path": { + "title": "Path", + "type": "string" + }, + "sha256": { + "title": "Sha256", + "type": "string" + }, + "size_bytes": { + "minimum": 0, + "title": "Size Bytes", + "type": "integer" + }, + "mime_type": { + "title": "Mime Type", + "type": "string" + } + }, + "required": [ + "path", + "sha256", + "size_bytes", + "mime_type" + ], + "title": "ArtifactRecord", + "type": "object" + }, + "AuditEntry": { + "additionalProperties": false, + "properties": { + "ts": { + "title": "Ts", + "type": "string" + }, + "action": { + "title": "Action", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "details": { + "additionalProperties": true, + "title": "Details", + "type": "object" + } + }, + "required": [ + "ts", + "action", + "integration_id" + ], + "title": "AuditEntry", + "type": "object" + }, + "ContractCheck": { + "additionalProperties": false, + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "kind": { + "title": "Kind", + "type": "string" + }, + "status": { + "enum": [ + "pass", + "fail", + "warn" + ], + "title": "Status", + "type": "string" + }, + "findings": { + "items": { + "type": "string" + }, + "title": "Findings", + "type": "array" + }, + "fixture_results": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "title": "Fixture Results", + "type": "array" + } + }, + "required": [ + "name", + "kind", + "status" + ], + "title": "ContractCheck", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "ok", + "needs_setup", + "blocked", + "failed" + ], + "title": "Status", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "dry_run": { + "title": "Dry Run", + "type": "boolean" + }, + "audit": { + "items": { + "$ref": "#/$defs/AuditEntry" + }, + "title": "Audit", + "type": "array" + }, + "warnings": { + "items": { + "type": "string" + }, + "title": "Warnings", + "type": "array" + }, + "residual_risks": { + "items": { + "type": "string" + }, + "title": "Residual Risks", + "type": "array" + }, + "contract_report_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Contract Report Path" + }, + "artifacts": { + "items": { + "$ref": "#/$defs/ArtifactRecord" + }, + "title": "Artifacts", + "type": "array" + }, + "checks": { + "items": { + "$ref": "#/$defs/ContractCheck" + }, + "title": "Checks", + "type": "array" + }, + "drift_detected": { + "default": false, + "title": "Drift Detected", + "type": "boolean" + } + }, + "required": [ + "status", + "integration_id", + "dry_run" + ], + "title": "ValidateContractResult", + "type": "object" + } + }, + { + "name": "run_acceptance", + "description": "Run dry-run or allowlisted acceptance checks using endpoint metadata and secret references", + "handler": "run_acceptance", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 180.0, + "idempotent": true, + "max_retries": 0, + "cost_class": "deterministic", + "allow_scope_expansion": false, + "grant_mode": null, + "grant_allow_patterns": [], + "grant_deny_patterns": [], + "grant_outputs_prefix": null, + "grant_write_prefixes": [], + "grant_ttl_seconds": null, + "grant_run_timeout_seconds": null, + "grant_approval_timeout_seconds": null, + "grant_scope_approval_timeout_seconds": null + }, + "input_schema": { + "type": "object", + "required": [ + "request" + ], + "additionalProperties": false, + "properties": { + "request": { + "$defs": { + "ContractArtifact": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "kind": { + "enum": [ + "json_schema", + "openapi_3", + "webhook" + ], + "title": "Kind", + "type": "string" + }, + "schema_doc": { + "additionalProperties": true, + "title": "Schema Doc", + "type": "object" + }, + "fixtures": { + "items": { + "$ref": "#/$defs/ContractFixture" + }, + "maxItems": 50, + "title": "Fixtures", + "type": "array" + }, + "signature_header": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Signature Header" + }, + "secret_ref": { + "anyOf": [ + { + "pattern": "^[A-Z][A-Z0-9_]{2,127}$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Secret Ref" + } + }, + "required": [ + "name", + "kind", + "schema_doc" + ], + "title": "ContractArtifact", + "type": "object" + }, + "ContractFixture": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "payload": { + "additionalProperties": true, + "title": "Payload", + "type": "object" + }, + "should_pass": { + "default": true, + "title": "Should Pass", + "type": "boolean" + } + }, + "required": [ + "name", + "payload" + ], + "title": "ContractFixture", + "type": "object" + }, + "EndpointTest": { + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 120, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "method": { + "default": "POST", + "enum": [ + "GET", + "POST", + "PUT", + "PATCH", + "DELETE" + ], + "title": "Method", + "type": "string" + }, + "url": { + "maxLength": 2048, + "title": "Url", + "type": "string" + }, + "expected_status": { + "default": 200, + "maximum": 599, + "minimum": 100, + "title": "Expected Status", + "type": "integer" + }, + "request_json": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Request Json" + }, + "required_secret_refs": { + "items": { + "type": "string" + }, + "maxItems": 10, + "title": "Required Secret Refs", + "type": "array" + }, + "idempotency_key": { + "anyOf": [ + { + "maxLength": 160, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Idempotency Key" + } + }, + "required": [ + "name", + "url" + ], + "title": "EndpointTest", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "integration_id": { + "pattern": "^[a-z][a-z0-9-]{2,63}$", + "title": "Integration Id", + "type": "string" + }, + "endpoint_tests": { + "items": { + "$ref": "#/$defs/EndpointTest" + }, + "maxItems": 20, + "title": "Endpoint Tests", + "type": "array" + }, + "contract_fixtures": { + "items": { + "$ref": "#/$defs/ContractArtifact" + }, + "maxItems": 20, + "title": "Contract Fixtures", + "type": "array" + }, + "external_host_allowlist": { + "items": { + "type": "string" + }, + "maxItems": 50, + "title": "External Host Allowlist", + "type": "array" + }, + "allow_network": { + "default": false, + "title": "Allow Network", + "type": "boolean" + }, + "max_retries": { + "default": 1, + "maximum": 3, + "minimum": 0, + "title": "Max Retries", + "type": "integer" + }, + "timeout_seconds": { + "default": 8.0, + "maximum": 30.0, + "minimum": 1.0, + "title": "Timeout Seconds", + "type": "number" + }, + "dry_run": { + "default": true, + "title": "Dry Run", + "type": "boolean" + } + }, + "required": [ + "integration_id" + ], + "title": "RunAcceptanceRequest", + "type": "object" + } + } + }, + "output_schema": { + "$defs": { + "AcceptanceStepResult": { + "additionalProperties": false, + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "status": { + "enum": [ + "pass", + "fail", + "skipped", + "blocked" + ], + "title": "Status", + "type": "string" + }, + "attempts": { + "minimum": 0, + "title": "Attempts", + "type": "integer" + }, + "detail": { + "title": "Detail", + "type": "string" + }, + "idempotency_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Idempotency Key" + } + }, + "required": [ + "name", + "status", + "attempts", + "detail" + ], + "title": "AcceptanceStepResult", + "type": "object" + }, + "ArtifactRecord": { + "additionalProperties": false, + "properties": { + "path": { + "title": "Path", + "type": "string" + }, + "sha256": { + "title": "Sha256", + "type": "string" + }, + "size_bytes": { + "minimum": 0, + "title": "Size Bytes", + "type": "integer" + }, + "mime_type": { + "title": "Mime Type", + "type": "string" + } + }, + "required": [ + "path", + "sha256", + "size_bytes", + "mime_type" + ], + "title": "ArtifactRecord", + "type": "object" + }, + "AuditEntry": { + "additionalProperties": false, + "properties": { + "ts": { + "title": "Ts", + "type": "string" + }, + "action": { + "title": "Action", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "details": { + "additionalProperties": true, + "title": "Details", + "type": "object" + } + }, + "required": [ + "ts", + "action", + "integration_id" + ], + "title": "AuditEntry", + "type": "object" + }, + "ContractCheck": { + "additionalProperties": false, + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "kind": { + "title": "Kind", + "type": "string" + }, + "status": { + "enum": [ + "pass", + "fail", + "warn" + ], + "title": "Status", + "type": "string" + }, + "findings": { + "items": { + "type": "string" + }, + "title": "Findings", + "type": "array" + }, + "fixture_results": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "title": "Fixture Results", + "type": "array" + } + }, + "required": [ + "name", + "kind", + "status" + ], + "title": "ContractCheck", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "ok", + "needs_setup", + "blocked", + "failed" + ], + "title": "Status", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "dry_run": { + "title": "Dry Run", + "type": "boolean" + }, + "audit": { + "items": { + "$ref": "#/$defs/AuditEntry" + }, + "title": "Audit", + "type": "array" + }, + "warnings": { + "items": { + "type": "string" + }, + "title": "Warnings", + "type": "array" + }, + "residual_risks": { + "items": { + "type": "string" + }, + "title": "Residual Risks", + "type": "array" + }, + "acceptance_report_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Acceptance Report Path" + }, + "artifacts": { + "items": { + "$ref": "#/$defs/ArtifactRecord" + }, + "title": "Artifacts", + "type": "array" + }, + "step_results": { + "items": { + "$ref": "#/$defs/AcceptanceStepResult" + }, + "title": "Step Results", + "type": "array" + }, + "contract_results": { + "items": { + "$ref": "#/$defs/ContractCheck" + }, + "title": "Contract Results", + "type": "array" + }, + "network_calls_made": { + "minimum": 0, + "title": "Network Calls Made", + "type": "integer" + } + }, + "required": [ + "status", + "integration_id", + "dry_run", + "network_calls_made" + ], + "title": "RunAcceptanceResult", + "type": "object" + } + }, + { + "name": "prepare_handoff", + "description": "Prepare rollout, rollback, monitoring, and operator handoff documentation with approval-gated delivery planning", + "handler": "prepare_handoff", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 120.0, + "idempotent": true, + "max_retries": 0, + "cost_class": "deterministic", + "allow_scope_expansion": false, + "grant_mode": null, + "grant_allow_patterns": [], + "grant_deny_patterns": [], + "grant_outputs_prefix": null, + "grant_write_prefixes": [], + "grant_ttl_seconds": null, + "grant_run_timeout_seconds": null, + "grant_approval_timeout_seconds": null, + "grant_scope_approval_timeout_seconds": null + }, + "input_schema": { + "type": "object", + "required": [ + "request" + ], + "additionalProperties": false, + "properties": { + "request": { + "$defs": { + "HandoffSection": { + "additionalProperties": false, + "properties": { + "heading": { + "maxLength": 120, + "minLength": 1, + "title": "Heading", + "type": "string" + }, + "body": { + "maxLength": 8000, + "minLength": 1, + "title": "Body", + "type": "string" + } + }, + "required": [ + "heading", + "body" + ], + "title": "HandoffSection", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "integration_id": { + "pattern": "^[a-z][a-z0-9-]{2,63}$", + "title": "Integration Id", + "type": "string" + }, + "title": { + "maxLength": 160, + "minLength": 1, + "title": "Title", + "type": "string" + }, + "rollout_steps": { + "items": { + "type": "string" + }, + "maxItems": 30, + "minItems": 1, + "title": "Rollout Steps", + "type": "array" + }, + "rollback_steps": { + "items": { + "type": "string" + }, + "maxItems": 30, + "minItems": 1, + "title": "Rollback Steps", + "type": "array" + }, + "monitoring_checks": { + "items": { + "type": "string" + }, + "maxItems": 30, + "minItems": 1, + "title": "Monitoring Checks", + "type": "array" + }, + "operator_notes": { + "items": { + "$ref": "#/$defs/HandoffSection" + }, + "maxItems": 20, + "title": "Operator Notes", + "type": "array" + }, + "delivery_actions": { + "items": { + "type": "string" + }, + "maxItems": 20, + "title": "Delivery Actions", + "type": "array" + }, + "plan_digest": { + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Plan Digest" + }, + "approval_phrase": { + "anyOf": [ + { + "maxLength": 64, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Approval Phrase" + }, + "approve_delivery": { + "default": false, + "title": "Approve Delivery", + "type": "boolean" + }, + "dry_run": { + "default": true, + "title": "Dry Run", + "type": "boolean" + } + }, + "required": [ + "integration_id", + "title", + "rollout_steps", + "rollback_steps", + "monitoring_checks" + ], + "title": "PrepareHandoffRequest", + "type": "object" + } + } + }, + "output_schema": { + "$defs": { + "ArtifactRecord": { + "additionalProperties": false, + "properties": { + "path": { + "title": "Path", + "type": "string" + }, + "sha256": { + "title": "Sha256", + "type": "string" + }, + "size_bytes": { + "minimum": 0, + "title": "Size Bytes", + "type": "integer" + }, + "mime_type": { + "title": "Mime Type", + "type": "string" + } + }, + "required": [ + "path", + "sha256", + "size_bytes", + "mime_type" + ], + "title": "ArtifactRecord", + "type": "object" + }, + "AuditEntry": { + "additionalProperties": false, + "properties": { + "ts": { + "title": "Ts", + "type": "string" + }, + "action": { + "title": "Action", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "details": { + "additionalProperties": true, + "title": "Details", + "type": "object" + } + }, + "required": [ + "ts", + "action", + "integration_id" + ], + "title": "AuditEntry", + "type": "object" + } + }, + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "ok", + "needs_setup", + "blocked", + "failed" + ], + "title": "Status", + "type": "string" + }, + "integration_id": { + "title": "Integration Id", + "type": "string" + }, + "dry_run": { + "title": "Dry Run", + "type": "boolean" + }, + "audit": { + "items": { + "$ref": "#/$defs/AuditEntry" + }, + "title": "Audit", + "type": "array" + }, + "warnings": { + "items": { + "type": "string" + }, + "title": "Warnings", + "type": "array" + }, + "residual_risks": { + "items": { + "type": "string" + }, + "title": "Residual Risks", + "type": "array" + }, + "handoff_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Handoff Path" + }, + "plan_digest": { + "title": "Plan Digest", + "type": "string" + }, + "artifacts": { + "items": { + "$ref": "#/$defs/ArtifactRecord" + }, + "title": "Artifacts", + "type": "array" + }, + "approval_required": { + "title": "Approval Required", + "type": "boolean" + }, + "approval_valid": { + "title": "Approval Valid", + "type": "boolean" + }, + "delivery_executed": { + "default": false, + "title": "Delivery Executed", + "type": "boolean" + } + }, + "required": [ + "status", + "integration_id", + "dry_run", + "plan_digest", + "approval_required", + "approval_valid" + ], + "title": "PrepareHandoffResult", + "type": "object" + } + } + ], + "capabilities": {}, + "input_modes": [ + "application/json" + ], + "output_modes": [ + "application/json" + ], + "required_secrets": [], + "required_env": [], + "consumer_setup": { + "fields": [ + { + "name": "GITEA_REPOSITORY", + "kind": "config", + "label": "Gitea repository", + "description": "Optional owner/repo target controlled by the caller.", + "required": false, + "input_type": "text", + "options": [] + }, + { + "name": "GITEA_TOKEN", + "kind": "secret", + "label": "Gitea token", + "description": "Optional caller-managed token reference; never returned or stored.", + "required": false, + "input_type": "password", + "options": [] + }, + { + "name": "API_BASE_URL", + "kind": "config", + "label": "API base URL", + "description": "Optional endpoint used only when allowlisted and dry_run=false.", + "required": false, + "input_type": "url", + "options": [] + }, + { + "name": "API_AUTH_TOKEN", + "kind": "secret", + "label": "API auth token", + "description": "Optional caller-managed API credential reference.", + "required": false, + "input_type": "password", + "options": [] + }, + { + "name": "OBJECT_STORAGE_REF", + "kind": "config", + "label": "Object storage reference", + "description": "Caller-owned object storage config reference.", + "required": false, + "input_type": "text", + "options": [] + }, + { + "name": "OBSERVABILITY_REF", + "kind": "config", + "label": "Observability reference", + "description": "Caller-owned logs/metrics/traces reference.", + "required": false, + "input_type": "text", + "options": [] + }, + { + "name": "KUBERNETES_CONTEXT_REF", + "kind": "config", + "label": "Kubernetes context reference", + "description": "Optional caller-owned Kubernetes context reference.", + "required": false, + "input_type": "text", + "options": [] + }, + { + "name": "ARGOCD_APP_REF", + "kind": "config", + "label": "Argo CD app reference", + "description": "Optional caller-owned Argo CD app reference.", + "required": false, + "input_type": "text", + "options": [] + } + ] + }, + "runtime": { + "lifecycle": "ephemeral", + "availability": "on_demand", + "state": "none", + "sandbox": "microsandbox", + "resources": { + "cpu": "500m", + "memory": "512Mi", + "gpu": 0, + "max_runtime_seconds": 600 + }, + "concurrency": 1, + "egress": { + "allow_hosts": [], + "allow_internal_services": [], + "deny_internet_by_default": true + }, + "tools_used": [ + "pydantic", + "jsonschema", + "httpx" + ], + "llm_provisioning": "platform", + "pricing": { + "price_per_call_usd": 0.0, + "caller_pays_llm": false, + "notes": "Deterministic no-LLM integration engineering; callers keep credentials and production changes under their control." + }, + "wants_cp_jwt": false, + "platform_resources": { + "memory": null, + "databases": [] + }, + "endpoints": [], + "apt_packages": [] + }, + "template_lineage": null, + "meta_agent_manifest": null, + "state_schema": null, + "workspace_access": { + "enabled": true, + "max_files": 256, + "allowed_modes": [ + "read_only", + "read_write_overlay" + ], + "require_reason": true, + "deny_patterns": [ + "**/.env", + "**/*secret*", + "**/*token*", + "**/id_rsa", + "**/.git/**" + ], + "require_human_approval": false, + "max_total_size_bytes": 20971520 + }, + "config_schema": { + "additionalProperties": false, + "properties": { + "default_dry_run": { + "default": true, + "title": "Default Dry Run", + "type": "boolean" + } + }, + "title": "CustomerIntegrationEngineerConfig", + "type": "object" + }, + "auth": { + "model": "a2a_pack.auth.NoAuth", + "strategy": "public", + "principal_schema": { + "additionalProperties": false, + "description": "Public agent: no caller identity required.", + "properties": {}, + "title": "NoAuth", + "type": "object" + }, + "resolver": null, + "required": false + }, + "metadata": { + "source": "python-a2a-pack", + "project_manifest": { + "name": "customer-integration-engineer", + "version": "0.1.5", + "entrypoint": "agent:CustomerIntegrationEngineer" + } + } +}