addedOutput schema / allOf
Added value: +[
+ {
+ "if": {
+ "properties": {
+ "found": {
+ "const": true
+ }
+ },
+ "required": [
+ "found"
+ ]
+ },
+ "then": {
+ "required": [
+ "verdict",
+ "counts",
+ "receipts",
+ "submissionId",
+ "spreadsheetUrl",
+ "reviewExpensesUrl",
+ "data",
+ "timestamp"
+ ]
+ }
+ }
+]
changedOutput schema / description
Previous value: -"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."New value: +"found:false means processing is still pending; found:true is a terminal result."
addedOutput schema / properties / counts
Added value: +{
+ "additionalProperties": true,
+ "properties": {
+ "added": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "duplicates": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "errors": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "skipped": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "submitted": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "submitted",
+ "added",
+ "duplicates",
+ "skipped",
+ "errors"
+ ],
+ "type": "object"
+}
removedOutput schema / properties / data / description
Removed value: -"Structured payload. Shape varies per tool — common keys: total, breakdown, comparison, sampleMeta, ids, expenseId, reportId, signupUrl, results."
removedOutput schema / properties / error
Removed value: -{
- "additionalProperties": true,
- "description": "Present only when success === false.",
- "properties": {
- "code": {
- "type": "string"
- },
- "hint": {
- "type": "string"
- },
- "message": {
- "type": "string"
- }
- },
- "type": "object"
-}
addedOutput schema / properties / found
Added value: +{
+ "type": "boolean"
+}
removedOutput schema / properties / message / description
Removed value: -"Human-readable result text. Always present on success; prefer rendering this verbatim before any further reasoning."
addedOutput schema / properties / receipts
Added value: +{
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / reviewExpensesUrl
Added value: +{
+ "type": "string"
+}
removedOutput schema / properties / sampleMeta
Removed value: -{
- "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"
-}
addedOutput schema / properties / spreadsheetUrl
Added value: +{
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / state
Added value: +{
+ "const": "processing",
+ "description": "Present on pending polls for a specific submission.",
+ "type": "string"
+}
addedOutput schema / properties / submissionId
Added value: +{
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / success / const
Added value: +true
removedOutput schema / properties / success / description
Removed value: -"False on tool errors; check before reading `data`."
addedOutput schema / properties / timestamp
Added value: +{
+ "format": "date-time",
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / verdict
Added value: +{
+ "description": "Terminal branch only.",
+ "enum": [
+ "added",
+ "duplicate",
+ "skipped",
+ "errored",
+ "mixed",
+ "unknown"
+ ],
+ "type": "string"
+}
addedOutput schema / required
Added value: +[
+ "success",
+ "found",
+ "message"
+]