changedOutput schema / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "context": {
- "additionalProperties": false,
- "properties": {
- "app_id": {
- "const": "koskamo",
- "type": "string"
- },
- "environment": {
- "enum": [
- "public",
- "production",
- "sandbox"
- ],
- "type": "string"
- },
- "tenant_ref": {
- "type": "null"
- },
- "timezone": {
- "const": "UTC",
- "type": "string"
- }
- },
- "required": [
- "app_id",
- "tenant_ref",
- "environment",
- "timezone"
- ],
- "type": "object"
- },
- "data": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "knowledge.create_dataset",
- "type": "string"
- },
- "dataset_id": {
- "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": "string"
- },
- "visibility": {
- "enum": [
- "public",
- "private"
- ],
- "type": "string"
- }
- },
- "required": [
- "action",
- "dataset_id",
- "visibility"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "knowledge.import_document",
- "type": "string"
- },
- "chunk_count": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "content_hash": {
- "type": "string"
- },
- "dataset_id": {
- "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": "string"
- },
- "document_id": {
- "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": "string"
- },
- "document_version": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "duplicate": {
- "type": "boolean"
- },
- "indexing": {
- "const": "verified",
- "type": "string"
- },
- "parsed_characters": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "title": {
- "type": "string"
- }
- },
- "required": [
- "action",
- "dataset_id",
- "document_id",
- "document_version",
- "title",
- "content_hash",
- "chunk_count",
- "parsed_characters",
- "duplicate",
- "indexing"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "workflow.run",
- "type": "string"
- },
- "playbook_id": {
- "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": "string"
- },
- "playbook_version": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "run_id": {
- "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": "string"
- }
- },
- "required": [
- "action",
- "run_id",
- "playbook_id",
- "playbook_version"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "slack.post_message",
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "connection_id": {
- "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": "string"
- },
- "message_ts": {
- "type": "string"
- },
- "message_url": {
- "format": "uri",
- "type": "string"
- },
- "verified_at": {
- "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": "string"
- },
- "workspace_id": {
- "type": "string"
- }
- },
- "required": [
- "action",
- "connection_id",
- "workspace_id",
- "channel_id",
- "message_ts",
- "message_url",
- "verified_at"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "knowledge.propose_revision",
- "type": "string"
- },
- "dataset_id": {
- "type": "string"
- },
- "review_state": {
- "enum": [
- "pending",
- "approved",
- "rejected"
- ],
- "type": "string"
- },
- "revision_id": {
- "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": "string"
- }
- },
- "required": [
- "action",
- "revision_id",
- "dataset_id",
- "review_state"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "knowledge.decide_revision",
- "type": "string"
- },
- "dataset_id": {
- "type": "string"
- },
- "decision": {
- "enum": [
- "approved",
- "rejected"
- ],
- "type": "string"
- },
- "revision_id": {
- "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": "string"
- }
- },
- "required": [
- "action",
- "revision_id",
- "dataset_id",
- "decision"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "knowledge.report_fact",
- "type": "string"
- },
- "receipt_handle": {
- "type": "string"
- },
- "report_id": {
- "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": "string"
- },
- "review_state": {
- "enum": [
- "pending",
- "resolved"
- ],
- "type": "string"
- }
- },
- "required": [
- "action",
- "report_id",
- "review_state"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "directory.start_registration",
- "type": "string"
- },
- "challenge": {
- "additionalProperties": false,
- "properties": {
- "emailProof": {
- "additionalProperties": false,
- "properties": {
- "message": {
- "type": "string"
- },
- "sentTo": {
- "type": "string"
- }
- },
- "required": [
- "sentTo",
- "message"
- ],
- "type": "object"
- },
- "expiresAt": {
- "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": "string"
- },
- "guide": {
- "format": "uri",
- "type": "string"
- },
- "nextSteps": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "proofs": {
- "additionalProperties": false,
- "properties": {
- "dns": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "value": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "type",
- "value"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "http": {
- "additionalProperties": false,
- "properties": {
- "body": {
- "type": "string"
- },
- "note": {
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "url",
- "body",
- "note"
- ],
- "type": "object"
- }
- },
- "required": [
- "http",
- "dns"
- ],
- "type": "object"
- },
- "purpose": {
- "enum": [
- "register",
- "recover"
- ],
- "type": "string"
- },
- "receipt_handle": {
- "type": "string"
- },
- "serverId": {
- "type": "string"
- },
- "token": {
- "type": "string"
- },
- "verify": {
- "additionalProperties": false,
- "properties": {
- "body": {
- "additionalProperties": false,
- "properties": {
- "method": {
- "const": "email",
- "type": "string"
- },
- "receipt_handle": {
- "type": "string"
- },
- "token": {
- "type": "string"
- }
- },
- "required": [
- "token"
- ],
- "type": "object"
- },
- "method": {
- "const": "POST",
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "method",
- "url",
- "body"
- ],
- "type": "object"
- }
- },
- "required": [
- "purpose",
- "serverId",
- "token",
- "expiresAt",
- "proofs",
- "verify",
- "nextSteps",
- "guide"
- ],
- "type": "object"
- },
- "proof_delivery": {
- "enum": [
- "http_dns",
- "email"
- ],
- "type": "string"
- },
- "proof_expires_at": {
- "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": "string"
- },
- "receipt_handle": {
- "type": "string"
- },
- "registration_id": {
- "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": "string"
- },
- "server_id": {
- "type": "string"
- }
- },
- "required": [
- "action",
- "registration_id",
- "server_id",
- "proof_expires_at",
- "proof_delivery",
- "challenge"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "directory.verify_registration",
- "type": "string"
- },
- "key_artifact_id": {
- "anyOf": [
- {
- "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": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "published": {
- "type": "boolean"
- },
- "receipt_handle": {
- "type": "string"
- },
- "registration_id": {
- "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": "string"
- },
- "server_id": {
- "type": "string"
- }
- },
- "required": [
- "action",
- "registration_id",
- "server_id",
- "published",
- "key_artifact_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "github.create_issue",
- "type": "string"
- },
- "connection_id": {
- "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": "string"
- },
- "issue_id": {
- "type": "string"
- },
- "issue_number": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "issue_url": {
- "format": "uri",
- "type": "string"
- },
- "repository": {
- "type": "string"
- },
- "verified_at": {
- "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": "string"
- }
- },
- "required": [
- "action",
- "connection_id",
- "repository",
- "issue_number",
- "issue_id",
- "issue_url",
- "verified_at"
- ],
- "type": "object"
- }
- ]
- },
- "generated_at": {
- "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": "string"
- },
- "kind": {
- "const": "record",
- "type": "string"
- },
- "next_actions": {
- "items": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "reason": {
- "type": "string"
- },
- "tool_name": {
- "type": "string"
- },
- "type": {
- "const": "call_tool",
- "type": "string"
- }
- },
- "required": [
- "type",
- "tool_name",
- "reason"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "reason": {
- "type": "string"
- },
- "type": {
- "const": "open_url",
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "type",
- "url",
- "reason"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "fields": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "reason": {
- "type": "string"
- },
- "type": {
- "const": "provide_input",
- "type": "string"
- }
- },
- "required": [
- "type",
- "fields",
- "reason"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "reason": {
- "type": "string"
- },
- "retry_after_ms": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "wait",
- "type": "string"
- }
- },
- "required": [
- "type",
- "retry_after_ms",
- "reason"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "provenance": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "freshness": {
- "enum": [
- "fresh",
- "stale",
- "unknown"
- ],
- "type": "string"
- },
- "observed_at": {
- "anyOf": [
- {
- "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": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "retrieved_at": {
- "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": "string"
- },
- "source_id": {
- "type": "string"
- },
- "source_url": {
- "format": "uri",
- "type": "string"
- },
- "source_version": {
- "type": "string"
- }
- },
- "required": [
- "source_id",
- "observed_at",
- "retrieved_at",
- "freshness"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "request_id": {
- "type": "string"
- },
- "schema_version": {
- "const": "1.0.0",
- "type": "string"
- },
- "warnings": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "type": "string"
- },
- "field": {
- "type": "string"
- },
- "message": {
- "type": "string"
- }
- },
- "required": [
- "code",
- "message"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "schema_version",
- "kind",
- "request_id",
- "generated_at",
- "context",
- "data",
- "warnings",
- "next_actions"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "context": {
- "additionalProperties": false,
- "properties": {
- "app_id": {
- "const": "koskamo",
- "type": "string"
- },
- "environment": {
- "enum": [
- "public",
- "production",
- "sandbox"
- ],
- "type": "string"
- },
- "tenant_ref": {
- "type": "null"
- },
- "timezone": {
- "const": "UTC",
- "type": "string"
- }
- },
- "required": [
- "app_id",
- "tenant_ref",
- "environment",
- "timezone"
- ],
- "type": "object"
- },
- "data": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "enum": [
- "invalid_input",
- "unauthenticated",
- "permission_denied",
- "consent_required",
- "ambiguous_target",
- "not_found",
- "unsupported_capability",
- "configuration_required",
- "integration_expired",
- "stale_data",
- "version_conflict",
- "approval_required",
- "approval_expired",
- "idempotency_conflict",
- "rate_limited",
- "quota_exceeded",
- "provider_unavailable",
- "outcome_unknown",
- "reconciliation_required",
- "cursor_expired",
- "artifact_expired",
- "internal_error"
- ],
- "type": "string"
- },
- "domain_code": {
- "type": "string"
- },
- "effects": {
- "enum": [
- "none",
- "committed",
- "partial",
- "unknown"
- ],
- "type": "string"
- },
- "field_errors": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "field": {
- "type": "string"
- },
- "message": {
- "type": "string"
- }
- },
- "required": [
- "field",
- "message"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "message": {
- "type": "string"
- },
- "operation_id": {
- "type": "string"
- },
- "retry_after_ms": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "retry_strategy": {
- "enum": [
- "never",
- "same_request",
- "after_delay",
- "after_correction",
- "reconcile_first"
- ],
- "type": "string"
- }
- },
- "required": [
- "code",
- "message",
- "effects",
- "retry_strategy"
- ],
- "type": "object"
- },
- "generated_at": {
- "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": "string"
- },
- "kind": {
- "const": "error",
- "type": "string"
- },
- "next_actions": {
- "items": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "reason": {
- "type": "string"
- },
- "tool_name": {
- "type": "string"
- },
- "type": {
- "const": "call_tool",
- "type": "string"
- }
- },
- "required": [
- "type",
- "tool_name",
- "reason"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "reason": {
- "type": "string"
- },
- "type": {
- "const": "open_url",
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "type",
- "url",
- "reason"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "fields": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "reason": {
- "type": "string"
- },
- "type": {
- "const": "provide_input",
- "type": "string"
- }
- },
- "required": [
- "type",
- "fields",
- "reason"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "reason": {
- "type": "string"
- },
- "retry_after_ms": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "wait",
- "type": "string"
- }
- },
- "required": [
- "type",
- "retry_after_ms",
- "reason"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "provenance": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "freshness": {
- "enum": [
- "fresh",
- "stale",
- "unknown"
- ],
- "type": "string"
- },
- "observed_at": {
- "anyOf": [
- {
- "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": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "retrieved_at": {
- "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": "string"
- },
- "source_id": {
- "type": "string"
- },
- "source_url": {
- "format": "uri",
- "type": "string"
- },
- "source_version": {
- "type": "string"
- }
- },
- "required": [
- "source_id",
- "observed_at",
- "retrieved_at",
- "freshness"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "request_id": {
- "type": "string"
- },
- "schema_version": {
- "const": "1.0.0",
- "type": "string"
- },
- "warnings": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "type": "string"
- },
- "field": {
- "type": "string"
- },
- "message": {
- "type": "string"
- }
- },
- "required": [
- "code",
- "message"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "schema_version",
- "kind",
- "request_id",
- "generated_at",
- "context",
- "data",
- "warnings",
- "next_actions"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "context": {
+ "additionalProperties": false,
+ "properties": {
+ "app_id": {
+ "const": "koskamo",
+ "type": "string"
+ },
+ "environment": {
+ "enum": [
+ "public",
+ "production",
+ "sandbox"
+ ],
+ "type": "string"
+ },
+ "tenant_ref": {
+ "type": "null"
+ },
+ "timezone": {
+ "const": "UTC",
+ "type": "string"
+ }
+ },
+ "required": [
+ "app_id",
+ "tenant_ref",
+ "environment",
+ "timezone"
+ ],
+ "type": "object"
+ },
+ "data": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "knowledge.create_dataset",
+ "type": "string"
+ },
+ "dataset_id": {
+ "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": "string"
+ },
+ "visibility": {
+ "enum": [
+ "public",
+ "private"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "dataset_id",
+ "visibility"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "knowledge.import_document",
+ "type": "string"
+ },
+ "chunk_count": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "content_hash": {
+ "type": "string"
+ },
+ "dataset_id": {
+ "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": "string"
+ },
+ "document_id": {
+ "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": "string"
+ },
+ "document_version": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "duplicate": {
+ "type": "boolean"
+ },
+ "indexing": {
+ "const": "verified",
+ "type": "string"
+ },
+ "parsed_characters": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "dataset_id",
+ "document_id",
+ "document_version",
+ "title",
+ "content_hash",
+ "chunk_count",
+ "parsed_characters",
+ "duplicate",
+ "indexing"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "workflow.run",
+ "type": "string"
+ },
+ "playbook_id": {
+ "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": "string"
+ },
+ "playbook_version": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "run_id": {
+ "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": "string"
+ }
+ },
+ "required": [
+ "action",
+ "run_id",
+ "playbook_id",
+ "playbook_version"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "slack.post_message",
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "connection_id": {
+ "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": "string"
+ },
+ "message_ts": {
+ "type": "string"
+ },
+ "message_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "verified_at": {
+ "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": "string"
+ },
+ "workspace_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "connection_id",
+ "workspace_id",
+ "channel_id",
+ "message_ts",
+ "message_url",
+ "verified_at"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "knowledge.propose_revision",
+ "type": "string"
+ },
+ "dataset_id": {
+ "type": "string"
+ },
+ "review_state": {
+ "enum": [
+ "pending",
+ "approved",
+ "rejected"
+ ],
+ "type": "string"
+ },
+ "revision_id": {
+ "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": "string"
+ }
+ },
+ "required": [
+ "action",
+ "revision_id",
+ "dataset_id",
+ "review_state"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "knowledge.decide_revision",
+ "type": "string"
+ },
+ "dataset_id": {
+ "type": "string"
+ },
+ "decision": {
+ "enum": [
+ "approved",
+ "rejected"
+ ],
+ "type": "string"
+ },
+ "revision_id": {
+ "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": "string"
+ }
+ },
+ "required": [
+ "action",
+ "revision_id",
+ "dataset_id",
+ "decision"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "knowledge.report_fact",
+ "type": "string"
+ },
+ "receipt_handle": {
+ "type": "string"
+ },
+ "report_id": {
+ "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": "string"
+ },
+ "review_state": {
+ "enum": [
+ "pending",
+ "resolved"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "report_id",
+ "review_state"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "directory.start_registration",
+ "type": "string"
+ },
+ "challenge": {
+ "additionalProperties": false,
+ "properties": {
+ "emailProof": {
+ "additionalProperties": false,
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "sentTo": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sentTo",
+ "message"
+ ],
+ "type": "object"
+ },
+ "expiresAt": {
+ "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": "string"
+ },
+ "guide": {
+ "format": "uri",
+ "type": "string"
+ },
+ "nextSteps": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "proofs": {
+ "additionalProperties": false,
+ "properties": {
+ "dns": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "type",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "http": {
+ "additionalProperties": false,
+ "properties": {
+ "body": {
+ "type": "string"
+ },
+ "note": {
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "body",
+ "note"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "http",
+ "dns"
+ ],
+ "type": "object"
+ },
+ "purpose": {
+ "enum": [
+ "register",
+ "recover"
+ ],
+ "type": "string"
+ },
+ "receipt_handle": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ },
+ "verify": {
+ "additionalProperties": false,
+ "properties": {
+ "body": {
+ "additionalProperties": false,
+ "properties": {
+ "method": {
+ "const": "email",
+ "type": "string"
+ },
+ "receipt_handle": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "token"
+ ],
+ "type": "object"
+ },
+ "method": {
+ "const": "POST",
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "method",
+ "url",
+ "body"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "purpose",
+ "serverId",
+ "token",
+ "expiresAt",
+ "proofs",
+ "verify",
+ "nextSteps",
+ "guide"
+ ],
+ "type": "object"
+ },
+ "proof_delivery": {
+ "enum": [
+ "http_dns",
+ "email"
+ ],
+ "type": "string"
+ },
+ "proof_expires_at": {
+ "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": "string"
+ },
+ "receipt_handle": {
+ "type": "string"
+ },
+ "registration_id": {
+ "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": "string"
+ },
+ "server_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "registration_id",
+ "server_id",
+ "proof_expires_at",
+ "proof_delivery",
+ "challenge"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "directory.verify_registration",
+ "type": "string"
+ },
+ "key_artifact_id": {
+ "anyOf": [
+ {
+ "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": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "published": {
+ "type": "boolean"
+ },
+ "receipt_handle": {
+ "type": "string"
+ },
+ "registration_id": {
+ "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": "string"
+ },
+ "server_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "registration_id",
+ "server_id",
+ "published",
+ "key_artifact_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "github.create_issue",
+ "type": "string"
+ },
+ "connection_id": {
+ "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": "string"
+ },
+ "issue_id": {
+ "type": "string"
+ },
+ "issue_number": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "issue_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "repository": {
+ "type": "string"
+ },
+ "verified_at": {
+ "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": "string"
+ }
+ },
+ "required": [
+ "action",
+ "connection_id",
+ "repository",
+ "issue_number",
+ "issue_id",
+ "issue_url",
+ "verified_at"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "github.create_comment",
+ "type": "string"
+ },
+ "comment_id": {
+ "type": "string"
+ },
+ "comment_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "connection_id": {
+ "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": "string"
+ },
+ "issue_number": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "repository": {
+ "type": "string"
+ },
+ "verified_at": {
+ "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": "string"
+ }
+ },
+ "required": [
+ "action",
+ "connection_id",
+ "repository",
+ "issue_number",
+ "comment_id",
+ "comment_url",
+ "verified_at"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "generated_at": {
+ "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": "string"
+ },
+ "kind": {
+ "const": "record",
+ "type": "string"
+ },
+ "next_actions": {
+ "items": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "tool_name": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "call_tool",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "tool_name",
+ "reason"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "type": {
+ "const": "open_url",
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "url",
+ "reason"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "type": {
+ "const": "provide_input",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "fields",
+ "reason"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "retry_after_ms": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "wait",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "retry_after_ms",
+ "reason"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "provenance": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "freshness": {
+ "enum": [
+ "fresh",
+ "stale",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "observed_at": {
+ "anyOf": [
+ {
+ "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": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retrieved_at": {
+ "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": "string"
+ },
+ "source_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "source_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "source_version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_id",
+ "observed_at",
+ "retrieved_at",
+ "freshness"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "request_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "schema_version": {
+ "const": "1.0.0",
+ "type": "string"
+ },
+ "warnings": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "schema_version",
+ "kind",
+ "request_id",
+ "generated_at",
+ "context",
+ "data",
+ "warnings",
+ "next_actions"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "context": {
+ "additionalProperties": false,
+ "properties": {
+ "app_id": {
+ "const": "koskamo",
+ "type": "string"
+ },
+ "environment": {
+ "enum": [
+ "public",
+ "production",
+ "sandbox"
+ ],
+ "type": "string"
+ },
+ "tenant_ref": {
+ "type": "null"
+ },
+ "timezone": {
+ "const": "UTC",
+ "type": "string"
+ }
+ },
+ "required": [
+ "app_id",
+ "tenant_ref",
+ "environment",
+ "timezone"
+ ],
+ "type": "object"
+ },
+ "data": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "enum": [
+ "invalid_input",
+ "unauthenticated",
+ "permission_denied",
+ "consent_required",
+ "ambiguous_target",
+ "not_found",
+ "unsupported_capability",
+ "configuration_required",
+ "integration_expired",
+ "stale_data",
+ "version_conflict",
+ "approval_required",
+ "approval_expired",
+ "idempotency_conflict",
+ "rate_limited",
+ "quota_exceeded",
+ "provider_unavailable",
+ "outcome_unknown",
+ "reconciliation_required",
+ "cursor_expired",
+ "artifact_expired",
+ "internal_error"
+ ],
+ "type": "string"
+ },
+ "domain_code": {
+ "type": "string"
+ },
+ "effects": {
+ "enum": [
+ "none",
+ "committed",
+ "partial",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "field_errors": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "message"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "message": {
+ "type": "string"
+ },
+ "operation_id": {
+ "type": "string"
+ },
+ "retry_after_ms": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "retry_strategy": {
+ "enum": [
+ "never",
+ "same_request",
+ "after_delay",
+ "after_correction",
+ "reconcile_first"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "effects",
+ "retry_strategy"
+ ],
+ "type": "object"
+ },
+ "generated_at": {
+ "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": "string"
+ },
+ "kind": {
+ "const": "error",
+ "type": "string"
+ },
+ "next_actions": {
+ "items": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "tool_name": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "call_tool",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "tool_name",
+ "reason"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "type": {
+ "const": "open_url",
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "url",
+ "reason"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "type": {
+ "const": "provide_input",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "fields",
+ "reason"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "retry_after_ms": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "wait",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "retry_after_ms",
+ "reason"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "provenance": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "freshness": {
+ "enum": [
+ "fresh",
+ "stale",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "observed_at": {
+ "anyOf": [
+ {
+ "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": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retrieved_at": {
+ "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": "string"
+ },
+ "source_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "source_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "source_version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_id",
+ "observed_at",
+ "retrieved_at",
+ "freshness"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "request_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "schema_version": {
+ "const": "1.0.0",
+ "type": "string"
+ },
+ "warnings": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "schema_version",
+ "kind",
+ "request_id",
+ "generated_at",
+ "context",
+ "data",
+ "warnings",
+ "next_actions"
+ ],
+ "type": "object"
+ }
+]