← Files TintLogARCHIVED FILE

plugin.json

6.88 KB · Nov 3, 2026 · 19:14 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "tintlog",
  "version": "0.1.0",
  "description": "Create and manage TintLog quote jobs, tint types, window panes, custom line items, and current totals.",
  "author": {
    "name": "TintLog",
    "url": "https://tintlog.com/"
  },
  "homepage": "https://tintlog.com/",
  "keywords": [
    "window tint",
    "quotes",
    "productivity"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "TintLog",
        "shortDescription": "Build window tint quotes",
        "longDescription": "Create and manage flat-glass window tint quote jobs. TintLog can work with job-local tint types, window pane measurements, custom line items, and current quote totals for the connected account. This version does not create estimates or invoices.",
        "developerName": "TintLog",
        "category": "Productivity",
        "capabilities": [
          "Create and inspect quote jobs",
          "Manage tint types and window panes",
          "Manage custom line items and totals"
        ],
        "websiteURL": "https://tintlog.com/",
        "supportURL": "https://tintlog.com/support/",
        "privacyPolicyURL": "https://tintlog.com/privacy/",
        "termsOfServiceURL": "https://tintlog.com/terms/",
        "defaultPrompt": [
          "Create a tint quote job from these window measurements.",
          "Open my most recent job and show its current totals.",
          "Add a custom line item to an existing quote job."
        ],
        "brandColor": "#1F6A52",
        "composerIcon": "./assets/composer-icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Identify the connected synthetic TintLog reviewer profile.",
              "prompt": "Which TintLog profile is connected? Show me the stable profile identifier and recognizable account label.",
              "tools_triggered": "get_connected_profile",
              "expected_behavior": "Call get_connected_profile and report the connected profile returned by TintLog. The recognizable label should be Northstar Glass Studio; do not expose credentials or treat an email address as authorization."
            },
            {
              "description": "Find and inspect an existing synthetic commercial Job and its current totals.",
              "prompt": "Find my Harbor Center Offices Job, open it, and summarize its current pane groups, square footage, and total dollars.",
              "tools_triggered": "list_recent_jobs, get_job",
              "expected_behavior": "Use list_recent_jobs to resolve Harbor Center Offices by its stable synthetic name, then call get_job with the returned job_id. Report the persisted Job and current computed totals, including two pane groups and a $3,360.00 total after a fresh reviewer-workspace reset."
            },
            {
              "description": "Create a new Job and enter representative Job Tint Type, pane, and custom-line-item data.",
              "prompt": "Create a Job named Review Walkthrough - Entry Doors. Add a job-local Tint Type named Neutral 40 at $10.25 per square foot, add two 36 by 84 inch panes labeled Entry doors using it, and add a Site protection line item for one visit at $45. Then show me the saved Job and totals.",
              "tools_triggered": "create_job, add_job_tint_type_custom, add_window_panes, add_custom_line_item",
              "expected_behavior": "Create the named Job, use each returned ephemeral identifier for subsequent calls, persist Neutral 40, the Entry doors panes, and the Site protection line item, and return the updated Job and computed totals. After all writes, the Job should contain one Job Tint Type, one pane group with quantity two, one custom line item, 42 square feet, and a $475.50 total."
            },
            {
              "description": "Remove one exact synthetic custom line item and return the corrected Job and totals.",
              "prompt": "Open Juniper Studio Entry, find the exact custom line item named Site mobilization, remove that item, and show me the updated Job and totals. Do not remove any pane or Tint Type.",
              "tools_triggered": "list_recent_jobs, get_job, remove_custom_line_item",
              "expected_behavior": "Resolve Juniper Studio Entry by name, inspect it with get_job, and pass the returned custom_line_item_id for Site mobilization to remove_custom_line_item. Return the post-removal Job and recalculated totals; the custom-line-item count should be zero and total dollars should be $396.00 after a fresh reset."
            },
            {
              "description": "Load a synthetic Job and render its current totals with the display-only totals component.",
              "prompt": "Open Cedar Court Residence and show its current totals in the TintLog totals widget.",
              "tools_triggered": "list_recent_jobs, get_job, render_job_totals_widget",
              "expected_behavior": "Resolve Cedar Court Residence by name, call get_job, and pass the exact returned job and summary objects to render_job_totals_widget. Render the display-only widget at ui://tintlog/job-totals-v2.html with totals matching the headless result, including $760.00 after a fresh reset; the widget must not perform a mutation."
            }
          ],
          "negative": [
            {
              "description": "Do not remove a pane when multiple panes on Harbor Center Offices are plausible targets. TintLog should ask which pane the user means and make no mutation until an exact pane_id or a descriptive selector matching exactly one pane is supplied.",
              "prompt": "Remove a pane from Harbor Center Offices."
            },
            {
              "description": "Do not create an estimate or invoice because documents are outside the approved tintlog_app_v1 capability bundle. Explain that TintLog can manage Jobs, Tint Types, Window Panes, custom line items, and totals in this version, and do not invent or invoke an estimate or invoice tool.",
              "prompt": "Turn Cedar Court Residence into an estimate and invoice it for me."
            },
            {
              "description": "Do not perform a destructive cleanup without a clear target and intent. Ask what should be changed or removed, identify the relevant Job and item first, and leave all Jobs, panes, Tint Types, and custom line items unchanged.",
              "prompt": "Clean up my TintLog stuff and remove whatever looks unnecessary."
            }
          ]
        },
        "commerce": false,
        "demo_recording_url": "https://drive.google.com/file/d/1M_NloGhdvXC4ZBMu0vK03T880bcBWlds/view?usp=sharing"
      },
      "publication": {
        "release_notes": "Initial ChatGPT plugin release for creating and managing TintLog quote jobs, tint types, panes, custom line items, and totals."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 29b8e1bfa3051be19df5a0f8b318152a0635631883bd5098dfb0848b97e49e61