← back to Kickbacks Ai Upstream

package.json

230 lines

{
  "name": "kickbacks-ai",
  "displayName": "Kickbacks.ai",
  "publisher": "Kickbacksai",
  "version": "0.3.174",
  "description": "Get paid while you code. Subtle, clickable ads in the Claude Code and Codex spinners — 50/50 revenue split to users.",
  "icon": "media/icon.png",
  "repository": {
    "type": "git",
    "url": "https://github.com/andrewmccalip/kickbacks.ai.git"
  },
  "engines": {
    "vscode": "^1.80.0"
  },
  "main": "./dist/extension.js",
  "activationEvents": [
    "onStartupFinished"
  ],
  "contributes": {
    "commands": [
      {
        "command": "kickbacks.signIn",
        "title": "Kickbacks: Sign in"
      },
      {
        "command": "kickbacks.signOut",
        "title": "Kickbacks: Sign out"
      },
      {
        "command": "kickbacks.restore",
        "title": "Kickbacks: Restore Claude Code"
      },
      {
        "command": "kickbacks.status",
        "title": "Kickbacks: Show status"
      },
      {
        "command": "kickbacks.debugMenu",
        "title": "Kickbacks: Menu"
      },
      {
        "command": "kickbacks.editConfig",
        "title": "Kickbacks: Edit Config"
      },
      {
        "command": "kickbacks.diagnose",
        "title": "Kickbacks: Diagnose"
      },
      {
        "command": "vibe-ads.diagnose",
        "title": "Kickbacks: Diagnose (legacy alias)"
      },
      {
        "command": "vibe-ads.signIn",
        "title": "Kickbacks: Sign in (legacy alias)"
      },
      {
        "command": "vibe-ads.signOut",
        "title": "Kickbacks: Sign out (legacy alias)"
      },
      {
        "command": "vibe-ads.restore",
        "title": "Kickbacks: Restore Claude Code (legacy alias)"
      },
      {
        "command": "vibe-ads.status",
        "title": "Kickbacks: Show status (legacy alias)"
      },
      {
        "command": "vibe-ads.debugMenu",
        "title": "Kickbacks: Menu (legacy alias)"
      },
      {
        "command": "kickbacks.test.fireImpressionRendered",
        "title": "Kickbacks (Test): Fire impression_rendered"
      },
      {
        "command": "kickbacks.test.fireImpressionViewable",
        "title": "Kickbacks (Test): Fire impression_viewable"
      },
      {
        "command": "kickbacks.test.fireViewTick",
        "title": "Kickbacks (Test): Fire view_tick"
      },
      {
        "command": "kickbacks.test.fireViewThresholdMet",
        "title": "Kickbacks (Test): Fire view_threshold_met (credits)"
      },
      {
        "command": "kickbacks.test.fireErrorImpression",
        "title": "Kickbacks (Test): Fire error_impression (5s stuck-session safety net)"
      },
      {
        "command": "kickbacks.test.fireClick",
        "title": "Kickbacks (Test): Fire click"
      },
      {
        "command": "kickbacks.test.refreshPortfolio",
        "title": "Kickbacks (Test): Refresh portfolio"
      },
      {
        "command": "kickbacks.test.refreshEarnings",
        "title": "Kickbacks (Test): Refresh earnings"
      },
      {
        "command": "kickbacks.test.getState",
        "title": "Kickbacks (Test): Get state snapshot"
      },
      {
        "command": "kickbacks.test.clearEventLog",
        "title": "Kickbacks (Test): Clear event log"
      },
      {
        "command": "kickbacks.test.disableInjection",
        "title": "Kickbacks (Test): Disable injection"
      },
      {
        "command": "kickbacks.test.enableInjection",
        "title": "Kickbacks (Test): Enable injection"
      },
      {
        "command": "kickbacks.test.refreshStatusBar",
        "title": "Kickbacks (Test): Refresh status bar"
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "kickbacks.test.fireImpressionRendered",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.fireImpressionViewable",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.fireViewTick",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.fireViewThresholdMet",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.fireErrorImpression",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.fireClick",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.refreshPortfolio",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.refreshEarnings",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.getState",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.clearEventLog",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.disableInjection",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.enableInjection",
          "when": "kickbacks.test.enabled"
        },
        {
          "command": "kickbacks.test.refreshStatusBar",
          "when": "kickbacks.test.enabled"
        }
      ]
    },
    "configuration": {
      "title": "Kickbacks",
      "properties": {
        "kickbacks.viewThresholdSeconds": {
          "type": "number",
          "default": 5,
          "minimum": 1,
          "maximum": 600,
          "description": "Seconds of cumulative visible time an ad must accumulate before it counts as 'shown' and is credited."
        }
      }
    }
  },
  "scripts": {
    "build": "node esbuild.mjs",
    "test": "vitest run",
    "typecheck": "tsc --noEmit -p tsconfig.json",
    "icon": "node scripts/gen-icon.mjs",
    "package": "node scripts/package.mjs",
    "marketplace:publish": "vsce publish --no-dependencies --packagePath kickbacks.vsix"
  },
  "devDependencies": {
    "@types/jsdom": "21.1.7",
    "@types/node": "20.14.0",
    "@types/vscode": "1.80.0",
    "@vscode/vsce": "2.31.0",
    "esbuild": "^0.23.0",
    "jsdom": "24.1.0",
    "typescript": "5.5.4",
    "vitest": "2.0.5"
  },
  "author": {
    "name": "ShiftKeys, Inc.",
    "url": "https://kickbacks.ai"
  },
  "license": "SEE LICENSE IN LICENSE",
  "homepage": "https://kickbacks.ai",
  "bugs": {
    "url": "https://github.com/andrewmccalip/kickbacks.ai/issues"
  },
  "keywords": [
    "claude-code",
    "ads",
    "spinner",
    "earnings",
    "kickbacks"
  ]
}