{
  "version": "1.0.0",
  "app": {
    "name": "wasm-capability-showcase",
    "title": "Wasm Capability Showcase",
    "description": "Demo app for all bundled WebAssembly capabilities."
  },
  "database": {
    "provider": "pglite",
    "schema": "CREATE TABLE IF NOT EXISTS \"WasmCapability\" (\"id\" SERIAL PRIMARY KEY, \"capability\" TEXT NOT NULL UNIQUE, \"status\" TEXT NOT NULL DEFAULT 'ready');\nCREATE TABLE IF NOT EXISTS \"WasmInvocation\" (\"id\" SERIAL PRIMARY KEY, \"capability\" TEXT NOT NULL, \"operation\" TEXT NOT NULL, \"payload\" TEXT NOT NULL, \"createdAt\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP);"
  },
  "entities": [
    {
      "name": "WasmCapability",
      "fields": [
        {
          "name": "id",
          "type": "int",
          "primaryKey": true
        },
        {
          "name": "capability",
          "type": "string",
          "required": true
        },
        {
          "name": "status",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "name": "WasmInvocation",
      "fields": [
        {
          "name": "id",
          "type": "int",
          "primaryKey": true
        },
        {
          "name": "capability",
          "type": "string",
          "required": true
        },
        {
          "name": "operation",
          "type": "string",
          "required": true
        },
        {
          "name": "payload",
          "type": "text",
          "required": true
        },
        {
          "name": "createdAt",
          "type": "datetime"
        }
      ]
    }
  ],
  "actions": [
    {
      "name": "runtime-kernels.invoke",
      "type": "custom",
      "implementation": "wasm:runtime-kernels#invoke"
    },
    {
      "name": "mirror-exchange.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-exchange#invoke"
    },
    {
      "name": "mirror-policy.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-policy#invoke"
    },
    {
      "name": "mirror-federation.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-federation#invoke"
    },
    {
      "name": "mirror-transport.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport#invoke"
    },
    {
      "name": "mirror-transport-bluetooth.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-bluetooth#invoke"
    },
    {
      "name": "mirror-transport-clipboard.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-clipboard#invoke"
    },
    {
      "name": "mirror-transport-file.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-file#invoke"
    },
    {
      "name": "mirror-transport-http.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-http#invoke"
    },
    {
      "name": "mirror-transport-link.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-link#invoke"
    },
    {
      "name": "mirror-transport-nfc.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-nfc#invoke"
    },
    {
      "name": "mirror-transport-qr.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-qr#invoke"
    },
    {
      "name": "mirror-transport-stacklive.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-stacklive#invoke"
    },
    {
      "name": "mirror-transport-webrtc.invoke",
      "type": "custom",
      "implementation": "wasm:mirror-transport-webrtc#invoke"
    },
    {
      "name": "digital-twin-simulator.invoke",
      "type": "custom",
      "implementation": "wasm:digital-twin-simulator#invoke"
    },
    {
      "name": "code-analyzer.invoke",
      "type": "custom",
      "implementation": "wasm:code-analyzer#invoke"
    },
    {
      "name": "communication-intent.invoke",
      "type": "custom",
      "implementation": "wasm:communication-intent#invoke"
    },
    {
      "name": "docx-reader.invoke",
      "type": "custom",
      "implementation": "wasm:docx-reader#invoke"
    },
    {
      "name": "ocr-engine.invoke",
      "type": "custom",
      "implementation": "wasm:ocr-engine#invoke"
    },
    {
      "name": "pdf-parser.invoke",
      "type": "custom",
      "implementation": "wasm:pdf-parser#invoke"
    },
    {
      "name": "text-signal-analyzer.invoke",
      "type": "custom",
      "implementation": "wasm:text-signal-analyzer#invoke"
    },
    {
      "name": "voice-signal-analyzer.invoke",
      "type": "custom",
      "implementation": "wasm:voice-signal-analyzer#invoke"
    },
    {
      "name": "writing-identity.invoke",
      "type": "custom",
      "implementation": "wasm:writing-identity#invoke"
    }
  ],
  "capabilities": [
    "database",
    "storage",
    "ai",
    "mirror",
    "memory",
    "sync",
    "workflow"
  ]
}