changedOutput schema / (root)
Previous value: -{
- "additionalProperties": true,
- "description": "Standard ExpenseBot tool result envelope. `message` is the human-readable summary the AI cites; `data` is the structured payload (totals, breakdowns, ids, etc.). On failure, `success` is false and `error` carries a code/message/hint triple.",
- "properties": {
- "data": {
- "additionalProperties": true,
- "description": "Structured payload. Shape varies per tool — common keys: total, breakdown, comparison, sampleMeta, ids, expenseId, reportId, signupUrl, results.",
- "type": "object"
- },
- "error": {
- "additionalProperties": true,
- "description": "Present only when success === false.",
- "properties": {
- "code": {
- "type": "string"
- },
- "hint": {
- "type": "string"
- },
- "message": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "message": {
- "description": "Human-readable result text. Always present on success; prefer rendering this verbatim before any further reasoning.",
- "type": "string"
- },
- "sampleMeta": {
- "additionalProperties": true,
- "description": "Set when the underlying dataset was truncated. isTruncated=true means the agent saw a sample of `sampleCount` of `totalCount` rows; aggregate totals are still accurate.",
- "properties": {
- "isTruncated": {
- "type": "boolean"
- },
- "sampleCount": {
- "type": "integer"
- },
- "totalCount": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "success": {
- "description": "False on tool errors; check before reading `data`.",
- "type": "boolean"
- }
- },
- "type": "object"
-}New value: +null