{"_id":"@apexguard/sdk","_rev":"8-2d546b1a0621fa613ab6d16c999421b1","name":"@apexguard/sdk","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"@apexguard/sdk","version":"0.1.0","keywords":["llm","security","agent","prompt-injection","ai-safety"],"license":"Apache-2.0","_id":"@apexguard/sdk@0.1.0","maintainers":[{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"}],"homepage":"https://github.com/kshkrao3/agentshield#readme","bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"dist":{"shasum":"b2a6802d05f7ee1f10917696874e37f327372ea8","tarball":"https://registry.npmjs.org/@apexguard/sdk/-/sdk-0.1.0.tgz","fileCount":33,"integrity":"sha512-obQvZxtk09BwdmoXNCtB4LdVKZqmotbIcEp2ihDnV108w85TrIEMTYIkkFSsWvMUlVkQ6DZVChTf4Iu6GL8+lA==","signatures":[{"sig":"MEUCIFXH7N+KqUWPV526OkNE5kMWuQ/uv3A6x+4gSh7ywz81AiEAw1NtZgHJVEsNzrBP1J+ZxBlhVU6oq47f2y7uHFmdx14=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30534},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapters/vercel-ai":{"types":"./dist/adapters/vercel-ai.d.ts","import":"./dist/adapters/vercel-ai.js"}},"gitHead":"9b7bf8e8d323692ac612079a0aa31eb14ccea863","scripts":{"dev":"tsc --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsc"},"_npmUser":{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"},"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"_npmVersion":"11.6.2","description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","directories":{},"_nodeVersion":"20.19.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","ts-jest":"^29.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1777393671808_0.4876352727761193","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@apexguard/sdk","version":"0.1.1","keywords":["llm","security","agent","prompt-injection","ai-safety"],"license":"Apache-2.0","_id":"@apexguard/sdk@0.1.1","maintainers":[{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"}],"homepage":"https://github.com/kshkrao3/agentshield#readme","bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"dist":{"shasum":"f580aa680e7c9a586fd539fa310d68b005f9c654","tarball":"https://registry.npmjs.org/@apexguard/sdk/-/sdk-0.1.1.tgz","fileCount":33,"integrity":"sha512-bp3u50mtu1S5NeqFImJYdUDf1cJawX0TZTl2AnVViCq55GaKA1dbwC49eL4YCwGj428AFd+JwrubYhHFFjzYcQ==","signatures":[{"sig":"MEUCIHK21cQWyP7tJejJclwq8IDiZjSZ3SOgQ0+zbDFzMcCIAiEAla8TVRf3sB4ui63KBFUSYVnWmYALTM3kAvgZXDJajas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexguard%2fsdk@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30534},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapters/vercel-ai":{"types":"./dist/adapters/vercel-ai.d.ts","import":"./dist/adapters/vercel-ai.js"}},"gitHead":"2c9ff56497083884bd0345bef63285d4f480bdcb","scripts":{"dev":"tsc --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd344a6f-d5d8-4138-a3c0-4b0a1a78712d"}},"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","ts-jest":"^29.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.1_1777395186071_0.2615494406603016","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@apexguard/sdk","version":"0.1.3","keywords":["llm","security","agent","prompt-injection","ai-safety"],"license":"Apache-2.0","_id":"@apexguard/sdk@0.1.3","maintainers":[{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"}],"homepage":"https://github.com/kshkrao3/agentshield#readme","bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"dist":{"shasum":"a766e01b5d7e2bd308aebff1ded0ce4c31b7dc6e","tarball":"https://registry.npmjs.org/@apexguard/sdk/-/sdk-0.1.3.tgz","fileCount":33,"integrity":"sha512-tNeE2q3fxDZLMR0MuR4d4gsCW4TWwPdUT5gOi2vpOAHOXsnJlc/rGmJ8o7kuhrulPeFMV3iERMXZgFwCmSN0+A==","signatures":[{"sig":"MEUCIQCGqFBHJ8KawudM8WC72ejJ3s22ifBEvQKe8iVN9L3tEQIgc8wGtkRHjL73XFMu5T8+goX1EDSRs0aIfqOus7gC750=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexguard%2fsdk@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30566},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapters/vercel-ai":{"types":"./dist/adapters/vercel-ai.d.ts","import":"./dist/adapters/vercel-ai.js"}},"gitHead":"cad8e6952fdd7855f150a7451d17174837878681","scripts":{"dev":"tsc --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd344a6f-d5d8-4138-a3c0-4b0a1a78712d"}},"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","ts-jest":"^29.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.3_1777395583024_0.45551488860123857","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@apexguard/sdk","version":"0.1.4","keywords":["llm","security","agent","prompt-injection","ai-safety"],"license":"Apache-2.0","_id":"@apexguard/sdk@0.1.4","maintainers":[{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"}],"homepage":"https://github.com/kshkrao3/agentshield#readme","bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"dist":{"shasum":"7db75c443b3031887ae221c5900efa35620f03a7","tarball":"https://registry.npmjs.org/@apexguard/sdk/-/sdk-0.1.4.tgz","fileCount":34,"integrity":"sha512-AAj0MhITBFQOWTJL422bBoCsPiHB1+8OkzZun72c+Ep2UPNCuZDpyRenQjsxt+Jt4DBS06FMbG3ufXGFA0qTAA==","signatures":[{"sig":"MEYCIQC3ZpEQdBen4B6QGi++nJX94Lo8HaLto0EF0Eb4qgF9qgIhAP898Rk5YeiP5mjGQzFggReg/dJveq5+FO1IeGNlLgjR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexguard%2fsdk@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33371},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapters/vercel-ai":{"types":"./dist/adapters/vercel-ai.d.ts","import":"./dist/adapters/vercel-ai.js"}},"gitHead":"6c4169e028ace7d60a6f40360c514e6904894e20","scripts":{"dev":"tsc --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd344a6f-d5d8-4138-a3c0-4b0a1a78712d"}},"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","ts-jest":"^29.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.4_1777396019487_0.8937027639203245","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@apexguard/sdk","version":"0.1.5","keywords":["llm","security","agent","prompt-injection","ai-safety"],"license":"Apache-2.0","_id":"@apexguard/sdk@0.1.5","maintainers":[{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"}],"homepage":"https://github.com/kshkrao3/agentshield#readme","bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"dist":{"shasum":"99928db8d6b07a3f25e768ed3be91375f7f7751c","tarball":"https://registry.npmjs.org/@apexguard/sdk/-/sdk-0.1.5.tgz","fileCount":34,"integrity":"sha512-v1apn+YVisgxizp8IDrNyyKndTjZHk8z4ysi6z8N322t5xcWLbNu/mFm2sHXNB6W8RAhaQDIxUP0wsEVLb+SzA==","signatures":[{"sig":"MEUCIQDOXnzwKzoS4HOPff57Ehi+MzeI/UEuMpL764saIIrgPgIgFZWnN8FDCob4b6ZJCjLiaCxk8Mit+yBm/E16s5mAplY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexguard%2fsdk@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33371},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapters/vercel-ai":{"types":"./dist/adapters/vercel-ai.d.ts","import":"./dist/adapters/vercel-ai.js"}},"gitHead":"f7583dcee8e169f6b367383034115ce7df0e504e","scripts":{"dev":"tsc --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd344a6f-d5d8-4138-a3c0-4b0a1a78712d"}},"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","ts-jest":"^29.0.0","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.5_1777397923489_0.8137473588403175","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@apexguard/sdk","version":"0.1.6","keywords":["llm","security","agent","prompt-injection","ai-safety"],"license":"Apache-2.0","_id":"@apexguard/sdk@0.1.6","maintainers":[{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"}],"homepage":"https://github.com/kshkrao3/agentshield#readme","bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"dist":{"shasum":"3796d98626fc4a0f6955ee36509e2d6d32a1cd28","tarball":"https://registry.npmjs.org/@apexguard/sdk/-/sdk-0.1.6.tgz","fileCount":34,"integrity":"sha512-6UA+A0wCyT4aiPbWoQuYQ8N16cwwWtK88GNegCcg6t7eB/CR5Dj76LxwwkAjNU6wIiI570B5rN+0nnvTHDL7Dw==","signatures":[{"sig":"MEQCIAPfmdgZ344lGmLugTjj6cSghLZ3ms7bVpDSMePnrXf0AiBbOrgZOf/PAlp8MpQwHzVpKB9jY1e6cOuwKTUTRM+RMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexguard%2fsdk@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33371},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapters/vercel-ai":{"types":"./dist/adapters/vercel-ai.d.ts","import":"./dist/adapters/vercel-ai.js"}},"gitHead":"f7583dcee8e169f6b367383034115ce7df0e504e","scripts":{"dev":"tsc --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd344a6f-d5d8-4138-a3c0-4b0a1a78712d"}},"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","ts-jest":"^29.0.0","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.6_1777427887359_0.24900136778429416","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@apexguard/sdk","version":"0.1.7","keywords":["llm","security","agent","prompt-injection","ai-safety"],"license":"Apache-2.0","_id":"@apexguard/sdk@0.1.7","maintainers":[{"name":"jraoguruprasad","email":"jraoguruprasad@gmail.com"}],"homepage":"https://github.com/kshkrao3/agentshield#readme","bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"dist":{"shasum":"a3469782679188639dbe309ad9b23a6056f00473","tarball":"https://registry.npmjs.org/@apexguard/sdk/-/sdk-0.1.7.tgz","fileCount":38,"integrity":"sha512-SIcDCdbrug00zuGeqr/PBgUOn4tgh15OhzbTZtgajYfkjMGTttzXiQG3RfqQbN29UQSyCaNa2pX38H1k5e6CxQ==","signatures":[{"sig":"MEUCIQCcAQ+UYat6VqimqGKV+85YBylI/1FyLAJZyHTxv+jQWgIgbxmRqiwHKmydTWmToZfrz9W1FRDccisGUwtpczwl8nQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexguard%2fsdk@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36674},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapters/vercel-ai":{"types":"./dist/adapters/vercel-ai.d.ts","import":"./dist/adapters/vercel-ai.js"},"./adapters/openai-agents":{"types":"./dist/adapters/openai-agents.d.ts","import":"./dist/adapters/openai-agents.js"}},"gitHead":"3e49963755edd7d8d1d23fb0fe98376d50ed8ad3","scripts":{"dev":"tsc --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bd344a6f-d5d8-4138-a3c0-4b0a1a78712d"}},"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","ts-jest":"^29.0.0","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.7_1777428638775_0.5385144187534787","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-28T16:27:51.707Z","modified":"2026-04-29T19:09:32.660Z","0.1.0":"2026-04-28T16:27:51.954Z","0.1.1":"2026-04-28T16:53:06.207Z","0.1.3":"2026-04-28T16:59:43.142Z","0.1.4":"2026-04-28T17:06:59.616Z","0.1.5":"2026-04-28T17:38:43.655Z","0.1.6":"2026-04-29T01:58:07.498Z","0.1.7":"2026-04-29T02:10:38.980Z"},"bugs":{"url":"https://github.com/kshkrao3/agentshield/issues"},"license":"Apache-2.0","homepage":"https://github.com/kshkrao3/agentshield#readme","keywords":["llm","security","agent","prompt-injection","ai-safety"],"repository":{"url":"git+https://github.com/kshkrao3/agentshield.git","type":"git"},"description":"Runtime security middleware for LLM agents — prompt injection, tool misuse, and memory poisoning defense","maintainers":[{"email":"kshkrao3@gmail.com","name":"kshkrao3"}],"readme":"# agentshield\n\nRuntime security middleware for LLM agents. Drop it into your existing agent framework — no refactor required.\n\n**Defends against:**\n- Prompt injection (user input hijacking system instructions)\n- Tool misuse & privilege escalation (agents calling tools outside intended scope)\n- Memory poisoning (persistent agent memory corrupted across sessions)\n- RAG context injection (poisoned document chunks injecting instructions)\n\n---\n\n## Install\n\n```bash\npip install apexguard\n# or\nnpm install @apexguard/sdk\n```\n\n---\n\n## Python — 30-second quickstart\n\n```python\nfrom apexguard import Shield, Policy\n\nshield = Shield(\n    policy=Policy(\n        tool_allowlist=[\"calculator\", \"web_search\"],\n        memory_ttl=3600,\n        injection_sensitivity=\"medium\",\n        on_violation=\"block\",\n    )\n)\n\n# Wrap your existing LangChain agent\nsecured_agent = shield.wrap(your_langchain_agent)\nresult = secured_agent.invoke({\"input\": user_query})\n```\n\n### LangChain tool integration\n\n```python\nfrom apexguard.adapters.langchain import shield_tools\n\nsecured_tools = shield_tools(your_tools, shield)\nagent = create_react_agent(llm, secured_tools, prompt)\n```\n\n### Custom violation handler\n\n```python\nshield.on_violation(lambda e: send_to_slack(e))\n```\n\n---\n\n## TypeScript — 30-second quickstart\n\n```typescript\nimport { Shield } from '@apexguard/sdk';\n\nconst s = new Shield({\n  policy: {\n    toolAllowlist: ['calculator', 'webSearch'],\n    memoryTTL: 3600,\n    injectionSensitivity: 'medium',\n    onViolation: 'block',\n  },\n});\n\nconst securedAgent = s.wrap(yourAgent);\n```\n\n### Vercel AI SDK tools\n\n```typescript\nimport { shieldTools } from '@apexguard/sdk/adapters/vercel-ai';\n\nconst result = await generateText({\n  model: openai('gpt-4o'),\n  tools: shieldTools({ calculator, webSearch }, s),\n  prompt: userInput,\n});\n```\n\n---\n\n## Modules\n\n| Module | What it does |\n|--------|-------------|\n| `PromptFirewall` | Pattern-matching injection detector — 0 external calls, <1ms |\n| `ToolSentinel` | Allowlist/denylist + per-turn rate limiting for tool calls |\n| `MemoryGuard` | TTL enforcement + untrusted-write quarantine for agent memory |\n\n---\n\n## Policy options\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `tool_allowlist` | `None` | Whitelist of permitted tool names. `None` = all allowed |\n| `tool_denylist` | `[]` | Hard-blocked tool names |\n| `memory_ttl` | `3600` | Memory entry lifetime in seconds. `0` = no expiry |\n| `injection_sensitivity` | `\"medium\"` | Pattern set: `low` / `medium` / `high` |\n| `on_violation` | `\"warn\"` | `\"warn\"` (log only), `\"block\"` (raise), `\"quarantine\"` (suppress) |\n| `max_tool_calls_per_turn` | `20` | Rate limit per agent turn |\n| `max_memory_entries` | `1000` | Cap on memory store size |\n\n---\n\n## License\n\nApache 2.0\n","readmeFilename":"README.md"}