{"_id":"@agorio/plugin-spending-controls","name":"@agorio/plugin-spending-controls","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@agorio/plugin-spending-controls","version":"1.0.0","description":"Enterprise spending controls plugin for Agorio SDK — enforce per-transaction, session, and daily spending limits on AI shopping agents","type":"module","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"peerDependencies":{"@agorio/sdk":"^0.5.0"},"keywords":["agorio","ucp","acp","ai-agent","shopping-agent","governance","spending-controls","enterprise"],"author":{"name":"Agorio"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Nolpak14/agorio.git","directory":"plugins/spending-controls"},"devDependencies":{"@agorio/sdk":"^0.5.0"},"_id":"@agorio/plugin-spending-controls@1.0.0","gitHead":"771ffbcd1f4e7410b429a29409d87d94c694c3ec","bugs":{"url":"https://github.com/Nolpak14/agorio/issues"},"homepage":"https://github.com/Nolpak14/agorio#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-rtdnQY19UyP8lb5FMd1ZDlkhfWnzoWm2Gthfde7fSSUvr8ecLiQBTwp2sujXYFv3vdenU0HHHMEFanPdYN8j7Q==","shasum":"32cec28830d63a203680441d001e3ec4336d5383","tarball":"https://registry.npmjs.org/@agorio/plugin-spending-controls/-/plugin-spending-controls-1.0.0.tgz","fileCount":5,"unpackedSize":8713,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDfhSJ519XOIjez1GxYnq6riTUqzvZNMdODM101FZgdJwIgZYQjkzBYA3COqgH+x4/+/4eliHNcppPw9LsyOJfH5o8="}]},"_npmUser":{"name":"nolpak14","email":"piotr.kaplon@outlook.com"},"directories":{},"maintainers":[{"name":"nolpak14","email":"piotr.kaplon@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plugin-spending-controls_1.0.0_1778869591321_0.19145673485063286"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-15T18:26:31.222Z","1.0.0":"2026-05-15T18:26:31.455Z","modified":"2026-05-15T18:26:31.670Z"},"maintainers":[{"name":"nolpak14","email":"piotr.kaplon@outlook.com"}],"description":"Enterprise spending controls plugin for Agorio SDK — enforce per-transaction, session, and daily spending limits on AI shopping agents","homepage":"https://github.com/Nolpak14/agorio#readme","keywords":["agorio","ucp","acp","ai-agent","shopping-agent","governance","spending-controls","enterprise"],"repository":{"type":"git","url":"git+https://github.com/Nolpak14/agorio.git","directory":"plugins/spending-controls"},"author":{"name":"Agorio"},"bugs":{"url":"https://github.com/Nolpak14/agorio/issues"},"license":"MIT","readme":"# @agorio/plugin-spending-controls\r\n\r\nEnforce per-transaction, session, and daily spending limits on AI shopping agents built with the [Agorio SDK](https://agorio.dev).\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install @agorio/plugin-spending-controls @agorio/sdk\r\n```\r\n\r\n## Usage\r\n\r\n```ts\r\nimport { ShoppingAgent } from '@agorio/sdk';\r\nimport { createSpendingControlsPlugin } from '@agorio/plugin-spending-controls';\r\n\r\nconst spendingControls = createSpendingControlsPlugin({\r\n  perTransactionLimit: 500,   // block any single purchase > $500\r\n  sessionLimit: 1000,          // block once session total > $1000\r\n  dailyLimit: 2000,            // block once today's spend > $2000\r\n  currency: 'USD',\r\n  onLimitExceeded: (details) => {\r\n    console.warn('Spending limit hit:', details);\r\n  },\r\n});\r\n\r\nconst agent = new ShoppingAgent({\r\n  llm: myLlmAdapter,\r\n  plugins: [spendingControls],\r\n});\r\n\r\nawait agent.run('Buy running shoes under $150');\r\n```\r\n\r\n## Config\r\n\r\n| Option | Type | Description |\r\n|--------|------|-------------|\r\n| `perTransactionLimit` | `number` | Maximum spend per single transaction |\r\n| `sessionLimit` | `number` | (optional) Maximum total spend for the agent session |\r\n| `dailyLimit` | `number` | (optional) Maximum total spend within a rolling 24h window |\r\n| `currency` | `string` | Currency code for error messages (default: `'USD'`) |\r\n| `onLimitExceeded` | `function` | Callback fired when a limit is about to be exceeded |\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md","_rev":"1-91fc16ea7cb5b611f622edea5c7f1743"}