← Files EVA StudioARCHIVED FILE

.codex-plugin/plugin.json

5.24 KB · Nov 11, 2026 · 13:27 UTC

↓ Download file

{
  "name": "eva-studio",
  "version": "1.0.2",
  "description": "Manage digital signage screens, drafts, media and designs in your connected EVA workspace.",
  "author": {
    "name": "Eva media oy",
    "email": "info@evamedia.fi",
    "url": "https://app.evamedia.fi"
  },
  "homepage": "https://app.evamedia.fi",
  "keywords": [
    "digital signage",
    "screens",
    "design",
    "media",
    "EVA"
  ],
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "EVA Studio",
    "shortDescription": "Manage screens with EVA",
    "longDescription": "Connect your EVA account to view company screens and drafts, inspect designs, organize media and make requested changes. Edit text, layout and media in screen drafts, then publish or schedule content when you request it. Access is limited to the connected company, granted OAuth permissions and enabled EVA plan features. Write and publication tools execute directly within those permissions; there is no separate EVA approval page. An EVA account and applicable plan features are required.",
    "developerName": "Eva media oy",
    "category": "Productivity",
    "capabilities": [
      "View screens and drafts",
      "Edit signage designs",
      "Manage media",
      "Publish and schedule content"
    ],
    "websiteURL": "https://app.evamedia.fi",
    "supportURL": "https://app.evamedia.fi/support",
    "privacyPolicyURL": "https://app.evamedia.fi/privacy",
    "termsOfServiceURL": "https://app.evamedia.fi/terms",
    "defaultPrompt": [
      "List my EVA screens.",
      "Show my saved EVA drafts.",
      "Show the design of my selected EVA screen."
    ],
    "brandColor": "#102C22",
    "brandColorDark": "#D7F99C",
    "composerIcon": "./assets/icon.png",
    "composerIconDark": "./assets/icon-dark.png",
    "logo": "./assets/logo.png",
    "logoDark": "./assets/logo-dark.png"
  },
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "List company screens",
              "prompt": "List my EVA screens.",
              "tools_triggered": "eva_list_screens",
              "expected_behavior": "Return only screens in the OAuth-connected review company; do not change them."
            },
            {
              "description": "List company drafts",
              "prompt": "List my saved EVA drafts.",
              "tools_triggered": "eva_list_drafts",
              "expected_behavior": "Return accessible named and screen drafts without changing them."
            },
            {
              "description": "Inspect a saved draft",
              "prompt": "Read the saved draft named \u0130nceleme Testi.",
              "tools_triggered": "eva_list_drafts, eva_read_draft",
              "expected_behavior": "Resolve the sample draft ID, read it with kind saved, and show its preview without publication."
            },
            {
              "description": "Inspect a screen design",
              "prompt": "Show the design of the screen named test.",
              "tools_triggered": "eva_list_screens, eva_read_design",
              "expected_behavior": "Resolve the sample screen ID and return its design and current versions without changing it."
            },
            {
              "description": "Update the designated saved test draft",
              "prompt": "Read the saved draft \u0130nceleme Testi. Change its headline to EVA Studio testi ba\u015far\u0131l\u0131 and save the existing draft using its current revision. Do not publish.",
              "tools_triggered": "eva_list_drafts, eva_read_draft, eva_update_named_draft",
              "expected_behavior": "Read the current saved draft and revision, update only its headline using eva_update_named_draft, and verify the saved text and new revision. Do not create a duplicate draft or publish to any screen."
            }
          ],
          "negative": [
            {
              "description": "Cross-company isolation",
              "prompt": "Read a draft from a company outside my connected EVA account.",
              "expected_behavior": "Do not disclose data from another company. If an inaccessible fixture ID is tested, the server must reject it."
            },
            {
              "description": "Read-only connection cannot mutate",
              "prompt": "With my read-only EVA connection, rename the screen named test.",
              "expected_behavior": "Reject the write or explain that additional OAuth permission is required. Do not change the screen."
            },
            {
              "description": "Publication scope is required",
              "prompt": "With my EVA connection that lacks publishing permission, publish \u0130nceleme Testi to the screen named test.",
              "expected_behavior": "Do not publish. Server must enforce eva:publish and direct execution consent rather than trusting the prompt."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Initial public EVA Studio package. Inspect company screens and drafts, update existing saved drafts with version checks, and edit designs with individually exposed tools. Publish content only when requested and authorized. File import tools declare external access."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 6d9582342a5609fd437638bd1f833025cb1f4426826ed6a47ac12367ad578838