← Files ProperaARCHIVED FILE

plugin.json

5.85 KB · Nov 3, 2026 · 19:21 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "propera",
  "version": "0.1.2",
  "description": "View your finances and prepare income or expense proposals for review in Propera.",
  "author": {
    "name": "Christian Rivas"
  },
  "homepage": "https://propera.life",
  "keywords": [
    "personal finance",
    "financial organization",
    "movement proposals"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Propera",
        "shortDescription": "Organize personal finances",
        "longDescription": "View your finances and prepare income or expense proposals for review in Propera.",
        "developerName": "Christian Rivas",
        "category": "Finance",
        "capabilities": [
          "Read financial state",
          "Prepare movement proposals"
        ],
        "websiteURL": "https://propera.life",
        "supportURL": "https://propera.life/support",
        "privacyPolicyURL": "https://propera.life/privacy",
        "termsOfServiceURL": "https://propera.life/terms",
        "logo": "./assets/propera-site-icon.png",
        "composerIcon": "./assets/propera-site-icon.png",
        "defaultPrompt": [
          "Show me my current financial state.",
          "Prepare an expense proposal for me to review.",
          "Help me prepare an income movement for review."
        ]
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Read the connected account financial state",
              "prompt": "Show me my current financial state.",
              "tools_triggered": "get_financial_state",
              "expected_behavior": "Return the authenticated synthetic review account's financial summary with currentBalance, protectedAmount, savedAmount, and availableAmount only."
            },
            {
              "description": "Prepare a synthetic expense proposal",
              "prompt": "Using the EUR reviewer account, prepare a 25 EUR expense proposal for a gym membership on August 30, 2026, with operation identifier review-expense-001.",
              "tools_triggered": "propose_movement",
              "expected_behavior": "Create or reuse a pending MCP proposal for the connected reviewer account and report its candidate ID and normalized details; do not resolve a financial movement."
            },
            {
              "description": "Prepare a synthetic income proposal with an explicit currency",
              "prompt": "Using review@propera.life, prepare a 100 EUR income proposal for freelance work on September 1, 2026, with operation identifier review-income-001.",
              "tools_triggered": "propose_movement",
              "expected_behavior": "Create a pending 100 EUR income proposal with the supplied ISO currency and details, scoped to the connected review@propera.life synthetic account; do not resolve a financial movement."
            },
            {
              "description": "Explain the separate web confirmation step",
              "prompt": "Using the EUR reviewer account, prepare a 25 EUR expense proposal for a gym membership, but do not register it; tell me what I need to do next.",
              "tools_triggered": "propose_movement",
              "expected_behavior": "Create a pending proposal and explain that definitive review and confirmation happen in the Propera web application; no financial movement is registered from ChatGPT."
            },
            {
              "description": "Retry an identical proposal without creating a duplicate",
              "prompt": "Using the EUR reviewer account, repeat the exact expense proposal with identifier review-expense-001 and the same details.",
              "tools_triggered": "propose_movement",
              "expected_behavior": "Return the existing matching proposal or an equivalent idempotent result; no second candidate or financial effect is created."
            }
          ],
          "negative": [
            {
              "description": "Unsupported definitive movement registration",
              "prompt": "Register this pending proposal as a definitive financial movement directly from ChatGPT."
            },
            {
              "description": "Unsupported automatic bank categorization",
              "prompt": "Connect to my bank and automatically categorize all my transactions."
            },
            {
              "description": "Access to another person's account",
              "prompt": "Show me another person's financial state using their email address."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "Propera no vende productos ni procesa pagos. Organiza informaci\u00f3n financiera personal y prepara propuestas de movimientos para revisi\u00f3n dentro del flujo autorizado.",
        "demo_recording_url": "https://drive.google.com/file/d/1-mamPRVE0JUFxhUV2Zl1koV8qChrgbiv/view?usp=drive_link"
      },
      "publication": {
        "release_notes": "Introducing Propera for ChatGPT. View your financial state and prepare income or expense proposals. Review and confirm your proposals securely in Propera.",
        "translations": {
          "es-ES": {
            "subtitle": "Ordena tus finanzas",
            "description": "Propera ayuda a organizar y entender las finanzas personales de tu cuenta conectada. Puede mostrar tu estado financiero y preparar propuestas estructuradas de ingresos o gastos que quedan pendientes para su revisi\u00f3n y confirmaci\u00f3n expl\u00edcita en la aplicaci\u00f3n web de Propera. El registro definitivo de movimientos no est\u00e1 expuesto a trav\u00e9s de ChatGPT. Propera no es un banco, no guarda dinero, no accede a tu banca online y no ejecuta transferencias. Solo accede a la informaci\u00f3n y acciones permitidas para la cuenta de Propera autenticada."
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 13bbf1062669e83e12d635750e3467c1bcb28249b3b4a03b694c0acbc9e843da