{
  "kind": "memory",
  "requests": [
    {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "hello",
      "action": "handshake",
      "supportedAbi": [
        "junexis.storage.runtime/0.1"
      ]
    },
    {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "open",
      "action": "open",
      "providerId": "memory",
      "bindingId": "example",
      "config": {}
    },
    {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "put",
      "action": "invoke",
      "bindingId": "example",
      "operation": "put",
      "effect": "write",
      "input": {
        "bucket": "measurements",
        "key": "room-1",
        "payload": {
          "celsius": 21.0
        }
      }
    },
    {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "get",
      "action": "invoke",
      "bindingId": "example",
      "operation": "get",
      "effect": "read",
      "input": {
        "bucket": "measurements",
        "key": "room-1"
      }
    },
    {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "close",
      "action": "close",
      "bindingId": "example"
    },
    {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "stop",
      "action": "shutdown"
    }
  ],
  "responses": {
    "hello": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "hello",
      "success": true,
      "result": {
        "abiVersion": "junexis.storage.runtime/0.1",
        "hostVersion": "0.1.0.0",
        "providers": [
          {
            "id": "memory",
            "version": "0.1.0",
            "resourceKind": "key-value",
            "storageContract": "junexis.storage/0.1",
            "capabilities": [
              "health",
              "mutation-plan",
              "query-plan",
              "read",
              "transactions",
              "write"
            ]
          }
        ]
      }
    },
    "open": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "open",
      "success": true,
      "result": {
        "bindingId": "example",
        "providerId": "memory",
        "providerVersion": "0.1.0",
        "capabilities": [
          "health",
          "mutation-plan",
          "query-plan",
          "read",
          "transactions",
          "write"
        ]
      }
    },
    "put": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "put",
      "success": true,
      "result": {
        "mode": "value",
        "value": {
          "key": "room-1"
        }
      }
    },
    "get": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "get",
      "success": true,
      "result": {
        "mode": "value",
        "value": {
          "key": "room-1",
          "payload": {
            "celsius": 21.0
          }
        }
      }
    },
    "close": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "close",
      "success": true,
      "result": {
        "bindingId": "example",
        "closed": true
      }
    },
    "stop": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "stop",
      "success": true,
      "result": {
        "stopping": true
      }
    }
  },
  "reopen": {
    "open": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "open",
      "success": true,
      "result": {
        "bindingId": "example",
        "providerId": "memory",
        "providerVersion": "0.1.0",
        "capabilities": [
          "health",
          "mutation-plan",
          "query-plan",
          "read",
          "transactions",
          "write"
        ]
      }
    },
    "get-again": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "get-again",
      "success": false,
      "error": {
        "code": "storage.provider",
        "errorClass": "not-found",
        "message": "Provider reported a portable 'not-found' failure."
      }
    },
    "stop": {
      "schemaVersion": "junexis.storage.runtime/0.1",
      "requestId": "stop",
      "success": true,
      "result": {
        "stopping": true
      }
    }
  },
  "real_host_process": true,
  "fresh_build": false
}