{"_id":"@emb-agent/emb-ov-guard","_rev":"3-4f2fda13d00262ebda9a9094267b497a","name":"@emb-agent/emb-ov-guard","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@emb-agent/emb-ov-guard","version":"0.1.0","license":"MIT","_id":"@emb-agent/emb-ov-guard@0.1.0","maintainers":[{"name":"flonim","email":"welkintha@163.com"}],"dist":{"shasum":"04e430e340acd25bcd4c8bde63827003582db3ca","tarball":"https://registry.npmjs.org/@emb-agent/emb-ov-guard/-/emb-ov-guard-0.1.0.tgz","fileCount":3,"integrity":"sha512-7B9eMZykZ/5+WauNrLTMzQ2Oh0Tc6zL7w37vPYxyZ8QjyG4UWTyLmlKLJn46XNT+T2t1g2ghMXVwdBQz2wuylA==","signatures":[{"sig":"MEUCIDuebjCHTRyea3TtGH5SLx8DIjECBIfIrvg0kO/Ic9NmAiEAxibzHFg8j9EPm5WTJ2T7s2VfXQ+ya3b0xSVgV4L9SHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16176},"main":"index.mjs","type":"module","exports":{".":"./index.mjs","./package.json":"./package.json"},"gitHead":"238c57ac6cd46c0b242a8a12170f860a28a5cb4e","scripts":{"test":"node --test test/"},"_npmUser":{"name":"flonim","email":"welkintha@163.com"},"_npmVersion":"11.17.0","description":"ADR-0002 dual-surface guard: skip personal OpenViking injection/recall/capture and hide the 15 mcp__openviking__* tools inside emb projects (marker .emb-agent at cwd).","directories":{},"_nodeVersion":"26.5.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/emb-ov-guard_0.1.0_1788234073614_0.6089572277706263","host":"s3://npm-registry-packages-npm-production"},"deprecated":"merged into @emb-agent/dsh-panel (./guard export); use dsh-panel >= 0.6.0"},"0.1.1":{"name":"@emb-agent/emb-ov-guard","version":"0.1.1","license":"MIT","_id":"@emb-agent/emb-ov-guard@0.1.1","maintainers":[{"name":"flonim","email":"welkintha@163.com"}],"dist":{"shasum":"5f5474f4f620e48714c483f077491fb8a9fd67b9","tarball":"https://registry.npmjs.org/@emb-agent/emb-ov-guard/-/emb-ov-guard-0.1.1.tgz","fileCount":4,"integrity":"sha512-4G7c19vWAaoXMZVgB3UCQNMCAK2oOWW8G8vaVC0r8G6xSpzlohYA//zmbVd3S6yr6KGd2xCwSBvWn2AqX5ipdQ==","signatures":[{"sig":"MEUCIHSYxiYC9/jU/mgqWFNjtiEOfzPtxvFTxARNeuzWlW5+AiEAoBWs+36OPNuwyOPgko+FJMqsqRAiRzec+TvQ00lSxsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18465},"main":"index.mjs","type":"module","exports":{".":"./index.mjs","./package.json":"./package.json"},"gitHead":"bd51f1254045ae518f45fcfee392d1553554a95c","scripts":{"test":"node --test test/"},"_npmUser":{"name":"flonim","email":"welkintha@163.com"},"_npmVersion":"11.17.0","description":"Scopes the personal OpenViking surface by project workspace: inside emb projects (marker .emb-agent at cwd) the personal context services are off for the session and the mcp__openviking__* tool group is not exposed; elsewhere behavior is unchanged.","directories":{},"_nodeVersion":"26.5.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/emb-ov-guard_0.1.1_1788234680562_0.2919176545020994","host":"s3://npm-registry-packages-npm-production"},"deprecated":"merged into @emb-agent/dsh-panel (./guard export); use dsh-panel >= 0.6.0"}},"time":{"created":"2026-09-01T03:41:13.374Z","modified":"2026-09-01T06:36:26.555Z","0.1.0":"2026-09-01T03:41:13.733Z","0.1.1":"2026-09-01T03:51:20.697Z"},"license":"MIT","description":"Scopes the personal OpenViking surface by project workspace: inside emb projects (marker .emb-agent at cwd) the personal context services are off for the session and the mcp__openviking__* tool group is not exposed; elsewhere behavior is unchanged.","maintainers":[{"name":"flonim","email":"welkintha@163.com"}],"readme":"# @emb-agent/emb-ov-guard\n\nScopes the personal OpenViking surface by project workspace for\nDeepSeek Harness (DSH).\n\nA DSH session can combine two OpenViking consumers: the personal\nplugins (profile injection, recall, capture — the assistant's own\ncontext memory) and project tooling that talks to OpenViking with its\nown keys and scopes. This small plugin keeps the two cleanly separated\nper session:\n\n- **Inside emb projects** (a `.emb-agent/` directory at the session\n  cwd) the personal context services are switched off for the session\n  and the `mcp__openviking__*` tool group is not exposed — retrieval\n  goes through the project's own facade instead.\n- **Everywhere else** nothing changes: personal context and tools work\n  exactly as before.\n\n## How it works\n\nThe plugin is inserted into the `openviking-memory` plugin group via\nthe profile's `cordis.patch.yml` user layer, so it shares the same\nisolate realm as the OpenViking memory plugin:\n\n- it wraps the `openvikingMemory` runtime service (initialize /\n  profileMessage / recallMessage / capture / maybeCommit / flush) and\n  short-circuits them inside emb projects;\n- it applies a per-agent `tools.restrict` deny list for the 15\n  `mcp__openviking__*` tools (re-applied on `tools/change` so\n  lazily-registered MCP tools are covered) plus a monotonic\n  `tools.guard` backstop with an actionable message;\n- the first skip is logged (`[emb-ov-guard] skip predicate FIRED`)\n  for smoke checks.\n\n## Install (DSH profile)\n\n```bash\npnpm --dir ~/.dsh/profiles/web add @emb-agent/emb-ov-guard\n```\n\nThen insert it into the OpenViking group in your profile's\n`cordis.patch.yml`:\n\n```yaml\n- id: openviking-memory\n  name: \"@deepseek-ai/cordis-plugin-group\"\n  insert:\n    - id: emb-ov-guard\n      name: \"@emb-agent/emb-ov-guard\"\n      config: {}\n```\n\nNo build step (pure ESM, zero dependencies). Updates: `pnpm install`\npicks up the published version; a `link:` dependency tracks a\ncheckout instead.\n\n## Tests\n\n```bash\nnpm test   # node --test test/\n```\n\nCovers the marker predicate, cwd extraction, service short-circuit\nbehavior, restrict retry on lazy registration, the guard backstop,\nand the loud warning when the runtime service is missing.\n","readmeFilename":"README.md"}