{
  "$comment": "Qlaas DMI operator example · propose_meeting. Shapes match UIE-founder/qlaas-dmi test/agentline.test.ts and test/oauth.test.ts (1 Oct 2026). Default mandate: ALLOW when the caller is verified, the meeting is ≤30 min and the slot is free; otherwise STEP_UP (owner approves in their app).",
  "endpoints": {
    "mcp": "https://dmi.qlaas.co.uk/agentline/mcp",
    "a2a": "https://dmi.qlaas.co.uk/agentline/a2a"
  },
  "headers": {
    "content-type": "application/json",
    "authorization": "Bearer <access_token> (optional; without it the caller is tier declared)"
  },
  "inputSchema": {
    "type": "object",
    "required": [
      "start",
      "durationMin",
      "topic"
    ],
    "properties": {
      "start": {
        "type": "string",
        "format": "date-time"
      },
      "durationMin": {
        "type": "integer"
      },
      "topic": {
        "type": "string"
      },
      "onBehalfOf": {
        "type": "string"
      }
    }
  },
  "mcp": {
    "$comment": "Verified caller (OAuth bearer), 20 minutes, free slot → auto-accepted.",
    "request": {
      "jsonrpc": "2.0",
      "id": 3,
      "method": "tools/call",
      "params": {
        "name": "propose_meeting",
        "arguments": {
          "start": "2026-10-05T10:00:00.000Z",
          "durationMin": 20,
          "topic": "Collab intro"
        },
        "_meta": {
          "agent": {
            "vendor": "meta-muse",
            "name": "Muse",
            "onBehalfOf": "Jordan Lee"
          }
        }
      }
    },
    "response": {
      "jsonrpc": "2.0",
      "id": 3,
      "result": {
        "content": [
          {
            "type": "text",
            "text": "Done: {\"confirmed\":true,\"durationMin\":20,\"start\":\"2026-10-05T10:00:00.000Z\"}"
          }
        ],
        "structuredContent": {
          "taskId": "task_Yz56Ab78Cd90",
          "state": "completed",
          "decision": "ALLOW",
          "result": {
            "confirmed": true,
            "start": "2026-10-05T10:00:00.000Z",
            "durationMin": 20
          },
          "receipts": [
            "rcpt_Yz56Ab78Cd90"
          ]
        },
        "isError": false
      }
    }
  },
  "a2a": {
    "$comment": "Declared (unverified) caller → STEP_UP. Poll tasks/get until the owner decides.",
    "request": {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "message/send",
      "params": {
        "message": {
          "role": "user",
          "messageId": "m1",
          "parts": [
            {
              "kind": "data",
              "data": {
                "skill": "propose_meeting",
                "args": {
                  "start": "2026-09-29T10:00:00Z",
                  "durationMin": 20,
                  "topic": "Podcast intro",
                  "onBehalfOf": "Jordan Lee"
                }
              }
            }
          ],
          "metadata": {
            "agent": {
              "vendor": "meta-muse",
              "name": "Muse",
              "onBehalfOf": "Jordan Lee"
            }
          }
        }
      }
    },
    "response": {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
        "kind": "task",
        "id": "task_Ef12Gh34Ij56",
        "contextId": "ctx_Hq7LmP3vKd9x",
        "status": {
          "state": "input-required",
          "message": {
            "role": "agent",
            "parts": [
              {
                "kind": "text",
                "text": "Waiting for Christian to approve on their device. Poll tasks/get."
              }
            ]
          }
        },
        "artifacts": [],
        "metadata": {
          "decision": "STEP_UP",
          "receipts": [
            "rcpt_Ef12Gh34Ij56"
          ]
        }
      }
    },
    "poll": {
      "request": {
        "jsonrpc": "2.0",
        "id": 3,
        "method": "tasks/get",
        "params": {
          "id": "task_Ef12Gh34Ij56"
        }
      },
      "responseAfterApproval": {
        "jsonrpc": "2.0",
        "id": 1,
        "result": {
          "kind": "task",
          "id": "task_Ef12Gh34Ij56",
          "contextId": "ctx_Hq7LmP3vKd9x",
          "status": {
            "state": "completed",
            "message": {
              "role": "agent",
              "parts": [
                {
                  "kind": "text",
                  "text": "Done."
                }
              ]
            }
          },
          "artifacts": [
            {
              "artifactId": "task_Ef12Gh34Ij56-result",
              "parts": [
                {
                  "kind": "data",
                  "data": {
                    "confirmed": true,
                    "start": "2026-09-29T10:00:00Z",
                    "durationMin": 20
                  }
                }
              ]
            }
          ],
          "metadata": {
            "decision": "STEP_UP",
            "receipts": [
              "rcpt_Ef12Gh34Ij56"
            ]
          }
        }
      },
      "responseAfterDecline": {
        "jsonrpc": "2.0",
        "id": 1,
        "result": {
          "kind": "task",
          "id": "task_Ef12Gh34Ij56",
          "contextId": "ctx_Hq7LmP3vKd9x",
          "status": {
            "state": "rejected",
            "message": {
              "role": "agent",
              "parts": [
                {
                  "kind": "text",
                  "text": "Not permitted: owner declined on device"
                }
              ]
            }
          },
          "artifacts": [],
          "metadata": {
            "decision": "STEP_UP",
            "receipts": [
              "rcpt_Ef12Gh34Ij56"
            ]
          }
        }
      }
    }
  },
  "receiptsForThisTask": [
    "STEP_UP (actor agent) at request time",
    "ALLOW or DENY (actor owner, reason 'owner approved on device' / 'owner declined on device') when the owner decides"
  ],
  "invalidArgs": {
    "request": {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "message/send",
      "params": {
        "message": {
          "role": "user",
          "messageId": "m1",
          "parts": [
            {
              "kind": "data",
              "data": {
                "skill": "propose_meeting",
                "args": {
                  "start": "2026-09-29T14:00:00Z",
                  "durationMin": "abc",
                  "topic": "x"
                }
              }
            }
          ],
          "metadata": {
            "agent": {
              "vendor": "meta-muse",
              "name": "Muse",
              "onBehalfOf": "Jordan Lee"
            }
          }
        }
      }
    },
    "response": {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
        "kind": "task",
        "id": "task_Kl78Mn90Op12",
        "contextId": "ctx_Hq7LmP3vKd9x",
        "status": {
          "state": "rejected",
          "message": {
            "role": "agent",
            "parts": [
              {
                "kind": "text",
                "text": "Not permitted: invalid arguments: start (ISO date-time), durationMin integer 5–240, topic ≤200"
              }
            ]
          }
        },
        "artifacts": [],
        "metadata": {
          "decision": "DENY",
          "receipts": [
            "rcpt_Kl78Mn90Op12"
          ]
        }
      }
    }
  }
}
