changedOutput schema / anyOf
Previous value: -[
- {
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "additionalProperties": {},
- "properties": {
- "access": {
- "additionalProperties": false,
- "properties": {
- "permissions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "scopes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "permissions",
- "scopes"
- ],
- "type": "object"
- },
- "approval_boundary": {
- "enum": [
- "per_write",
- "none"
- ],
- "type": "string"
- },
- "intent": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "plan_digest": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "schema_version": {
- "const": "discord_intent_plan.v1",
- "type": "string"
- },
- "status": {
- "enum": [
- "ready",
- "needs_input",
- "unsupported"
- ],
- "type": "string"
- },
- "steps": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "access": {
- "additionalProperties": false,
- "properties": {
- "auth": {
- "type": "string"
- },
- "hierarchy": {
- "type": "string"
- },
- "intents": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "permissions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "scope": {
- "type": "string"
- }
- },
- "required": [
- "auth",
- "permissions",
- "intents",
- "scope",
- "hierarchy"
- ],
- "type": "object"
- },
- "action": {
- "enum": [
- "prepare",
- "write",
- "verify"
- ],
- "type": "string"
- },
- "args": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "depends_on": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "id": {
- "type": "string"
- },
- "purpose": {
- "type": "string"
- },
- "requires_approval": {
- "type": "boolean"
- },
- "tool": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "action",
- "tool",
- "purpose",
- "args",
- "access",
- "depends_on",
- "requires_approval"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "target": {
- "additionalProperties": false,
- "properties": {
- "channel_id": {
- "description": "Discord channel ID (snowflake)",
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "guild_id": {
- "description": "Discord guild (server) ID",
- "pattern": "^\\d{17,20}$",
- "type": "string"
- }
- },
- "required": [
- "guild_id",
- "channel_id"
- ],
- "type": "object"
- },
- "verification_step_id": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "warnings": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "schema_version",
- "status",
- "intent",
- "target",
- "steps",
- "access",
- "approval_boundary",
- "verification_step_id",
- "plan_digest",
- "warnings"
- ],
- "type": "object"
- },
- {
- "properties": {
- "category": {
- "enum": [
- "client",
- "server"
- ],
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "recovery_hint": {
- "type": "string"
- },
- "retriable": {
- "type": "boolean"
- }
- },
- "required": [
- "code",
- "retriable",
- "category",
- "recovery_hint"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": {},
+ "properties": {
+ "access": {
+ "additionalProperties": false,
+ "properties": {
+ "permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "permissions",
+ "scopes"
+ ],
+ "type": "object"
+ },
+ "approval_boundary": {
+ "enum": [
+ "per_write",
+ "none"
+ ],
+ "type": "string"
+ },
+ "intent": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "plan_digest": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "schema_version": {
+ "const": "discord_intent_plan.v1",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "ready",
+ "needs_input",
+ "unsupported"
+ ],
+ "type": "string"
+ },
+ "steps": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "additionalProperties": false,
+ "properties": {
+ "auth": {
+ "type": "string"
+ },
+ "hierarchy": {
+ "type": "string"
+ },
+ "intents": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "scope": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "permissions",
+ "intents",
+ "scope",
+ "hierarchy"
+ ],
+ "type": "object"
+ },
+ "action": {
+ "enum": [
+ "prepare",
+ "write",
+ "verify"
+ ],
+ "type": "string"
+ },
+ "args": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "depends_on": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "purpose": {
+ "type": "string"
+ },
+ "requires_approval": {
+ "type": "boolean"
+ },
+ "tool": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "action",
+ "tool",
+ "purpose",
+ "args",
+ "access",
+ "depends_on",
+ "requires_approval"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "target": {
+ "additionalProperties": false,
+ "properties": {
+ "channel_id": {
+ "description": "Discord channel ID (snowflake)",
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "guild_id": {
+ "description": "Discord guild (server) ID",
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "guild_id",
+ "channel_id"
+ ],
+ "type": "object"
+ },
+ "verification_step_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "warnings": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "schema_version",
+ "status",
+ "intent",
+ "target",
+ "steps",
+ "access",
+ "approval_boundary",
+ "verification_step_id",
+ "plan_digest",
+ "warnings"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "category": {
+ "enum": [
+ "client",
+ "server"
+ ],
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "recovery_hint": {
+ "type": "string"
+ },
+ "retriable": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "code",
+ "retriable",
+ "category",
+ "recovery_hint"
+ ],
+ "type": "object"
+ }
+]