|
1458 | 1458 | "required": ["path", "newText"], |
1459 | 1459 | "type": "object" |
1460 | 1460 | }, |
| 1461 | + "ElicitationAcceptAction": { |
| 1462 | + "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nThe user accepted the elicitation and provided content.", |
| 1463 | + "properties": { |
| 1464 | + "content": { |
| 1465 | + "description": "The user-provided content, if any." |
| 1466 | + } |
| 1467 | + }, |
| 1468 | + "type": "object" |
| 1469 | + }, |
1461 | 1470 | "ElicitationAction": { |
1462 | 1471 | "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nThe user's action in response to an elicitation.", |
1463 | 1472 | "discriminator": { |
1464 | 1473 | "propertyName": "action" |
1465 | 1474 | }, |
1466 | 1475 | "oneOf": [ |
1467 | 1476 | { |
| 1477 | + "allOf": [ |
| 1478 | + { |
| 1479 | + "$ref": "#/$defs/ElicitationAcceptAction" |
| 1480 | + } |
| 1481 | + ], |
1468 | 1482 | "description": "The user accepted and provided content.", |
1469 | 1483 | "properties": { |
1470 | 1484 | "action": { |
1471 | 1485 | "const": "accept", |
1472 | 1486 | "type": "string" |
1473 | | - }, |
1474 | | - "content": { |
1475 | | - "description": "The user-provided content, if any." |
1476 | 1487 | } |
1477 | 1488 | }, |
1478 | 1489 | "required": ["action"], |
|
1568 | 1579 | }, |
1569 | 1580 | "type": "object" |
1570 | 1581 | }, |
| 1582 | + "ElicitationFormMode": { |
| 1583 | + "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nForm-based elicitation mode where the client renders a form from the provided schema.", |
| 1584 | + "properties": { |
| 1585 | + "requestedSchema": { |
| 1586 | + "description": "A JSON Schema describing the form fields to present to the user." |
| 1587 | + } |
| 1588 | + }, |
| 1589 | + "required": ["requestedSchema"], |
| 1590 | + "type": "object" |
| 1591 | + }, |
1571 | 1592 | "ElicitationId": { |
1572 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nUnique identifier for an elicitation.", |
| 1593 | + "description": "Unique identifier for an elicitation.", |
1573 | 1594 | "type": "string" |
1574 | 1595 | }, |
1575 | 1596 | "ElicitationRequest": { |
|
1579 | 1600 | }, |
1580 | 1601 | "oneOf": [ |
1581 | 1602 | { |
| 1603 | + "allOf": [ |
| 1604 | + { |
| 1605 | + "$ref": "#/$defs/ElicitationFormMode" |
| 1606 | + } |
| 1607 | + ], |
1582 | 1608 | "description": "Form-based elicitation where the client renders a form from the provided schema.", |
1583 | 1609 | "properties": { |
1584 | 1610 | "mode": { |
1585 | 1611 | "const": "form", |
1586 | 1612 | "type": "string" |
1587 | | - }, |
1588 | | - "requestedSchema": { |
1589 | | - "description": "A JSON Schema describing the form fields to present to the user." |
1590 | 1613 | } |
1591 | 1614 | }, |
1592 | | - "required": ["mode", "requestedSchema"], |
| 1615 | + "required": ["mode"], |
1593 | 1616 | "type": "object" |
1594 | 1617 | }, |
1595 | 1618 | { |
| 1619 | + "allOf": [ |
| 1620 | + { |
| 1621 | + "$ref": "#/$defs/ElicitationUrlMode" |
| 1622 | + } |
| 1623 | + ], |
1596 | 1624 | "description": "URL-based elicitation where the client directs the user to a URL.", |
1597 | 1625 | "properties": { |
1598 | | - "elicitationId": { |
1599 | | - "allOf": [ |
1600 | | - { |
1601 | | - "$ref": "#/$defs/ElicitationId" |
1602 | | - } |
1603 | | - ], |
1604 | | - "description": "The unique identifier for this elicitation." |
1605 | | - }, |
1606 | 1626 | "mode": { |
1607 | 1627 | "const": "url", |
1608 | 1628 | "type": "string" |
1609 | | - }, |
1610 | | - "url": { |
1611 | | - "description": "The URL to direct the user to.", |
1612 | | - "type": "string" |
1613 | 1629 | } |
1614 | 1630 | }, |
1615 | | - "required": ["mode", "elicitationId", "url"], |
| 1631 | + "required": ["mode"], |
1616 | 1632 | "type": "object" |
1617 | 1633 | } |
1618 | 1634 | ], |
|
1673 | 1689 | }, |
1674 | 1690 | "type": "object" |
1675 | 1691 | }, |
| 1692 | + "ElicitationUrlMode": { |
| 1693 | + "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nURL-based elicitation mode where the client directs the user to a URL.", |
| 1694 | + "properties": { |
| 1695 | + "elicitationId": { |
| 1696 | + "allOf": [ |
| 1697 | + { |
| 1698 | + "$ref": "#/$defs/ElicitationId" |
| 1699 | + } |
| 1700 | + ], |
| 1701 | + "description": "The unique identifier for this elicitation." |
| 1702 | + }, |
| 1703 | + "url": { |
| 1704 | + "description": "The URL to direct the user to.", |
| 1705 | + "type": "string" |
| 1706 | + } |
| 1707 | + }, |
| 1708 | + "required": ["elicitationId", "url"], |
| 1709 | + "type": "object" |
| 1710 | + }, |
1676 | 1711 | "EmbeddedResource": { |
1677 | 1712 | "description": "The contents of a resource, embedded into a prompt or tool call result.", |
1678 | 1713 | "properties": { |
|
0 commit comments