{"_id":"@osovv/vv-opencode","_rev":"151-3411e6d27b9290727090df084e8637eb","name":"@osovv/vv-opencode","dist-tags":{"rc":"1.4.3-rc.1","latest":"2.1.4"},"versions":{"0.1.0":{"name":"@osovv/vv-opencode","version":"0.1.0","keywords":["opencode","plugins","workflow","guardian","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.1.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"97730551c7cde8ac6ddcae2ba43d2d14a8e5a411","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.1.0.tgz","fileCount":39,"integrity":"sha512-m40dnT9SzteorT0k9gFaenUxTcg4HAKNz3MKIsEaHzJHurrOwpBY2cAdoAdmEB8RZx0uxLgdkJjnTtsJki88mw==","signatures":[{"sig":"MEYCIQC5T28fTQIu9dglHekW+xcfp+WAUw+rRGpMwcXyQVMIuAIhAMHeMkJ5oTq4CBzaTi60AJr+VoZQvKZmrXIm3nGNl12Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188852},"type":"module","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"7d531b13c4fcb9286e0098a1f8557330095a0a0c","scripts":{"test":"bun test","build":"tsc -p tsconfig.json","check":"bun run typecheck && bun test","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.1.0_1775469929815_0.991994653055837","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@osovv/vv-opencode","version":"0.2.1","keywords":["opencode","plugins","workflow","guardian","memory","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.2.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e20c21823a2c0f0f9e0347e6e464072e6a4b1214","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.2.1.tgz","fileCount":51,"integrity":"sha512-z6lLgmYYxCzYx5WVXRQZI93sr7Vgq8A2CRmcMTN0/pL6uydzCCg0S0dP+9BTDNifc7wf4cvbwP1SI1G2RUwRCg==","signatures":[{"sig":"MEUCIGLd153SFmV5TfhXk6x/Bj8mfT3Pc6wR6udHwPHWoS+AAiEA7G4Ydq0QtdcNVcnQmd96G77XYoCY6SF6CKvpsO2kLmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274492},"type":"module","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory.d.ts","import":"./dist/plugins/memory.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"8b78fa72a4ca91275e486b2f3723b0d017719351","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"tsc -p tsconfig.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.2.1_1775475083606_0.8558907934636641","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@osovv/vv-opencode","version":"0.2.2","keywords":["opencode","plugins","workflow","guardian","memory","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.2.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"49deb225328e3bf3c631e08ade154a3acb10835d","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.2.2.tgz","fileCount":38,"integrity":"sha512-7rL0EtvLkH3b764qm3FFcm+neSfOghS6dQ5IwKex+/8AxcwPFBbzAoXKDdiOX1IahLs8AaSJerO1PZMaDK+sAg==","signatures":[{"sig":"MEUCIQCQapjikB3BIT+xFAweMRASCx7Qh/GtRrkQnu0sq1+ZdQIgSmhypRcG+/uSaJSVwN9+Llf+jVedFFY3O88wvTp1rlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221146},"type":"module","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory.d.ts","import":"./dist/plugins/memory.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"47a96a80061cd8629439541cebd48018df921a8a","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.2.2_1775477068337_0.8403791883134928","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@osovv/vv-opencode","version":"0.2.3","keywords":["opencode","plugins","workflow","guardian","memory","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.2.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"37005caaa88a198026ea45be4ec57a27856d0ffb","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.2.3.tgz","fileCount":38,"integrity":"sha512-JoM+05mFHH/8ZQgXL9hHG4+XnCETKgOtGEFoJ43cO9S8wRuIxKVIFcvI96oSPYnf56wPl72DRol9ElRPxCrASQ==","signatures":[{"sig":"MEUCIQChUSivfN40iBlaSDXtlq34YWB/oxE8jjDPe3AUMJhhEwIgZ7zrrfUbjTE6p1AIoA6Z3UeYlxPRLCkj0RY/2l6ZgLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221207},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory.d.ts","import":"./dist/plugins/memory.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"1c702790b08b6be100494e907f9005ea5feb24be","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.2.3_1775477749869_0.3300158587254607","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@osovv/vv-opencode","version":"0.2.4","keywords":["opencode","plugins","workflow","guardian","memory","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.2.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"52435c80b7c693f537addf906d06e3d34dc41be1","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.2.4.tgz","fileCount":44,"integrity":"sha512-Nh80miVzkJWSKKZWrYFsjcqhzVWMHQhL7u6ubCnf1ycqiHvVF7CAuqUzbMxpPrhir3i6UUtV3+aPMmJ22t88tQ==","signatures":[{"sig":"MEYCIQCPYY5rcKTCjuzGloE1AAz1rgn5V3UvAoG9qINrw1P7kQIhAL8vh4lsK7hpzOLyA03qLMI5UzY4xU1HfvvN+w1xum8y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226633},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory.d.ts","import":"./dist/plugins/memory.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"1b7eafa388f6f0b353d806dae81b44f1b1ed8f75","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.2.4_1775479794253_0.038284520827311486","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@osovv/vv-opencode","version":"0.2.5","keywords":["opencode","plugins","workflow","guardian","memory","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.2.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"532984ac38318b322ea41d5c464fc42b88e3b928","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.2.5.tgz","fileCount":44,"integrity":"sha512-8mToJfBbhonsI5Fnb3xI5EdN/nmIofKE0/Jq9ZN81hVvoojnWtucF0LesKuf9q5r2wZMQMfhDLk6CmtRdmRu0w==","signatures":[{"sig":"MEUCIQCbn871Gys7AVgSGQQASjA4uv88oNrsYqLwIPXghkAllgIgHFifc8I04OUStVhwDXDeVWznBvc6BtdW19oAGKvSGNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229150},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory.d.ts","import":"./dist/plugins/memory.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"0e42963a240ce39cb07c87e7fbbbfc3d1f1a72ba","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.2.5_1775481192212_0.33397411892672846","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@osovv/vv-opencode","version":"0.3.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.3.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c8cf8e37b1b3962074e6501431893200b36ef181","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.3.0.tgz","fileCount":68,"integrity":"sha512-o5sG8VfLo4GKasEvNwtQ7y0X+KNoD2jSKWjRQBtMTikMCI+8U469xawuuczLluVNGP3rDxN97NNTf4gOXZq9qA==","signatures":[{"sig":"MEUCIQDCt/jNsrZGe/KIrRGORvPMNYxlc7hWN8SWOSbR4eOxpgIgCqyP0UjJzh76jQnRMH7jok15BenuLh5na66uLfp6axg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305843},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory.d.ts","import":"./dist/plugins/memory.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"88b03d336df64fcaf52e99b8f9f1c051749cd00a","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.3.0_1775495350530_0.6795175498990278","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@osovv/vv-opencode","version":"0.3.3","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.3.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"851b88bbae249e0b3a3abc409191180946bc77c4","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.3.3.tgz","fileCount":68,"integrity":"sha512-B8anrbgoAVzZ8HTFPhtWv18sZZ8ug44eAhG874kbVgcIPM3azgYG68ARNq58bor7b3C6yT2FtJBIp21CIMhz6g==","signatures":[{"sig":"MEQCIF90IToWxjEazjebsBI9rXmE+LnahXyeHNENuLV9MpUiAiAc2Z3RW90R8uCHZ9LSF+/QnnZ3WtpCde6MHoWWmOzt8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305843},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory.d.ts","import":"./dist/plugins/memory.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian.d.ts","import":"./dist/plugins/guardian.js"}},"gitHead":"076672d8efb86eb322cc15c4db2c09d236edb583","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.3.3_1775497460251_0.7676883133691401","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@osovv/vv-opencode","version":"0.4.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.4.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"876ce2562def2edcd69c91804c9e1e281b4321b3","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.4.1.tgz","fileCount":71,"integrity":"sha512-MhlOck8g33lGPcIfP8JYE1FAbSEgy9PJW1H4RzbttCl+R+L4QQdbkPedjej+XqUNdzvz6VAy4TztzHcc6KSvNA==","signatures":[{"sig":"MEUCIHAp5v2MNSQWd/zRlX3AeWu4QyXpyrJwH3jXHVUI5GLVAiEAjpuahF7g6MXhnL+rKDT29MENk9jKDQKgsUFqFj8YRCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333204},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"5d78575be202f4ec286e3757405fce1ccc61f89b","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.4.1_1775541146894_0.848229230735966","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@osovv/vv-opencode","version":"0.5.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.5.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"70a8787f7f4e0561afa3c723406a220b88facc13","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.5.0.tgz","fileCount":92,"integrity":"sha512-yeZckLGy4QDakftQNu8WX5xvvyjfZLc7/x0n04X8ChV8CYO9d1GLS6j4Q41wQkBQ91BKpiLhT7a7dENKKGNOMw==","signatures":[{"sig":"MEUCICCmKR3qAUJQ3SPBajGiRU376gjHC5D8pQPKfHU2YvGgAiEAkxBU86+RuKd81RvOPmd3Ud6pU4TiD46dKgtPX9wXDSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402057},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"95306c1295a2cfb19624f9aaf24920e104178eb2","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.5.0_1775548689216_0.3348230365738616","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@osovv/vv-opencode","version":"0.5.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.5.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"08ebca8cc741ed64f5511ff91b3c05cc6a645f4f","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.5.1.tgz","fileCount":92,"integrity":"sha512-IQnsNlAdHv9YjGztEPzSz37php5fbhJ6yi9jjfd/zMDjveR89Mq8y7vhhHYTbGC5xfFLIfnIRfYn0sxNlTKjow==","signatures":[{"sig":"MEQCIC60GD72krmhzV9SllcaHzfclg0XKB7AAVLECEhq0SncAiBv64mTg3pNaLWQ/ttqeeIgTw9o9gLtqJTD9Jqf7T03GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":403236},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"f551adb62afd2ca8e3d7a66f0dc85dfbb378a2ca","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.5.1_1775549907387_0.9426262301764203","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@osovv/vv-opencode","version":"0.5.2","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.5.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"1622316a5ee0cfe4b8e931ed98b72b45ff602e0f","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.5.2.tgz","fileCount":92,"integrity":"sha512-pRBKnEfhj5h318ncSM+9sfMMrxQ1XrVDAybE59Y/A+LzwTUzFuT/4Y5Jw8wI7/WCFGU8JdFsIGs0s7pKCCS5qA==","signatures":[{"sig":"MEUCID8d9hsgNfu+F9Bw5Yx2vr9Re14Ip1sO5PnUrEA1+PmDAiEA8GJmFfAvt84GxOiCmuHLmmcvTgWRyWHFonEaaudIT2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402794},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"5059f30ebd77f2d230dff0f7c38b4e0d1ddbb3e9","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.5.2_1775550898007_0.13571100176016015","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@osovv/vv-opencode","version":"0.5.3","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.5.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"1c3d53ae78d702a40f02f61019794f8f432b8817","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.5.3.tgz","fileCount":92,"integrity":"sha512-tOUv+W7dPU3EwVVWtl6nHeQKy66QDU+wqRJDE44i3C4DKIl7GynVAytem9a0CazHHVbJ/q1UpnZ+/pGJoJnKxg==","signatures":[{"sig":"MEYCIQCvauPLK1S/9fUHx5sS2dDjZUdJmAz8ve4e8lE0dhkangIhAP2M+DxOP+B+ecJUb2Zwlbuen3v6qvQIayd0tuz2E5PB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":407232},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"7664f86e6f738a36c7bb8a6f9fc08dab9a1d7d2e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.5.3_1775553059367_0.3587924955067625","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@osovv/vv-opencode","version":"0.5.4","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.5.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"4bb00e5dae88614995120056b21e9b074a448a15","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.5.4.tgz","fileCount":92,"integrity":"sha512-d1gINbj/ZoH8VRjj4I2kSXY2BvetRluJvmfzlQ8eWEYNdv6BMRG/AK6PXAxRbDx+AGV6cw9TKshGtr73mSFlXA==","signatures":[{"sig":"MEUCIQD53IQCXiheBuyEMq2Je/R3VC00wxTg3hp8jr9aDouXygIgdHwY//+CGmDKtQ1j/ZxKQRx8ytQNKj0EcVGiVe6ageY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":407183},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"fef5e901d3c9ae878a7c3ce0c5be135b1a0c744d","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.5.4_1775559561243_0.575550878481548","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@osovv/vv-opencode","version":"0.5.5","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.5.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5c2b941c25be3b0fdb91ab38cca0996b7f68a4a4","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.5.5.tgz","fileCount":92,"integrity":"sha512-HJKpF3lAkaWZabKI9nEKZs+5www/LABq335HzhQZ6+Du5qKnkJlZw05Ysg+tOzOZ4xQl49stDn4g2asmXy9IVg==","signatures":[{"sig":"MEQCIGnImMuG+FV5aECfVXtMZfk5JuXICIpkYwoUkNzzlTtcAiA9hsCidiXeP/BRzRc5gQiS1lF8LydgvDW61vU//WBbow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409599},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"27d7be8f48d580daf3a713be2b515be151554ed6","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.5.5_1775560720289_0.24480857510134602","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@osovv/vv-opencode","version":"0.6.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.6.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c01289d340adee98bcb5e061d002bc5a8317bfb9","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.6.0.tgz","fileCount":102,"integrity":"sha512-0i+oEfM6qjX6kHNxaBUN60/+MmfVxDDqExmvEAarmKcJzbuvhTIl6NiXqfLlJHRhazyjSb6pVPbY95Mbq8/HBQ==","signatures":[{"sig":"MEUCIDyae2jpap046eIBpJ9dI90Y3YUZgcEClsJga4Ao7UHwAiEA2g2TH/vCtR3mRR21Vdd6ulKxUTbvZHbdZk736yNkdZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451412},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"46b738f369e69654ae30f61f6217de22cdc21fbf","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/guardian dist/plugins/memory && cp src/plugins/guardian/policy.md dist/plugins/guardian/policy.md && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/memory/reviewer.md dist/plugins/memory/reviewer.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.6.0_1775570081319_0.6519793609398616","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@osovv/vv-opencode","version":"0.6.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.6.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c55d7e76910d23f92d3f57fb0b526c22cac73a35","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.6.1.tgz","fileCount":102,"integrity":"sha512-fKSJ6vt2u8xgA/IMUHzP/3+fFojz8AworUi8VCRkSpCbRF/m2KWHCEOquX47z24Z1otKrKn+J+NeTO6YTvVglQ==","signatures":[{"sig":"MEUCIQDAldPzGVTkjAo/snJMHLxu169XN/tQZ0UOpAV0dpHNtgIgZ0k0ZdV5BYJbjSo9cwqc5nXZ/ygeZz49/bDomaACTiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":456353},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"7928c96b7f79427756f1ab251838e457e9441ea2","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.6.1_1775571904608_0.8894915053894499","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@osovv/vv-opencode","version":"0.7.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.7.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"adb5a64df1411734c21dd76e44cdeb3ceea32983","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.7.1.tgz","fileCount":105,"integrity":"sha512-94A+44K8gTEdKmzva+vAfc4ZSwxxRXW8Ox6wji940Str+J71XF+ZQ786Tn030lNeJ6/fjL+wRBLzcLo1uIu9FQ==","signatures":[{"sig":"MEUCID8yNfZmpRBE45yBaO25a0ivLPp9tNc+Dp7AsLWCksdzAiEA4Ae45Y5uJhMGn/ouWFdJ5E+PhN9Jgf0AF42SUasm2MY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471752},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"b4ace949fd1b6420ff4ac6f4e7820250a3fc2c2e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.7.1_1775574737342_0.03819977503217653","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@osovv/vv-opencode","version":"0.8.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.8.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"eefad6ff02384a7daebb0699ee3787000bdffb70","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.8.0.tgz","fileCount":105,"integrity":"sha512-gDvs8ToDeoY89CXyM57z9BuBTleV9rD5MOngUQAFzZqVCARRczi/bljM+vZsfaEcLsPgthHR8ubXTb5EWo1enw==","signatures":[{"sig":"MEYCIQDD5uWzR2tobnGzoujCOMY3CoTzBpeb+psbMbwqDujr0wIhAIBudIDqzH7wIHTdKSLpKZ/TWxKGx2fVw/adnIGc583s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":481879},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"88c6c859fdeabfb5b9c6c88193b93c5cc8eb41a5","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.8.0_1775580554287_0.7763407042570907","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@osovv/vv-opencode","version":"0.8.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.8.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"b033d36c54f019e80dfe0b51ecf59579cf87d264","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.8.1.tgz","fileCount":105,"integrity":"sha512-/Oy3k7ic9pVqPvs4pG1CRX9uU+2TCuMQsSpSapSiAqLKCPoZaNvJ5244TjuQMm1jOAAag+t2AUmnh9CCn/joBA==","signatures":[{"sig":"MEQCIAfwdko9FWXC5G/23Oe84JROJBr3tquIW6h4MnlqGpJ/AiAy+9VuxRR4IimCr1H7kn7yX/l5WFn70S2CjrWe7vg0+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482154},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"4c4c6531ec2c465f674ef5855c9114c0d7d54ec8","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.8.1_1775583749741_0.2711361188840311","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@osovv/vv-opencode","version":"0.9.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.9.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"388eb123100abce784602b3a64fa29b6b7b21261","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.9.1.tgz","fileCount":105,"integrity":"sha512-8mj2xeqHaou9aTF8SvBSesAdPR0fkJN/v9d5HOwZhvg2tYUiVmcK6z+zTfTeqBMLWHAYcwOaJExY2miuHAYUng==","signatures":[{"sig":"MEUCICgrjf3KDzeTjGfBTWkNSjTWj224wCB6TrYTcVOnVXlKAiEA6QWt6grjCeSR7YAEccsGdqtrNCu/iYwV/P6qR2idZ9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482358},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"b3c880efb180b35ccdb8ebb852a3112a3232f32e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.9.1_1775591344813_0.7381272860127814","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@osovv/vv-opencode","version":"0.10.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.10.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"0e489df3d80a87c69fa316be358fad2070e20e13","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.10.0.tgz","fileCount":108,"integrity":"sha512-Vzc4y/FiT3kAc6ORRQFWp/FO2ujThckXtGZLlecxRKx2I774rnl68nIXneTHyis/Fj4gYvI/vmblpK/u+lOong==","signatures":[{"sig":"MEYCIQDXBiiZJSPowXkrQfMmWAMIjHJJfSZIF47PllZ3J1gNQQIhAJQgFaYoE46eiJ41237jEZTbaj8uqcOq6Qbu4csDWHWl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501455},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/enhance":{"types":"./dist/plugins/enhance/index.d.ts","import":"./dist/plugins/enhance/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"638b0ead6eed30b43378a8635c512e5701e44bb8","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('EnhanceCommandPlugin' in root)) throw new Error('dist root export missing EnhanceCommandPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/enhance/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.10.0_1775642667133_0.9559802263373158","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@osovv/vv-opencode","version":"0.11.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.11.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e684b8bb7204ce596f05efdae59f3e5b394f7582","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.11.0.tgz","fileCount":106,"integrity":"sha512-kb16XcggdnUsB6cVEr2uVpwojnHCJHh0FYDZJnS6EXhWWp5TUB48vajfVLXzdAyKMybkVDI9N63rsQ9j4OYUXg==","signatures":[{"sig":"MEYCIQDRy+RUrjQuZQOH3BijMp8Xsq7R8iC+9QcRQQO3JyIpSAIhAKPo/CfL8u834iy43Xssj3L2F8dUfUBRve1KGrprc7XR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490463},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"}},"gitHead":"5a75de67e37cd5a240c1ee88c48c5d3fbf2a4008","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.11.0_1775649575783_0.4611600153953277","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@osovv/vv-opencode","version":"0.12.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.12.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"2bc84ee81b37b9bc283c6953fe0a823bc7ea8f1c","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.12.0.tgz","fileCount":109,"integrity":"sha512-CucLsiSvb0aq6hMrLC5xZTmcvYI3Zbw/ns5nnBg6I9SMY86/8BgzXcvKQii2As0SqeTURQM4pZ0AWmd/riFLyQ==","signatures":[{"sig":"MEUCIQCRJiHctZu852r2QZsIlx4QCK2U6ZP9+ylpwOTW4CEAngIgOrx1yRT06jI9kyIbbmDCVaKFIW0pAlNSunW+u41eQbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498348},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e2bf20fa564aa2442e2b24795ad2948222e940e3","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.12.0_1775652091427_0.4941582357060246","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@osovv/vv-opencode","version":"0.13.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.13.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"6f04e408c3b76d174f74d8c5e1292ce203ae569d","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.13.0.tgz","fileCount":109,"integrity":"sha512-45JYiT+8hG6tpcwOq/6yJb+cay4P2TZqKWPvY6x8Q+cpF1o+C+6bTE128N/etDLOmtTizWfgVL7Fadq+o5C5mA==","signatures":[{"sig":"MEYCIQD72bBChkRD4OHxrPl72014hPrC7M+fL83Um6mnjxycjgIhAJYel/2Dw63PxFyShdAUu2ll4lqoKa8lmukE3EN8e7Zn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495103},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"c813a3c46d16030aedcbea6bb87a57bdd6489926","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.13.0_1775653919784_0.326351708115739","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@osovv/vv-opencode","version":"0.14.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.14.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"26cacbba25455c7d60b100fddc1d3425a37890a4","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.14.0.tgz","fileCount":113,"integrity":"sha512-CvYxc29LQ4oBqsu4FqDrTlBpyX2NQ+Thk+edI6spw4MhieebF49NQD3rfpKUUYodDYFv9nUUNLEInZtpct34iA==","signatures":[{"sig":"MEQCICETO60hiQlLSATyKCO+ndHv1wdpDRq/u4ioaRniBOI/AiBcGIUJCe2NQEUNYfjbmab/tI6sAe3J0SXJEkRyqWjYbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484268},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"6053be410e5d4c0761d46900859abaf1df0ffaae","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.14.0_1775672238427_0.3463654895968711","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@osovv/vv-opencode","version":"0.16.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.16.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"4509ada9486f2f68505e85d3a04ba9fb02d2088c","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.16.0.tgz","fileCount":113,"integrity":"sha512-iBkRDmLTGdCotvnV1ZSH59ZGH7i+hA+YuOQXbwOWu5OIdk6IALU2WM5CbXvxWf2dAjKcq3+HsZLf5un1ukY+kA==","signatures":[{"sig":"MEUCIAPIzZlXobFTSTEcNVUc63BoNDY3NoIlRyJGEYh9VjXZAiEAuav89gH+5FydwVNrmi9YeHu3ctrACmEldjf6UDrZ6Ac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497097},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"bed728a763e88badd903be4047a4a85a6cfd6f2c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.16.0_1775720695028_0.9938540453809761","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@osovv/vv-opencode","version":"0.17.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.17.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"cbd1ed866ccf6877b1106bff47d9ab39b2651090","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.17.0.tgz","fileCount":120,"integrity":"sha512-CxCTfc5r7Kac7Csi0oj50lGwE3F9g8pYl6nEQe3JOx3FmXv5CmJl19+XBT2bwXlsqzIebVpsOURwbmAMJizSoA==","signatures":[{"sig":"MEYCIQDlLjggHfxVDBTQZdAcJR/oqYRozmO//mOpbfH4z4Pi0QIhAIH1LGrkbm92np/3MMY2HBcQM1xX/pV8++ccvtQGJcN0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552480},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"fe141316c9947bac14a2055e2f60c444edb3d743","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.17.0_1775738530786_0.12134396428874927","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"@osovv/vv-opencode","version":"0.17.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.17.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"a43be882485ec7dcdce76eccfb247437e05c806b","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.17.1.tgz","fileCount":120,"integrity":"sha512-eAu6MD8w1Rokm4Vkr8nCCYjy3sP72mWP07vQnvbqzhOPMzIfDKQ3FakA/BQLW9rmD1/q1EuY/RK83OZQBbyjZg==","signatures":[{"sig":"MEQCIAjKj22daVtFhLNLrkQZy4fibVLN0bIx5wtIM8nJp815AiBrSFOAR5IvB9XaNQZ0lCRKPBhxofDKFWv1gTliEpwF+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552642},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f6f45cbb96008e5065abdc9411723d72af73f990","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.17.1_1776067817945_0.38004116261988674","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"@osovv/vv-opencode","version":"0.17.2","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.17.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"11de77b056ea33edfe1382c3cb6fd25336df7e16","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.17.2.tgz","fileCount":120,"integrity":"sha512-k7aniTxnPann/lEeNWYz8T4aGFcr5p5cWxN6XcGP0PpUx8+xVxXgHPnApDGiQFb3kli6HoUa/E4FcU/3aS3dIw==","signatures":[{"sig":"MEQCIDcI46K0Yaa+iebSJ1owpZo9OawV0Vis5biuCQ4WtZKHAiBVxmVWKS38EZsCwPEYXogdCRkOfCspzL78VXgHB9lQgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552633},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"a21ec96b35de8fc98d5710d0e14d34c53169adb3","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.17.2_1776068809406_0.6801721586526857","host":"s3://npm-registry-packages-npm-production"}},"0.17.3":{"name":"@osovv/vv-opencode","version":"0.17.3","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.17.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"1380d9cf8d402bcb1f01e2fa8d32977d2a9542d4","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.17.3.tgz","fileCount":120,"integrity":"sha512-yUlDEq9rzPygZHYhOR7aBM5JCWqymvKtCRdwocPBrw3gqaaYCXDyeaqSBp2VBbqE+ycdIoZXKLuffXRmbWNxeA==","signatures":[{"sig":"MEUCIFcjOY1Wm3lQNXbXt916mkn6F2QdFqdi3S1niEnQvjipAiEApR/S8Q8JR/lvYTCAA013kUgNOSFYR36W0ZKJN7fxRqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553741},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"fe83c1cbc5c168905993967a69f101e28da03818","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.17.3_1776082838502_0.868961360254916","host":"s3://npm-registry-packages-npm-production"}},"0.17.4":{"name":"@osovv/vv-opencode","version":"0.17.4","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.17.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"7f102ecaf789b930a48f405b46ee2ef2c3b75f2f","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.17.4.tgz","fileCount":120,"integrity":"sha512-fKynrQdV3CgpHNB9vXLvCi5u6APyec22Z+0ylVaQAqHBsq4JPueCOzmoUpVIQKw5qo+TPLuQ+zFBphnBGFC+pg==","signatures":[{"sig":"MEYCIQC/Dy76On6KgYqVVrrfPoaJf8Cr3bgz9+GjGR9MqA/RHgIhAJflUOhNYH6FaPolK9yGESsgbIuytAlV3z7jbqK1lfS5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553741},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"1f4df4fb8f69108f45eb3ef4e7a592a59c026adb","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.17.4_1776091793629_0.5988039385193142","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@osovv/vv-opencode","version":"0.18.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.18.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"7254bc689b42ceadb64c593cee2ed19ddbb83b00","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.18.0.tgz","fileCount":120,"integrity":"sha512-X+TI93p0bdR8v/RNvYFlux7Nt/GyBKAl02txK0Q8rHAynVP9lvpeOIeF61W/B7dCzewY5SfEhZlkXxf2hCirQA==","signatures":[{"sig":"MEYCIQCIUmV4FIuigURiQc0h+VEcyRF6ZfycZGfCnyXcU9U+cwIhAKWgNDD4Vtq0ui1s6J6ZzZo6DMLMF4izopnxc133amhu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":554011},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f2aec5547cd699124134fd346ef4bdb5a77d7919","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.18.0_1776095943545_0.9408957017074631","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@osovv/vv-opencode","version":"0.19.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.19.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c79f8d7e9a2cb2aea836bfe3fc70e56aa0872776","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.19.0.tgz","fileCount":130,"integrity":"sha512-pkFZ9KVhzjgpKIa039ngHpGIA3Jo2q/VJWG1wR4V2FbgU4qMViunDw9onnRj158OZhQiUOfLgE/tA9wiJVEKjw==","signatures":[{"sig":"MEQCIFxQmQZD751cOoMjwEIrYtqcL7oEfLSv7CNIYaPbsdcRAiAFR+VpXHy7Eb/MtUyXFq9J4XbePbmr0to/fzXRfss8nQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":629735},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"32e7a8b7126237d6a8aef2c139d5bd3e9505e4ae","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.19.0_1776336472825_0.9565771951034963","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@osovv/vv-opencode","version":"0.21.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.21.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e32dec2253f7626182f9d56caf753e3df25beaaa","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.21.0.tgz","fileCount":130,"integrity":"sha512-i3hEsyydGk7UQHh4O2U6qlxtYDNW6AAfbgrslVMnvaj2uPpzKuRG98UKXSyyHwiizXtFXndd71ad4SvM4ums1Q==","signatures":[{"sig":"MEUCIQCwUPUoYrZe3ZonUFho58qGIeSImj8G0RWFgzRbbTI0EgIgZYME8+qAfv3vc5zKlL7b7QNPUOY4ihwnUARbgkNLQAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":637609},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"37e6ac11031c8b65c428aaa95ae8e0042e8b9ddf","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.21.0_1776633154313_0.4794164380220598","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@osovv/vv-opencode","version":"0.24.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.24.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"787093572fe54509b3670c90e7d5075969adcb17","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.24.0.tgz","fileCount":182,"integrity":"sha512-gMYuJIc2VYLCv5xjbE6VTsIMpuTbxKkm4/RbafElkEaPrBPDVhoJEborf1fMHF+gvuzpmmn50Wh6lk51JckOmA==","signatures":[{"sig":"MEUCIG4xrJ5og5VlsuD1sQJTtsd6kzMCEsCA9l/LrPCeNGEcAiEA4hj3BpJIQCDR82EFhvhO/gicYymqXizNwsyy8r1HB8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":845465},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"7ed12ea9bbd834465eadbcc1a71977a474519f8e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.24.0_1776783558303_0.6903193493741795","host":"s3://npm-registry-packages-npm-production"}},"0.24.1":{"name":"@osovv/vv-opencode","version":"0.24.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.24.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"f1b07ac28e4e0404f29eee7b9c379036e3d5fefc","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.24.1.tgz","fileCount":182,"integrity":"sha512-z7LKuy/qnA4U/NcfkIfWtaFlJ3y2xc/akX/R+77yHjuXLDvFR2IfaA8riRuw/A6rVjXF2pn3NtvV5hfKLQAzpQ==","signatures":[{"sig":"MEYCIQDzIyYWnHuIT5pFvCT6qzNqHquCDFDjCfXjRK1EcvqXngIhALhQpD02YHbrBC2oQ4fmmhikrb28dpLczrnL4P7TbIZb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":845641},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"60d1ff465458f2181752ce97e68b1668169e70e4","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.24.1_1776784951201_0.6665929532664174","host":"s3://npm-registry-packages-npm-production"}},"0.24.2":{"name":"@osovv/vv-opencode","version":"0.24.2","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.24.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c4427a728f70b13a7efad74323e992952fd6f85d","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.24.2.tgz","fileCount":182,"integrity":"sha512-N1owTloDcrET6/cDTg8BZstylzZfOZ5cc1kkp+FhQNAH8xZkIj605h5BCWVERVwlzYjZN7LZF960BGfNVGqDHg==","signatures":[{"sig":"MEYCIQCIkJ46efrpQSLmfFK2yqjdL9rDgscbisb7CBO60pIrNwIhALTrG9SD3/AS3uLyi64rGDVNcx7Y60SDqc5cU8hHXPN7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":846238},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e5691ac7b3e17706b07b3ff3033b528362a6770e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.24.2_1776850137506_0.659042464481846","host":"s3://npm-registry-packages-npm-production"}},"0.24.3":{"name":"@osovv/vv-opencode","version":"0.24.3","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.24.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"f6b9843b7626b17147192607bf856ca43d3b1f5b","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.24.3.tgz","fileCount":182,"integrity":"sha512-VMP8BtnkQr3eDimU3tpnaS4tCRRNL7kJfH89p82XnKcMRC8E40zw6cs0YSid6VXJfH/qFeeRLapN/eLxxEQw8g==","signatures":[{"sig":"MEUCIFeCvyuvdOELwLyFik3jAp9hlPC4H5EeL8+CWvx+MHLsAiEA9Mw4HMDOlXI7bcUJt4EwF4NyxWtflF/1wuwZO4ZpPno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":846251},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"7dab393eb30c134e476ab559fe4cede2644dec00","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.24.3_1776852105647_0.636699310926635","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@osovv/vv-opencode","version":"0.25.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"eb6f1a8ec3df6c6afa0ab453f07598f633bc9fba","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.0.tgz","fileCount":182,"integrity":"sha512-eYV3rvlH1ED4+tH9W9BiO1uuXDEnOeHLsQAlxM5x77pu0fq5Q0HRXxzhhP9dnqC90/Axl3vm2Fevsc2wvzD9tA==","signatures":[{"sig":"MEUCIA9EyX7WNvWej6q1oU1lgDwg7xXyrYf1AdHtsNKhTzeWAiEAv4lgROkiIN7BHELfBn2wRJnFFQ/t0zWdcRgXm0h5t6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":848526},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"19dc3bb388b6eaeba3bcb5bde96eb5045b53b152","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.0_1776862701392_0.5970171755831324","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"@osovv/vv-opencode","version":"0.25.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5c5cc2c1ffe4ee2eaa01299de8355819c46bd9bc","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.1.tgz","fileCount":182,"integrity":"sha512-Yz2n90HHZ06nORqX3KZu9iFEsIhcEuam5H7OFOqkAQJTaqfntO96bc33qgpZHmg+1vSO6gB++u7Oqy8sw9Absw==","signatures":[{"sig":"MEUCIB4qXnf1ryaYzQpyMgTo/WUEE5Odq7/Eu747p+H9WqLTAiEA7uBmvir/JB3V4qwIQcrsHinZ7ooUf2TNGmIUJ2HhemA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":848785},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"367ac8c39050e25b8d997149cc2675fe2fea3c87","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.1_1776953449894_0.3418661857892693","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"@osovv/vv-opencode","version":"0.25.2","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"412211ee95467397c04c301a03ab801df7788994","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.2.tgz","fileCount":182,"integrity":"sha512-xYtcG0sd/lkmC48Ou436/mI4MfHkdL93wdDcg1wOg1v4WUwXut9F7nMRLpvxuR3J/xLbfo3h2+gPmvAKQdVbAA==","signatures":[{"sig":"MEQCICvACvQ8EttIIwujpY4mtfpkCT+w7v7k2QYCbaTv/mxmAiAJqWfo3M+O1sbZAGaVwxognL1kaAxj9Hjsc1ZZPqS23A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":836956},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"3460f80e98f2a1f2bd61fa6887db8f70f0655d7b","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.2_1776957423180_0.14780031011360584","host":"s3://npm-registry-packages-npm-production"}},"0.25.3":{"name":"@osovv/vv-opencode","version":"0.25.3","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"8afe0e57ef937df69bc815e1a56961f8e02f5410","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.3.tgz","fileCount":182,"integrity":"sha512-+DpSkH3pzCfAacC5noVa2kLvh8OUHrI04YcNJFTtG8W8OE2RYbj62x4Oc3KZz4IjgHz6NGF+ROM6y3+5/0ulWQ==","signatures":[{"sig":"MEYCIQCYR1RSK9Hg3XRn0FprGbtboeodZwuKNhz87Vq990DmOgIhAJZDma8Y3luSzk02WVGsPWbVJuRrRKtyS/omqDpRsbyy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":837540},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"25edcee9484064810a3ab2e47e875b763f7f38e7","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.3_1777016274002_0.20749936797814428","host":"s3://npm-registry-packages-npm-production"}},"0.25.4":{"name":"@osovv/vv-opencode","version":"0.25.4","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"8f486b9d0308479cbebf869be505661d5d258e03","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.4.tgz","fileCount":182,"integrity":"sha512-4KrrtrD1OwQ0DRLrknXzI3/n3fSHHksuEgV8x1lL2ZlJQNmHhSZcoAlrV1gAaL8/lE8YE8UHv6VZEc0VY0odUQ==","signatures":[{"sig":"MEUCIFX3HCP/JPJAowZ0rNUsqCPQgJDkfdg9YQael/ULqvf9AiEAi2cVn7cxsL4bs6lUuQi+g+L9sLpknyIY0GPRDWefVVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":837540},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"76955b467426e467c9081b1c5098f472a932b89c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.4_1777017541980_0.5498418181467288","host":"s3://npm-registry-packages-npm-production"}},"0.25.5":{"name":"@osovv/vv-opencode","version":"0.25.5","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5ee86a78001a21df84bad4db03600d61b8153705","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.5.tgz","fileCount":182,"integrity":"sha512-gVoXnNOlCrmifnrMTLYQa6P+zJ+t7DzF9xooI2Osz+3riQJQtF7Vp4isCWiuYpeZVUjfflhhXjHPJyZYnpg+7g==","signatures":[{"sig":"MEUCIFEJvJyhMcxBoSs4FJYgWWRseWiz6SOAVbAo/J4+fxTWAiEA3qdkGNEQ6T9U7RJpBPjFHXXTShf7t8Ra6gDjvf03hgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":861097},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"734d685979d5e079722f5b85e3536a3fd142bc58","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.5_1777027465173_0.8258426103704903","host":"s3://npm-registry-packages-npm-production"}},"0.25.6":{"name":"@osovv/vv-opencode","version":"0.25.6","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.6","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"1b1429cc5e383e3a4d9eb26a446df03adb314201","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.6.tgz","fileCount":182,"integrity":"sha512-YWFGFMpQaylP0CNzAfa7H0rbWe64h7d6beGN99iHzzF796W/MjXCCGjqZ9KjA558Em+i+axeRNr7sUOCZIiQQw==","signatures":[{"sig":"MEQCIAeLF7sNPFylJFcDfolgeAgMQqC1SD+SEZ9bNAbzNOb/AiB5L7nAUbdENGm4mtoh5aTnoVaZ6ltNgpn5vFkYTxaPVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":861104},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"ea62b1a8c7a0c43dd3b4ec14bbf3d5d6e40f0797","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.6_1777363741290_0.7233557280851148","host":"s3://npm-registry-packages-npm-production"}},"0.25.7":{"name":"@osovv/vv-opencode","version":"0.25.7","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.25.7","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"df4772d4541ea1f85aa9e1d2c8e1fd188e8ee9e8","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.25.7.tgz","fileCount":182,"integrity":"sha512-AQmpn5Tw1rpDy3s+Pj6A/MavIFRAtwAnrd9Gqtfxc8O1xdDEHst94Px9CzqtWxD58+w+37Qs6whzJbIshovBsg==","signatures":[{"sig":"MEUCIG1WEop5b3CaKTDtakQC8AV5uitojcC5MuVyn3nVJEjrAiEApgoyElpPzZ1cFwLbCOcKWq4+tYt+OGbQoArGuRFc2xU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":861104},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"1d4697cc0648ef57ca6fa7e3ab00b22e95adce08","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.25.7_1777364457147_0.0002528015994991417","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@osovv/vv-opencode","version":"0.26.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.26.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"7c0704da1783462a72ffc82b04bbb4311a5e3d1e","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.26.0.tgz","fileCount":185,"integrity":"sha512-7cIIa7Be2NTdDTVYfbxlrU4aMHgnzStRpXtDYAEEBZ636cDe5p8kS1rMI5xsxZVZ2gKzt11F7C82LFLOygVa3Q==","signatures":[{"sig":"MEUCIFH6rwBbcS0OXQcp0vKu9xc9wasT6NcuwDqAXDVWq6EwAiEA6j4PXFhlYD6hciQvsg3gAzH2BdwpXvgL6ywThalC8/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":886522},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d27c94206e0545a2cf1bf6408b1a349439c2f80e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.26.0_1777368909999_0.5474272650290093","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@osovv/vv-opencode","version":"0.27.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.27.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"d6aca7bab1da32255256a2d5bbe480c79a409462","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.27.0.tgz","fileCount":185,"integrity":"sha512-QIdvobwAleuQaQ7tgyJe3feBX4oY+Wt7fQG2Pm/7L9oQwNgwkZtChoctYFMozV8nebtd8jhrdPiMQO4zb9vdEw==","signatures":[{"sig":"MEQCIGwL68ReRPUtPhyBlawugKde82ZrF5Vn1TKfmesSE0atAiA8SM63MWQlZ+QpFKHUhwrAoP0ecV8j+x2FeYhSlUaLhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":893451},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"a7ed15a1ec9c67bb7f46d1d7316278cf63c5a244","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.27.0_1777381717879_0.5363940549233639","host":"s3://npm-registry-packages-npm-production"}},"0.27.1":{"name":"@osovv/vv-opencode","version":"0.27.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.27.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c29b7cc34b1cea92898ce33ea73ec783ee7ef0ec","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.27.1.tgz","fileCount":185,"integrity":"sha512-1ex00J2288ZfKd7zSC/Tx8Cow8qHxiBFt37tmlkxmf2fwGbFXenOgdORlbTKKI8Gfmi0DDqXv5Ux8WhFnth1hg==","signatures":[{"sig":"MEYCIQCVSk7WU0hJkrvAEg5W+r/pLztiQt2beLh2k0WakwGEoAIhALjUQlfZIODTPqa6pW1jjfGX3eF44k81eYeBcsapY2Nh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":893627},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e21c024fa68776bcced9f481ef8b21829f9cf900","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.27.1_1777384987098_0.23128386174805748","host":"s3://npm-registry-packages-npm-production"}},"0.27.2":{"name":"@osovv/vv-opencode","version":"0.27.2","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.27.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"87bdc2a05b633916a742baeca7c25b105bc4dffe","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.27.2.tgz","fileCount":185,"integrity":"sha512-qj9iZOiHPgDdj5zujdNlt8ogqhCBJp4CwAOC9Q4vKKW/FBa2H96SdoqMnQ50unHgc8PZRkZqYd0Tuj+a9tkDvQ==","signatures":[{"sig":"MEUCIBS+y3tR2bvgN0n2Q1ePDxEq5lDt40t7rKhs4aXtq5LcAiEAj29RtlLN4o0SfjKjIEjlBWSYx1OV38h9iFYZAyyJLUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":893816},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b663163cd3c3170c0d30adf32f0ad3ab1fbb86e5","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.27.2_1777463069383_0.31175647917408655","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@osovv/vv-opencode","version":"0.28.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.28.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"6891d7fcce204f5e9367aba68db99449b86ea9c6","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.28.0.tgz","fileCount":185,"integrity":"sha512-hSVtFutCGvN7M/+v6Oz24807H4b1YG7/qRi5aHvo8pjn8EfXCKpHZVzDnKkvrluMjF1nxWDdGWPyo2OW70T2Lg==","signatures":[{"sig":"MEQCICZg0UCNhiB5m6FSduU/RSqT0qdbS52mEH70ex5lVd/EAiBdMt5yxDVFlwcLScVXCGTfn9twc+0/hIV1bIbtVqwyAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":897633},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"78b8224997f6895e127d778ddcb49aa97707fa6b","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.28.0_1777565990775_0.9248299094322916","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@osovv/vv-opencode","version":"0.29.0","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.29.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"39f12e1ee8b3c41cbf208a069ef7e007913f369c","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.29.0.tgz","fileCount":185,"integrity":"sha512-vaeeNtzTsx/cc0RewvKWtW1z62dbTewQbS3Rg1tgF1rhFQYuVpPSf3WSFZqLoGjnjksmeNkwCKxBjAhXGYY7oA==","signatures":[{"sig":"MEUCIE7ItxJIfd1aSD05MQjuA5+lxI8+7a/lWZfdN/S+gHV0AiEA2arqqH36crmyTTS3oNDEVZ8+AN968cYcLeb5nLO1R5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":898646},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"17abb04e32960800f5c1b1eeea3db082c70d1a28","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.29.0_1777613506812_0.957849907877186","host":"s3://npm-registry-packages-npm-production"}},"0.29.1":{"name":"@osovv/vv-opencode","version":"0.29.1","keywords":["opencode","plugins","workflow","guardian","memory","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.29.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c953ccfb85cb028c0c76521c28e44b493ee2b0e4","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.29.1.tgz","fileCount":191,"integrity":"sha512-nBu6J67jcUDCd18J3VSc/tsbcVSpk/lpTOEqshxIAk0BpjolwBymrlj7wHBZQL+aJ1ipcpu+8LRbiC+8Dowe0g==","signatures":[{"sig":"MEUCIQCZ25FNHLQSLgsJIm0AfX8GnGf9YhhAGicc9kCprcQoxwIgcxQH3SPwYPY76Xvd9JCQmsNFLum5q9nDDpX/GUybyRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":910471},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/memory":{"types":"./dist/plugins/memory/index.d.ts","import":"./dist/plugins/memory/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"87bdf241feba07fbdbcf731df5189d15993fbdf9","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('MemoryPlugin' in root)) throw new Error('dist root export missing MemoryPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/memory/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.29.1_1777618880072_0.9614662925035604","host":"s3://npm-registry-packages-npm-production"}},"0.30.1":{"name":"@osovv/vv-opencode","version":"0.30.1","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.30.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"a355683d26407e01e399952ab0de3f47bb74ee39","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.30.1.tgz","fileCount":181,"integrity":"sha512-uPlDV17oA+YFGFF349UQLyB9oIoDWrSftCLvHNScm5H6QcjyHfZxEUWv3u1MuK1lOPCl6kv5Xw+1nt5zIlV7ng==","signatures":[{"sig":"MEYCIQCe354tTOI0P/oajXDoZgGOpHo24btLHvcbMyGoYYH4dgIhAKkd0K6CX8cHG/4ljk/RHUVk+31+kv3SADqOkt2bBPzC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":824011},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"7e24c62f0e65e2a3e74aa7ecdfde5286e3678e9a","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.30.1_1777709035605_0.029983865366126183","host":"s3://npm-registry-packages-npm-production"}},"0.30.2":{"name":"@osovv/vv-opencode","version":"0.30.2","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.30.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"ac629b6020aff5c4a93e94a184aa02e2958fced6","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.30.2.tgz","fileCount":181,"integrity":"sha512-XbhU1bf9iZ0nY+SBJPYfePI2y8CfP+gAMSRtqffNQC+9mlZfXYQY5np4WoUmnDUimKqi00Udh/r6AsVJYcbfmw==","signatures":[{"sig":"MEUCIDD7usB7c3L6Hr4Bmp9oFQwevOAeit2t/K5S5OVIaFR/AiEAjAG0hgeefQc+fH1fwBY/0/kjN+ZA3Q+7KyPJIRUbHFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":824529},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"838521f18f5029d985745e891b3ff49b60bd24e7","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.30.2_1778097818380_0.3430565292331431","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@osovv/vv-opencode","version":"0.31.0","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.31.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"793c2f3a5661a6f6f5d69ed0f4ad08e16a58545a","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.31.0.tgz","fileCount":187,"integrity":"sha512-YrKvdLzTwtXonzf5mMgosvYOlEnnNBiJBGYUwn4rXWLlcRZTous2g+e32VvREGLrfh+9I4Y+zAQB95gw3IApgA==","signatures":[{"sig":"MEUCIQD1tWgkVzvwWAdtcCnaO1xBdZyykjZeG/AxOKzKl56cpgIgITCZW8de0zh9Gd9xrhpbyhss8xxkVW18DKubxXhHLac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":845851},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"496a0ad747003b88f86c59953b597254990f5788","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.31.0_1778141441953_0.9913869529146182","host":"s3://npm-registry-packages-npm-production"}},"0.31.1":{"name":"@osovv/vv-opencode","version":"0.31.1","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.31.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"a9a208c54b9617fad84024b01ee2f151734819be","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.31.1.tgz","fileCount":187,"integrity":"sha512-xpzALJxmeQOHGUGDarUVNxM2ceV5ZG9F8MtLNVnU7GwlRZvibBZS5IgRT0oTpcnHRCViv1KNOmHs4S8nZiYUOA==","signatures":[{"sig":"MEMCHx7wY4apWpiDeKP5L924I+WU0GknxO8IN01CMKCM0poCIHcIHKgsKGn2ZhO9kFhu4ieP2WIod5fiNZx7H6nv7bA2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":847753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b0c23a2b9e6e6a40cc15f219141bfbd8e29dde6a","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.31.1_1778149300162_0.694812394308284","host":"s3://npm-registry-packages-npm-production"}},"0.31.2":{"name":"@osovv/vv-opencode","version":"0.31.2","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.31.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"bafde2e41db71381b390cce8c556d12efeba959e","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.31.2.tgz","fileCount":190,"integrity":"sha512-cUDc1BE4NzWsrgaB0MDW5mCaRkF9ipgg/DT0BTR0xVCG5MHOpvnXut/OZgIaQrANlP2zCvr5ZYlG8kOxiPavzA==","signatures":[{"sig":"MEUCIGtPBBYy4HK1wCbQYUFzuJir9EHUsr/cc7bdQnXDTmnvAiEAuMmfjKxiE2Ldyy7YLOt0mMcIMhBLMwPusNxCPnp65nU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":861357},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b64f6c12004ba760b4f9734603cebf716d01b78f","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.31.2_1778654016522_0.5447029254891256","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@osovv/vv-opencode","version":"0.32.0","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.32.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"918d736b7bb9245d9cd273106c4cf6b512343f9a","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.32.0.tgz","fileCount":190,"integrity":"sha512-4C1zH/Vu7z5FP1m3m/4qJDV52z/THy22rUxZaJWZSSPnv83QUOD1oNPerFM56lj8f0+J7qiNcxduLEKIOgwUqA==","signatures":[{"sig":"MEQCIFeZDZ5V7ma4Uq0z0Yl58RS/za1dA7h57ONKlaShPGKMAiA3xJSjnJPk6uh6VSSfUm38cXnCrGC7JQBflB2gYJQX3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":867449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"670d1db1906da81be5bd73f7dc9ce08a3c39a2d5","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.32.0_1778656032919_0.28834954998207896","host":"s3://npm-registry-packages-npm-production"}},"0.32.1":{"name":"@osovv/vv-opencode","version":"0.32.1","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.32.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"f10215d5e2650fe1b80b8fee73a4ae9534393667","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.32.1.tgz","fileCount":190,"integrity":"sha512-ZeKm4+zFLuQ93xKdEhEUpPZ4qgM9zyge0D5PPjiE8Nuy4v54g8OdsvZYaiTlrtYm4xjpCz4rSXZv4ClpxqPspA==","signatures":[{"sig":"MEYCIQCSeOKJt6XVqWOkFJqOOq+5SyHsA6nGeq465q58mwGJ6wIhAKIGmjqXVGT0jYL1c1I7x9cQAWfgPJ5zzF1F08sW/nwn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866685},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"386b50e49bb1bcb4c07098910788c78fdf4d496b","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.32.1_1778663751478_0.9729852676997188","host":"s3://npm-registry-packages-npm-production"}},"0.32.2":{"name":"@osovv/vv-opencode","version":"0.32.2","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.32.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"7115adb16487171234fed62bc07519b037ec3ec3","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.32.2.tgz","fileCount":190,"integrity":"sha512-Id2Ot+7BSeNO800UfJEcC+SlDsuoD+FFE3Xh565uJfR+yaSTvJkq09+lLCxPGYSPsk3xU7XMiW2jyilf8tlf7w==","signatures":[{"sig":"MEQCIH+7tk5ZbaxCYdl8r6E/z/C7ltXTvCcQD4NZMclAv5fRAiBZdf32Fjhmpg4/95acc3sc/0yMMhhQEvgYl2GimsBbwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866620},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b91b7d9bd803b8288369a3c1a1b7e0677206ccf2","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.32.2_1778666055923_0.6271135123470077","host":"s3://npm-registry-packages-npm-production"}},"0.32.3":{"name":"@osovv/vv-opencode","version":"0.32.3","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.32.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"d2bb1e1f639e10fd83ca9f365f3c12d67f3bd552","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.32.3.tgz","fileCount":190,"integrity":"sha512-OMDvTk8AqOj31BSw6aSRvneE3lQGuGKHHGmtu8c18yhLAD9kv2i7jpD+ZtM3hq1kGmNTlSc24cv0ViwT/Uflow==","signatures":[{"sig":"MEUCIQDGbTMXivy3TdvswRQlrtkGaOHWHt9poxpOJrLc97M35wIgO8LdIFmB/4uM8NTlbAP1+B4JWWhQdKokcG9568NO+zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866781},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e38c2dadfe3df8483d963f0cb387d73c220de23a","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.32.3_1778677927157_0.3141916531535096","host":"s3://npm-registry-packages-npm-production"}},"0.33.1":{"name":"@osovv/vv-opencode","version":"0.33.1","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.33.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"cb61e81cf461360ad7fafa8c01301ebe2b653ed1","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.33.1.tgz","fileCount":190,"integrity":"sha512-RMndbBhpaoX/MhZAHNT9QWOrfK+TN3EvkXbLDqMV+C9Ds0t0sBrfSOYP+cBT3/1jiKLVPjJgmr7dbU7A62xHww==","signatures":[{"sig":"MEUCIQDmDmxow2OU+rxsgewdqAKsEsRg5bdOmt6ulSLbzyKUQwIgZ8yuLWnt5OhTwsXNQZksH6HF8q5mlwKifCyIpN9l9GE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":873757},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"03f2d852349da6219d782fc6d5325f3038c2ee7a","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.33.1_1778741026088_0.9591254151989568","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@osovv/vv-opencode","version":"0.34.0","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.34.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"196dcbbf9582a948210be2bdb8554535e9c99317","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.34.0.tgz","fileCount":198,"integrity":"sha512-H9ehtMIRj2uts9+3dLnuIe8/RV1xel+bkm+v5t+FXEJg/j2ZH5qyXcgaa2WmjRxnybSwD9Vbosnox+Vpo+Pd9w==","signatures":[{"sig":"MEYCIQCQf3CIQS9yT2QoQjtxBq8v5Y5tEo78YlQIGLULMTjmmQIhAO6AZsk43SD/Bxm0kZmCN5UN0gzqxLI0bM5e5xmNnlT+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":908539},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d34128de735e4e6ab7e6b28691dea7828b1b26d4","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.34.0_1779193659772_0.8511792414091801","host":"s3://npm-registry-packages-npm-production"}},"0.34.1":{"name":"@osovv/vv-opencode","version":"0.34.1","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.34.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"d65875303e5b592992f142aa3dfc917ea054eb92","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.34.1.tgz","fileCount":198,"integrity":"sha512-gfA6ZzIqVtkmNx2OhUqBIQwZOaxJL58iipkKbROsn+saQfRqpB4reehIBUHyLhEo4P6wOPIdDAm00MdrhdLA/g==","signatures":[{"sig":"MEUCIQCsEIIFC9mI4Is09p/U+o293hR+bcn26dbNKGPvuoZW5wIgGh4BBNJMWTyyozJ7nFO6eJzu/tDylSnqcBG5JxzjgbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":915489},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"1619bd537e9e46a23e548387af3909a9785894cf","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.34.1_1779195384395_0.8492514065833905","host":"s3://npm-registry-packages-npm-production"}},"0.34.3":{"name":"@osovv/vv-opencode","version":"0.34.3","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.34.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"bf765c7cfe49c3b2e625327535da9457f790e6a1","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.34.3.tgz","fileCount":198,"integrity":"sha512-YbJhPi5RLalCfdpDz1vwmw48fpDSEsZedZljdQgw+lwhyWv4i1QbC5ZwctNz9tPsNexxFhqs0/cRg8tqQaTOog==","signatures":[{"sig":"MEUCIQDWXVwjQrhdCsdujm7MqTU/5NvKDiKnQdCnvC3PWXygaAIgORHiYsVk2J2d4MKbkiGc/pCV50+QqAY7uT/A0Ct72GY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":914791},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"06e4ae3666ce536b1f4102f2f81554b4303f0551","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.34.3_1779198822764_0.6561422823033656","host":"s3://npm-registry-packages-npm-production"}},"0.34.4":{"name":"@osovv/vv-opencode","version":"0.34.4","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.34.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"da1cc85302ea2f8ec38cb2b6cb5079b2cdf56a1c","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.34.4.tgz","fileCount":198,"integrity":"sha512-a+TLy4mxEVSh74xU0OZy0vib+pyDRQXL3rEx2aA+/Zii6X+i3yVVJFVO7zUULDNXzy1pGRY60HVEjY8iWz1cNw==","signatures":[{"sig":"MEYCIQCukHRpzTOp2VktRKN6FghR6LkVBaRO2y+oqEDWdo50IAIhANT9GEJjE1DTDVS0pT1AUc2uwZkRsUdKe1/messCBDHV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":915602},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"24ad95e36af24f77f108bc926c065d0adc95fa1e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.34.4_1779199069818_0.35275599001468905","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@osovv/vv-opencode","version":"0.35.0","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"822d3bca288212169659d9bedc993aada08309d2","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.0.tgz","fileCount":197,"integrity":"sha512-qtMwBhnXs3UhyAJUDnF1aA6cGZlawp0Ep8m/nPMRDPHIMyL1ocKtjUeA1E5vJwbZ42ypX7L+WIR2F09vify04w==","signatures":[{"sig":"MEUCIQDspXphIiWXJmJZbG4Vxd74GeXk6JiXf8L84LNv3qJtcAIgDm8zExN/xWjW2yIrZnriEVDzUZ6DlVkqVogKeGwQNwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":920368},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f36a23d15a6d7690d4d328afff854d0d7d995836","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.0_1780305364947_0.4157955450112196","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"@osovv/vv-opencode","version":"0.35.1","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"6104eb07b103a905c71640c045969bed13b33abe","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.1.tgz","fileCount":197,"integrity":"sha512-SNMB5into0QUn1WdcTEc7A76xFli66pIw+t8jXuhCdeEZzw9s0FHbp4feFX+0uE3PLSyUrHnw7AvhIbd4dadqg==","signatures":[{"sig":"MEQCIG7wyA6zT0Mpjjs56bWKbMSzvjCcV8wMMtDdQNdNGY69AiAY9fJrPg1NeA0SKlnjWAiBdaXUGoVKnWis68+vu6Vj6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":926012},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"2140c4443f25dbfbdbc44078321f25bd852eb366","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.1_1780475181322_0.7993495245315001","host":"s3://npm-registry-packages-npm-production"}},"0.35.4":{"name":"@osovv/vv-opencode","version":"0.35.4","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"aa38d3ebc03e1839a12079ab056f8f66e971f990","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.4.tgz","fileCount":197,"integrity":"sha512-NZNvSxb1EM/g2zK89/6vAZXistssa1MgWcal4Stb1XxKzgnwzaivcbgpOWKhR4QaIFqNTcUE2VlLhTrGZ88/Mg==","signatures":[{"sig":"MEQCIFpO7c5n5AWnz2s1cz0VhgR0i3lcJSv4zqMOIdaDxscVAiATNYARY+LWpwj157u6OzpnwHEtBtToWa2EnNtfBQ9dig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":928867},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"9dc640e512b555a3b2760f310fc63fdddf41bc54","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.4_1780999511519_0.35862575341542047","host":"s3://npm-registry-packages-npm-production"}},"0.35.5":{"name":"@osovv/vv-opencode","version":"0.35.5","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"9657c071fb60d2d629d723696c24162f91fd499e","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.5.tgz","fileCount":197,"integrity":"sha512-BPB+K9/0p6jIP4/fgzkhT5fSxMrF3dWJ3zs5O7FHNgkvpsmAFfdkSGFf3MIQ22Mjlr0JTV63D11uuLdGguBt0w==","signatures":[{"sig":"MEUCIQCUoJbv4WLgDua3t07FjesT+BX9sirI8D8ibZXJYmb0NQIgHECPMd3zm/x8dYYAW9bZc3ZiYNMIKRE8nQjeOGzItAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":931826},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f4c4d8677dac3d0606c93317348e3d0a5628f9ff","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"osovv","email":"chendemerov.aleksey@gmail.com"},"_npmVersion":"10.9.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.5_1781097677226_0.3872702721727179","host":"s3://npm-registry-packages-npm-production"}},"0.35.9":{"name":"@osovv/vv-opencode","version":"0.35.9","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.9","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"f76213363a4bba22ae11d71f2954768aab411452","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.9.tgz","fileCount":198,"integrity":"sha512-CNDQbyvTUwwiTGcnWXKAI/b7WGiA6SJG2BnuSmL+b7LIkS+CVX+BewgX8znZa4GXQC85sY/QV6i+8kUdzfpKdg==","signatures":[{"sig":"MEUCIQCFZxoiMZucLl0kn/KZHDKJkd9gTEJPeKtq5L05c1GyUAIgT4ZCDwU+sktwtdoS9hU4xhHWu5bic2n3a2Z6N9ZShLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":940351},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"3c983ba98b81290cb2f96104713d73a65a2f6847","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.9_1781367750089_0.15527089514818737","host":"s3://npm-registry-packages-npm-production"}},"0.35.10":{"name":"@osovv/vv-opencode","version":"0.35.10","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.10","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"1dc966105e2297d7beaba7b5701e8ad33164ddc3","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.10.tgz","fileCount":198,"integrity":"sha512-09uLH2RT+Wfx5HmRJ9/cZIuUl+D+erUZorVdddaqs+nJXDHVgtlZmTRcQwkcbmSmzuuMVeNeFNraqmdxP88WUQ==","signatures":[{"sig":"MEUCIQDPa09/z0y7rUIeoVect6chIL46eqFIls8Ro9PPrqtWcQIgduWOxiS7lU8fUhDhLV5KpFQAcf5oeannG0dr3F326DA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":942438},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"96e720297e542139baf71501135a810185b20346","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.10_1781369073914_0.653727762208759","host":"s3://npm-registry-packages-npm-production"}},"0.35.11":{"name":"@osovv/vv-opencode","version":"0.35.11","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.11","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"3d0152af8402b12ed9abb44369a2b8ebf7d26dd6","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.11.tgz","fileCount":199,"integrity":"sha512-eGHNJqbYjUGvDYjSLe8h158DRWJ8UaGDF834/AWyeVF6hHwlVOiDDwLaTXL87JnBEepGiEVh0RsviVZR5oZy2A==","signatures":[{"sig":"MEUCIQD+fB6H48pbe0UC2rf5zAxQVtPSlWgBeoBu94j8JHKQTwIgOQHR0mjZ6P62mICJqZszyk4AsFqOAo8yUXr3ydj3niI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":949293},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"bcfff7cb37cdaf0262bdc913a484b4f79fca1bff","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.11_1781372792725_0.4349592380257541","host":"s3://npm-registry-packages-npm-production"}},"0.35.12":{"name":"@osovv/vv-opencode","version":"0.35.12","keywords":["opencode","plugins","workflow","guardian","xdg","grace","bun","citty"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.12","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"eab0230b48117e3a948178473c6f77625fe1fec8","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.12.tgz","fileCount":199,"integrity":"sha512-BS4zNSLpu8daUxrTzFD9IiKc3USMVkH/4J1odX8i7DuQoFA6DKHeRZPPn3rRHqCsTRi0h2fh4GJ4lxrMo6idSQ==","signatures":[{"sig":"MEUCIDIIhmD2kb5kRr4937F9E042PJ/+5elNNim7gPMtFzC9AiEAsW+XSRtSzSJhKb5lfnvQr546zBHtFxa1Aw76+fp1wEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":957245},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d0feca210f142fa53a66fc9afd16cf545cfeba50","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow plugins, explicit memory, and CLI tooling.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.12_1781379924245_0.2928611083956849","host":"s3://npm-registry-packages-npm-production"}},"0.35.13":{"name":"@osovv/vv-opencode","version":"0.35.13","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.13","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"4c3c480f942ade195cc84db545b103429ab6e1d1","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.13.tgz","fileCount":200,"integrity":"sha512-26Hg85iWWTTMlMGkYyJHHcqKQGcmbVuT+Gquv4xE6ocfuJ1IrCnX+55AePg8IskcHrWDntntRGOshODrkCL2TQ==","signatures":[{"sig":"MEQCIH+a68XatgV4e3G/4DIyd8INtzggLA+YZqs+KILKpePwAiAyMlRr0erFLwZJGKYifkLyxh+4XhJ71WMvYZobG/VKwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":963502},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"7467f0093bcb537bd4e8fb6b5b2c3f2366bb09d6","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.13_1781423145373_0.4289276455013795","host":"s3://npm-registry-packages-npm-production"}},"0.35.15":{"name":"@osovv/vv-opencode","version":"0.35.15","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.15","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"2ed49db757c1393ef5b61a3dc022842771160251","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.15.tgz","fileCount":200,"integrity":"sha512-w9Mbrk4mSCsp7Y0H7y3hkzlDb1SAM67v/x0Qi0kfTsp8dAh3skjY2JJNFMphR15qhMPTK4Crc2SvoY9js3ezsg==","signatures":[{"sig":"MEUCIApIU3+2xGLBn8d++U5seFv7HMhhBB2E5CweOOKUSLyKAiEAw4joDAcwKTfRr06vuG7xZvU1YYzdMopOi+SwQTlPePY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":964574},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"65acfb7b34bc9724f5bc469dcb39e47e5316de05","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.15_1781430085768_0.40798501966706646","host":"s3://npm-registry-packages-npm-production"}},"0.35.16":{"name":"@osovv/vv-opencode","version":"0.35.16","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.16","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"8812c88bcb5da4e808fb0832a11ccfa5c5e4e2a6","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.16.tgz","fileCount":200,"integrity":"sha512-iHx8DuPGpIdyHcUDhZza3fvxPlQk35wJ25ltQLb7UfU1MtyXpSBCVj9lsk8TxHRKVNAt/qXCwByYn4f5xof1Yw==","signatures":[{"sig":"MEQCICuSrlplRGt4p3JNGUJq9Rn4J/aU3ym+jaVz0Ly+v9cHAiAr3n7ohhGIJfdbe2a6KI3TpEpF3s6pPUWSOX9wdTKfyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":971148},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"6b2e7c4752ebdd1d7b381060a48a4a510353a0b4","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.16_1781447738646_0.11819773568770175","host":"s3://npm-registry-packages-npm-production"}},"0.35.17":{"name":"@osovv/vv-opencode","version":"0.35.17","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.17","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"b1ec6ebe9ebf3df756b7603f2fa708b13d3853fa","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.17.tgz","fileCount":200,"integrity":"sha512-5nCyzBdctyg4Jqk4j/5Mut39CQycSMoNSocFLW3v1JjzoloD3xiKnFpf7xoGbWB2QwPiPU/UY+tRN2/6cRACcA==","signatures":[{"sig":"MEUCIQDQnvXORV/4TBpqDoNwsJNWChW9L1DchM7bmYESbUEhhAIgUBvgEqKzF/+/7ZyS/+wfCxpciQlxZaAGTMYZ+vSKH0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":971755},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"31fd0dabc6d2fd747b43bdf4f24ed5796d258b02","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.17_1781451707281_0.5451298380055665","host":"s3://npm-registry-packages-npm-production"}},"0.35.18":{"name":"@osovv/vv-opencode","version":"0.35.18","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.18","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"bf690766d1d77bb6d5fc25ddb09ace94c3f56648","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.18.tgz","fileCount":200,"integrity":"sha512-YCiGVCZ3gKksOC5WZXOx7Jm1tmzaj26gucIf8SegNHUh9o48Qg62WNK+kb+a4rybEXRuQoHXMEkI1+RMosO8xQ==","signatures":[{"sig":"MEUCIAn0fiDT4PLtysRHUXhaGjgZcm1rzMDidbcwfODy9IlRAiEAx5VndW4EVbI5Kl45fCHUvBzWfd+DfnWomD+uGsiy3iY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":972228},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"a7fce07286fb141d27af1f09077abd2963fb1dc0","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.18_1781515881871_0.6177672722776351","host":"s3://npm-registry-packages-npm-production"}},"0.35.19":{"name":"@osovv/vv-opencode","version":"0.35.19","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.19","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"71892708d607b27a19cdc077b7f4f1078b02703b","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.19.tgz","fileCount":200,"integrity":"sha512-uUYSViHM04ltmh0qba95YRFqb2J0D65RXoqhvp1PH9xj11Iz1BFINKfgHaItWouflZQAocTy7dUyp4oQIzFHSQ==","signatures":[{"sig":"MEQCIDlYGkCLGTEwslN95pgfe1cM/tIBNi5OzLK6e6SnWoEUAiAPQtkGZWqQY629qPudTYX1Fqyqx0rNBUHz4My9S27x/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":975525},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"7435e4fc29352b25736e30d0b12bad8be52cac80","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.19_1781517624776_0.8586554260273784","host":"s3://npm-registry-packages-npm-production"}},"0.35.20":{"name":"@osovv/vv-opencode","version":"0.35.20","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.20","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"497edbad0052b7bec5e36874b61820b9b36fa1c7","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.20.tgz","fileCount":207,"integrity":"sha512-Gej1dZU/4UzEyMvUNiE7+lF1QujNKizs7rTZgMtbOwIyUcne2dq1PC5vazZZnKLyfIHSZXS2WGNOkJXyGnWroA==","signatures":[{"sig":"MEQCIGwZmeS65d8JeYagGbGqjAsvGQB33nilmHcK2BqTUhe+AiAiV4aWrJoJE59XDhXArVSbWx74dM6lzdKAdf23hyhQKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1035472},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b3b6fc0b18c916faa2a06d95258506be91e97f38","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.20_1781610482364_0.8256222292539135","host":"s3://npm-registry-packages-npm-production"}},"0.35.21":{"name":"@osovv/vv-opencode","version":"0.35.21","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.21","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e6d5fb12cb03667c85517886a780bcc4707f457d","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.21.tgz","fileCount":207,"integrity":"sha512-Y2A+B2hk+tJAUWqdTELb/TiMlR0rzbLX2UrJe5YfbNBX/Wnvdii6c+97I8Tct/lmMtnJbtS4M3rSZm4gk65WJg==","signatures":[{"sig":"MEQCIDf1O4hMLJPz+UR5dXwxrFrrkVbUgSORtr+mTZTHWBhPAiAzOMkSgeNaTRNoryen6OHGL1Q865Z1qw45KuyTXdOWCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1033891},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"10060c9849d44bf6893e2e9f75298e01153b8a67","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.21_1781622687453_0.21024311774066584","host":"s3://npm-registry-packages-npm-production"}},"0.35.22":{"name":"@osovv/vv-opencode","version":"0.35.22","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.22","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e12481310c44fc938b116e19776ad5ba9e0b9212","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.22.tgz","fileCount":207,"integrity":"sha512-UhJ1S+/co/RzGWDXGWSTUSf0feLADD/zcEvwOQzAWGAmJEfu7NKjF/lslookSf6Jiv7RmP8TbTk5Hg84SBcFOQ==","signatures":[{"sig":"MEQCIHvbstE4mZ4Nfv3zJNex7KjJOy6yqgYa1Gwg+gv0TcgEAiBzGtHzAsXpFoqv+qSGsKAnGBTANPW/19FMTSW86ZAt8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1035832},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"a3f8e3fd5f5a762166e668743bc21a38774df6a5","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.22_1781802020946_0.38521296831515617","host":"s3://npm-registry-packages-npm-production"}},"0.35.23":{"name":"@osovv/vv-opencode","version":"0.35.23","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.23","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"812b65959ec03fadb879b15a809fd6197281ca1f","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.23.tgz","fileCount":207,"integrity":"sha512-oxHqMKWJ+IauZXNplWIDlbfJaoTfVLayxTND9lVjFWifX5GxBOY6RlFq2lzQplVCE3GUHNMeFiexxuHOWnaP5g==","signatures":[{"sig":"MEYCIQDHNpid3jjbh8A1Y1sibYV5YnD1Xf+s1iJcFbkAZyaNIQIhAJaP7tnwwNLOZtRT0s3VPzqOrrmsMAnR6jTgWmgQao0m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1037459},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"9893df3431cabed4b2fd85fe7112b9c26ca9c397","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.23_1781814273485_0.554991362149323","host":"s3://npm-registry-packages-npm-production"}},"0.35.24":{"name":"@osovv/vv-opencode","version":"0.35.24","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.24","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"02c1294c97c5e47a2f2f6b09449eff2ad407e830","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.24.tgz","fileCount":207,"integrity":"sha512-3C6pQnTz79KfyRvmZm+BHquNN5w1z5XWKKBtD/+2/WfmmaeGaCUFAdbsgywFiyRKA9YIGBu8W6c7NWlW+AfuTg==","signatures":[{"sig":"MEQCIHoZPsZTe/QbZ8Ze3zp1yjGeJ3admNzCmR7TnFWn18BgAiAB9ShjEH7YJleVpIBiXzMFeMutWSSiYNfEMUO5EkokLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1070332},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"91ad85a2f8b9e74544118f4bfda58fd22904c875","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.24_1781817942272_0.8270906550657084","host":"s3://npm-registry-packages-npm-production"}},"0.35.26":{"name":"@osovv/vv-opencode","version":"0.35.26","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.26","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5dd08766f31b6e634ba0c49324285d7be2ee85e7","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.26.tgz","fileCount":207,"integrity":"sha512-yUbUfBbhI06RKG6ff79MoZiVRhJSeD38qOg/yTh/Dycu6XlvXnozWxXmwEYH4HojGg3HGA+vZiuLIvFSIROymQ==","signatures":[{"sig":"MEQCIHzkVHL3O1JqyJK2hxt6vIwmGh3dCF8lQNfNzEuIC1zdAiA65R2r75aZLpWUtBjV3RQ9ORCo0zJRmVj/eYe0h5j2LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1074244},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d09507c54d92b5c047ead42e7436527d0c098809","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.26_1781904306595_0.49860206337683","host":"s3://npm-registry-packages-npm-production"}},"0.35.27":{"name":"@osovv/vv-opencode","version":"0.35.27","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.27","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"a4e2a2176ac065cbb6a59db7cc09ed4926e728fd","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.27.tgz","fileCount":207,"integrity":"sha512-bsUoE1LLJKZ+kczKp5SpE5WuzPa4YDDoZJ4MEMtX/2YN4bWAJrJL3IrzjHCiM4Zsg/GNij9IXBRduJWelsAkWQ==","signatures":[{"sig":"MEQCIDDQx99OaSFBu6cDd6K3ElifUGJDmhxW5n6Vj/C2av60AiAI421GDpbYNh2Adjwfw/6oDRg1sw8D/+Owj7plpfe0tA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1078795},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b059943fdc2b43ac0243cd2d8d72ffb43b81b739","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.27_1781988013709_0.9550411851449101","host":"s3://npm-registry-packages-npm-production"}},"0.35.28":{"name":"@osovv/vv-opencode","version":"0.35.28","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.28","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"a98613921e6f41dd8bc6448832e3ce1f67cdf5c1","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.28.tgz","fileCount":204,"integrity":"sha512-uDvuON2p14FZmRBXGlhsgMM8s6Vg7Orp/fRb9ON1PIA1FSsldHq3BuNC5drNaOHs1EevLCwNuQnqNu9Er0Nx7g==","signatures":[{"sig":"MEUCIQD49ksXJp9sKcCt5HilzQU8d3yk2es2Qpj732amsrjOdwIgILi96bKWik0xVfnFXoK9C8pKqW0W9+M4QgoA6uviFb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1048533},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"846415112706abbcaaa3acce0e8a715fd3e33f24","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.28_1782075226864_0.8117776234427605","host":"s3://npm-registry-packages-npm-production"}},"0.35.29":{"name":"@osovv/vv-opencode","version":"0.35.29","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.29","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"99079ddf4d391487f6f5861ea45ff79e80dbebeb","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.29.tgz","fileCount":204,"integrity":"sha512-aZgOvzSdKdaaKvLMXPSlChW7yFCGRbVkixLF2nM5MbilCambLTzsAA37vB7278dOLWCJfRE1hjkOXW0eq33eMg==","signatures":[{"sig":"MEUCIFda+pQmtCWD8LSfCIM94o5HcY8YcJ9uOY+iN462BlkEAiEA/1TLpGy9vcgk9dQDxROvYgXXrv6TR/FLIPoKqCnt5ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1051301},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"03ca5d0a0ca2c664f703c27ac42c169e82ce61d4","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.29_1782111963870_0.407135587143868","host":"s3://npm-registry-packages-npm-production"}},"0.35.30":{"name":"@osovv/vv-opencode","version":"0.35.30","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.30","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e42fda54daa7d958cd65f8b229e04993355c3538","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.30.tgz","fileCount":204,"integrity":"sha512-q6V0H2TRyJ7rlOFg+mQtvEmi34mFsT3JL7GyvpbnIz+UIVj+KFYDJ9gpPf1RRYZfpOvlvBxEFbFnY9WmALM2sg==","signatures":[{"sig":"MEUCIQDzdLddTe6NRx/nBxfnMS9P8rFSStmSi4kEIzPj4jOerAIgPdj41EBS7/+jpct5DnCJg8jZPrsgfrhSKf7oL5jgd6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1053901},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"bbde3c7b480cf2b6b8cb7f6087d823efd92f0bf5","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.30_1782304428471_0.7864778657057223","host":"s3://npm-registry-packages-npm-production"}},"0.35.31":{"name":"@osovv/vv-opencode","version":"0.35.31","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.31","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"70bbe525d20502a629770507f32f02b95b9e2b26","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.31.tgz","fileCount":205,"integrity":"sha512-5+hJl9avEwNtbb3RqS7GNQm4InQKr/GKGHnP2R/NZNx2lVnuwLMTiRhRnQ76iN4pe0JDI7ErxdadjO6YIbZQGA==","signatures":[{"sig":"MEQCIA+IG4vkRHy8yd5z3nhUvfojAlkQOVwMbthxyTKNjJjOAiBiu9X/VFMUEc6+jpwxDUmE5M5cYkOiLAjuSUrIkgNSTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1060723},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"579d345f70e5883f89bba2b120d12ed32d8a655c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.31_1782392907930_0.8188511272294752","host":"s3://npm-registry-packages-npm-production"}},"0.35.32":{"name":"@osovv/vv-opencode","version":"0.35.32","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.32","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"8df1cd1028a2dc26bb5701c45d36109cede56b49","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.32.tgz","fileCount":205,"integrity":"sha512-PQnheNhdkywJNwYtKygxt3bFWMVZ0oZPh8Ha3nvLL85wJlp+b6TD6Zq6DhXZr4pMpRg/3z18R6rhrJyoGgNrxQ==","signatures":[{"sig":"MEYCIQCuyhAR3OYRvPU5Aul1YUl686JuVEqzA7MMrEIntcxXOAIhALnMSUhvmSkaWOOaNZYdfLesQllINKgPiyGO5kRsHiif","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1080347},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"835e3fc06ef5e626e03f6c750e4db0a7b3cfa474","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.32_1782471669342_0.9597481337725022","host":"s3://npm-registry-packages-npm-production"}},"0.35.33":{"name":"@osovv/vv-opencode","version":"0.35.33","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@0.35.33","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"64b0631009372b4fd8ab57b273183ab9f6b2c4a0","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-0.35.33.tgz","fileCount":205,"integrity":"sha512-vw05xLFvobo5mkK2yHklyd7UUZGKMnkA7oiJKl0j/ygcKpnxAo9yCpK0DUZsBUVb79OYtk1kwcI62ALwwH2lZQ==","signatures":[{"sig":"MEUCIGWlP2ohosBfaHvaV8AkaF7lXso3LM90V+A7gFN5yPqyAiEAiP30HnC4s235kvRVjIV5uITGzeC3IUbMNQqEDpCcMWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@0.35.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1080768},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"7834e2802820fc640c5b2e08bb31cdd9fa713691","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.13.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_0.35.33_1782475802167_0.9456514560438063","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@osovv/vv-opencode","version":"1.0.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.0.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"408db085876eb24025dad105ac549921d864164b","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.0.0.tgz","fileCount":205,"integrity":"sha512-8RUYLL4Zy7OnNxXH/20fFtvqQ19hwnOQ5/FeeAqEy8/xdDgiTEoKPNQTmKwaIbP1JYvFbg9GzI/AFtY8y83eag==","signatures":[{"sig":"MEYCIQDMdGOSzDMvRUggpraaEhDW7mS/bbgZITxNIkxNbssmbQIhAKG3GWnIldBjfZzrBykomTn0ty+3GXgNlGc8xGN8gYTw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1082585},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b19260a1c028ab482eaa9b8ec059aee027e1e167","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.0.0_1783106884096_0.12528327029372766","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@osovv/vv-opencode","version":"1.0.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.0.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"9fdc55920ddf315b67c81f0ea620a8a281fe1dd5","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.0.1.tgz","fileCount":205,"integrity":"sha512-/nFx2vS2V59euUj26FGkWFn+rOnPDtSsuV9IZZ/BodT6t/gUiva9f6ygt8LEIPJEaTihLCrFdQeuH5R2xCLEdA==","signatures":[{"sig":"MEUCIFgcvvSuPD2e9AAHUmYtGeZq6KE8q80clSMAHl/Iro/NAiEAxRW1CqC+ApwTIgxcw6kubFYWeBtYKjALmNdhuvEvDQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1087977},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"7596160f55e0d887680639f00defe46cef1d599c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.0.1_1783669186903_0.1701136198519284","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@osovv/vv-opencode","version":"1.0.2","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.0.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5dbbe3bcba7a936dfdab4ac39dbc83a6c2e938c8","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.0.2.tgz","fileCount":205,"integrity":"sha512-u8PbLFFO711oUp9zoVgaijtTDBgcQG4Gs1XhwUVpj/0NPLFRMaCxXlJfINFMbzs6Ufecf8qgo6MIg4gqxD34qw==","signatures":[{"sig":"MEUCIQCfr0KqjXMaQbckYsORnlKe+Ib30L1fu3BP0DK84daZ/wIgBzD9ood95CbtQMHisiPuLdPnEPADbYeajodl9ubRoVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1088654},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"ce2a46650848d1e8e2697a1cefe7a75f00e4e459","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.0.2_1783670319253_0.40125035298419554","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@osovv/vv-opencode","version":"1.1.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.1.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c9c520623854528c491575751f10967d218fc6bf","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.1.0.tgz","fileCount":211,"integrity":"sha512-aqStGOnjp+Qxoh06cZqOQ4ZZSem0Ydja3V4G3BuIIzo2j4MmxvSYCAMnMF2upO5sRC1RzaDqxhQlPAROaL1lEQ==","signatures":[{"sig":"MEQCIDKlHfxPgpmiiLj+0go5ZeKBLJ3c0dmyhbGOEh6KgsTrAiBtpp2T+82RqYYTfYmbNYlUHgIT59qmKBQ+Lnj299wIpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1123401},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e868b033b63d1b56e9c5c06daa3a9616277685d8","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.3.17","@opencode-ai/plugin":"1.3.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@commitlint/cli":"^19.0.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.1.0_1783766534223_0.8966675640882624","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@osovv/vv-opencode","version":"1.1.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.1.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"efe8391a8c10713d03c5ab4dc09d7bee98767f07","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.1.1.tgz","fileCount":232,"integrity":"sha512-DpDhXDuYizs/qUo/tdrfC8A8/dkscdgkAdGZ8NzFi3+jwwf2JrfToIif1inlJemrQ/Vz8q3L+PwlDMRbMFGvEA==","signatures":[{"sig":"MEYCIQCAra0kKjfF/19xM4fcmnFq8hoHKcr4fVBTPsJO28LiegIhAN9dORDO+VdgFmt+yI95p40aiud/fUfOGHKXKsSvVJ1T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1200286},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"db3df0f4af61be1841335a0a93cead4e662c0224","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.1.1_1784187735421_0.4796261360861269","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@osovv/vv-opencode","version":"1.1.2","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.1.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"d08a947a7df71c8701df57507cfca855461d6946","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.1.2.tgz","fileCount":232,"integrity":"sha512-JhYuphRJreP6zeru6sZqD0e+xLCQK+/PXk2KyGNW8RHE3chMfMljALl+5BHLRDu+MTmHEc5CO9k8m4JCE5muCw==","signatures":[{"sig":"MEUCIQCKiSDWEoIcOWE351kFAbXc4P2jXuCuRWBQakL564GMogIgOVTa5Bn155b6/8/ZqMvkLHHdXbHYmSLN6CNt50epZL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1211347},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"824ff053058094ef3861d777c5f64ed42cc596b9","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.1.2_1784193260209_0.1612270975721981","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@osovv/vv-opencode","version":"1.1.3","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.1.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"084d46c5631374fc78da31a56384f0dba8f8e41a","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.1.3.tgz","fileCount":232,"integrity":"sha512-VcnoMyLNZ80NpAiklz7GgvKBccBfOw/ftULw5+8uJIa7fCbN042+5Sr1DvHJmv01UcFnMw/Otw6GBbrSORBtVw==","signatures":[{"sig":"MEUCIGWPTX5GKwpQng6BrI/3jrXbRe21xF9rBowedCVtplmBAiEAkmf8HtukxAbPEwhLiBTniSr/BWNijziXxDajLPlM/wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1211634},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b11bff872dbddc905512b07d06011799414e978c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.1.3_1784198285911_0.059001966375251014","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@osovv/vv-opencode","version":"1.1.5","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.1.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"87c0ce4ac47bb370427547dcc3bc1248740de64e","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.1.5.tgz","fileCount":232,"integrity":"sha512-Dj/9Uo7LV77kzPT2SXCvV2tQeaqYYMLoPtXUPyeIE78vB/6LrbXGVW5OmxPt6ta7SmOH693yDBfK5LM5bIW2Ig==","signatures":[{"sig":"MEUCIH8J9nv+1xMDQjdJUIh9hrEYR9RryI09Dx9g84qeAm/+AiEAk1w/d1TU/PlpMb9KrTnEKRefN1wzALv8+BVAPjRj+b4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1262669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"9952ada0d4c7a828429e42230dd5fe31393ee0ef","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.1.5_1784230725779_0.8242858982005627","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@osovv/vv-opencode","version":"1.1.6","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.1.6","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"f9ebbd3bec4188b6c62ea38347b191ee84a3e13d","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.1.6.tgz","fileCount":232,"integrity":"sha512-7LVh2kalojhApUjilFNYZPmSJFCgflrXBeR6xjq1SG5XghZMasmkPWrLvac/WSiCFoEdxYFZdcdgVPQrM8WSdw==","signatures":[{"sig":"MEUCIQC9PN/TxAIM4V7giiDBmA3B6Lzqtbl8uY0NCdcYWd7PVAIgAON++s0X1MOnYCTwMCap2xQGSLHLCAyk/nSsMzdDmO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1264425},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"6fdc28e2857e1dbe2f070bd780a85d40f225143c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.1.6_1784260445402_0.3177131538968674","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@osovv/vv-opencode","version":"1.2.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"d78495a3090cd44aba59edf7c19601742db9cb18","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.0.tgz","fileCount":268,"integrity":"sha512-nlaT9p7siMyZsDvbImGplGwjLiGY8o2Jg0kOtpvbcScU0//9TGcMH2eTju/rEHszaOrND8UydjovUHY38uSN3g==","signatures":[{"sig":"MEQCIBYhyB/Hj1AXU4zTiE9AnyZ0b+n7IuuNpQYgaiGxaebLAiBG6aKQQtIP6R8cH2jLB7MtNMZLURiDKfJsjTIDQoFTgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1423555},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d8d9505aeba766a411b8cdc46fdffc8ed9a041a2","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.0_1785090477582_0.5864204972887026","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@osovv/vv-opencode","version":"1.2.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"ba907764c44ef60cf7ddcb69ee140dce9fa820da","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.1.tgz","fileCount":268,"integrity":"sha512-CcsCSaiD4AahSMjf2YfP+XLbueWPJYDMk/NfzrJ7rwYSuCUl6CfqVP7IykSNk33i7Y+9xYxewgctmpaSsrY/eg==","signatures":[{"sig":"MEYCIQDhC94TOr90mBsqfP+qjgbKM2sbTp5PQ6j1IKy3MVtYTAIhALgEV8mymeu3aaJa+7R5RFViqwG33YgCPIXg6q8bsecR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1424178},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"2785adc0698a949b967a089f1bcfdf2f0aaadce2","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.1_1785132876440_0.6511533516445343","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@osovv/vv-opencode","version":"1.2.2","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"fbdc52a69c9b9a11c43647001a538ad014fe5694","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.2.tgz","fileCount":268,"integrity":"sha512-pFzpURaN+BH878CDX8ZGmuM890wEvZQrQUrnBF3Dlq/xx58Fyxn2S4Mua5zwIufSyn2XQPyPAmu2GrAAJH8nnA==","signatures":[{"sig":"MEYCIQDZPR3LcbZe8mPNt7R8oKiI1ifIeCveIeplaBVUowvSvgIhAIcnsMAkqUIamUCxxYpEhn4mBuorIaRor4RQ3R4Mw+I9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1403615},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"5f9392e3b1bf446a5e0bb03d58cce434597db0b7","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.2_1786434458297_0.9765690898646522","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@osovv/vv-opencode","version":"1.2.3","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"9469fc230df21e607413ccd92389e805013b4cf0","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.3.tgz","fileCount":268,"integrity":"sha512-gScedYzdlPik6cHaUzup+Xad1Xf/zdjBGxtQBhBOKFh+L7mYAmsHdibmYtlt4GKBsEDacVuaxcm2U1Cd0vnVsg==","signatures":[{"sig":"MEUCIH/Y3svUbE+8RmofmiO9O+rKumkXgliN5ghwBdG30uHOAiEAlCZYViJ8zFK9qGCgLdlDap49eknVpIK9iGHR28PCLDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1407247},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"2332c15876e43bae66ae63c8381fee037da1cd23","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.3_1786449707226_0.7576562448455211","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@osovv/vv-opencode","version":"1.2.5","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"3b1a3a5e4f7b4a8eb1c1b9989c6b93eb0b522c0f","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.5.tgz","fileCount":268,"integrity":"sha512-c18nJZy80CSc+7JsTbeg8DmuTFOFUM1bSa/Opy0TsraX1yL4bJtHXhPbccXAhMYx3qGeVuloyOmXYuiOC2sg+Q==","signatures":[{"sig":"MEUCIQDxCjwA7uyohl5kxkk91u5zp3cTj+IOAGQd/RzMqV6e4QIga56BnqrlnXNniyssOTIqOvfq74eBmYMWw2nlzLV3T0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1418837},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d254aa5a1f4ad0a8bba35aaa69fd02761a167d72","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.5_1786547721636_0.7473477605707104","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@osovv/vv-opencode","version":"1.2.6","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.6","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"64ddf7ce39abedb89137ea06c212a6abff6514a9","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.6.tgz","fileCount":268,"integrity":"sha512-aEsQToGg7zIeMsCwXyPFA5Tu/ubFu35MF9cI71WGFjGPIxim39hmXKWKbo1VgZnzT9Pqh0zQQ7ZUVh6b08N1nQ==","signatures":[{"sig":"MEYCIQCNqkKuzjNB+0PbfNzX69MZRh0DD9tJd2m1WywRRvy9awIhALqqDyv50fZYk6aKYVLBLCVbuUa78acJpoDZa18lTlVD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1424432},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d654092c8e16b0d106f6077c8abab44abcbe907c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.16.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.6_1786609431009_0.37064640198845367","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"@osovv/vv-opencode","version":"1.2.7","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.7","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"ab539189517000475582d66eb74edf33be17dd9c","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.7.tgz","fileCount":265,"integrity":"sha512-Stgk9YUMvhYjNikOJ8FdRUmWJl6h9R/yBZ5RdmgaHwYdUmcMJn7UcQtpO57wYThfoa/zX/3FH3SFSrjemDXkjQ==","signatures":[{"sig":"MEYCIQCc7oJ6qVIl3KYjY7nxYnyFKhL4+Ser+ljJcezBDe5INgIhAMjrPxivC31yEit5jNeAOYYhbU5ImVANBZF0J0WGDdR0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1423493},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"385a6f73045d90b89deda13207d2a1b91e175540","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.7_1786733291265_0.04301745245325961","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"@osovv/vv-opencode","version":"1.2.8","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.8","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"a8923c98122078cca99bc29006c330261126f907","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.8.tgz","fileCount":280,"integrity":"sha512-NqZWMPCqtE9eCDPX/fuZcu/Rks7WUZ4j1h8q81VC+obqy4JQtbQuqPYQYnPIx5e1UUIQsDQhknxBDDxxW82WhA==","signatures":[{"sig":"MEUCIQCjKoNob0x9YU+jqSjz2/d5FJyE/7FdDnkLhG9T6fmNwwIgdSsAcGnfEFq2IgWrrXEPhW4lTR+jNaACbR/J92N6ZoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1523783},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"0a567fa57419bddde89acbc7f769f101c8ab8023","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.8_1787042633303_0.16229011977751728","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"@osovv/vv-opencode","version":"1.2.10","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.10","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"90b9fbcf42d8dbbcd38f48f8d9c82e1e9fe55541","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.10.tgz","fileCount":298,"integrity":"sha512-G4L/7oe8BUDTmUG16clyHSQHAvjFZQXQnSr1iv/JH4MTsrkdXfJ6sxbK/eLHgKvMEbjnsX+oOX/4kaurRLOBiQ==","signatures":[{"sig":"MEQCIAGAWR01Oq0utbUlzqmiHBmE+Iqr2n1ePNm0syQlSIPaAiA+CZjUDlyfIwBn60uAFkCpL6op7viODs/Dru8Bc44vEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1582116},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"64d02456705a13105156df96c620bb931b78c456","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.10_1787056632396_0.738177245203959","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"@osovv/vv-opencode","version":"1.2.11","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.2.11","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e310d9e4a97796dff3a53be46f7dc3e406c807b8","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.2.11.tgz","fileCount":298,"integrity":"sha512-QxQ91ciODSmKv4Hky6vXjwS0olXmz9HYle0UHpjY2y0v1BE31QtcCWW12EhGnMWTZnXjemzaQDlK52RoyUiosA==","signatures":[{"sig":"MEQCICPQ8yH+71sf9+Q1SFcoResL+FlDXOG7SzZwf+KV0QmbAiAf1KfzYgnJkNbETzIlxedDflIqtLAFTnTto3PNXgjt1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.2.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1584526},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"5db078bbed33f89a5c8f5a5c09ff8206e6b579db","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.2.11_1787058823320_0.718614710386215","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@osovv/vv-opencode","version":"1.3.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"9ebbd565c144f7f9c32ad954157e84c574289e83","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.0.tgz","fileCount":321,"integrity":"sha512-1yEr3e5M7pB1yVZVwn6TW4T6fSPZ/mxvV+XO58hlGL2ry+NzC3wcbqKI9s17RqPuvYYAOx0/AWkehU0jj6pSdA==","signatures":[{"sig":"MEQCIFpOVC7NEcsPUEjJvqNVG7lio1zhr/ZyP9kyP2Lue4tzAiB0NWrfKmDYihCw61v5uSAqTNhES5Q3h+QKTLQbQ2HCFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1671077},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"84206023357657e371019cd357db245d66de1da5","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.0_1787128979745_0.894309174718684","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@osovv/vv-opencode","version":"1.3.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"eff5fa6d720ff8cd8cd8da449909b6c533a55578","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.1.tgz","fileCount":324,"integrity":"sha512-ZJPSr1IxrIrBSlQrFtEFW3K3W87lDIkU3yviEdHZtTJHiW9/lJnHduRVk4IwRH115z2zmpYcXiinCre92/DBrQ==","signatures":[{"sig":"MEYCIQDUKc5TuhBaIB/ku8vDK1dvqWDBY/qveQ5hyGr+W8mknQIhAKGe3o2GWSUsK+CfRt1bSZ9WRHXphs3LkBU9opUNb8/u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1674310},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"569e1fa1f64fe924b33f4debf03089ac632e9677","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.1_1787131806502_0.8989650830661939","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@osovv/vv-opencode","version":"1.3.2","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"187ec81fa8f84ad46c37d49630b9afb891c0d533","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.2.tgz","fileCount":321,"integrity":"sha512-kJZpe8zqZZgyLqRgRGLPaEN+S244o0rgpDW2q5Ndc9Wh4uRrNBu/YNS32goM58cJg1heOoCirxH7YBEl6k2KUQ==","signatures":[{"sig":"MEQCIHAPpkxtegniuUqvAne5IMiwYPQzw0um4+Bc3IgNRcmUAiACBO14U+DBqobs+bXM5TYSjl7g6iQZgGcGGQSfTI2hpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1673853},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d95e82610af6734e9f8e74927c80d1de0cc223d6","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.2_1787138972211_0.6668406530518414","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@osovv/vv-opencode","version":"1.3.3","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"8b4c8b9b5b3c5d8e886f73e0cf86f13c226143b9","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.3.tgz","fileCount":321,"integrity":"sha512-Lo2HT9BS7cN0B2hQGFlle3ose0wFCKB3Q9OwmiR2T97u7NSWPOsQmDWrssTgavukrH1rBDJNMQfAFuczbrA7/A==","signatures":[{"sig":"MEUCID7q/4WKFBTN4YJ/CT9ehnxOYmCfPGs3VfrAXSvqq466AiEA0Ybs2rv+Wm6E4iAL8ZOYEe6nQ58MZXvDpqgGyuKontI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1675839},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"babf19d1052058413b0fafc22c4baa9f7ce23cb7","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.3_1787139827459_0.019702884192047465","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@osovv/vv-opencode","version":"1.3.4","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"0370cf8ee0924d018e972b1b8d43d2d241239215","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.4.tgz","fileCount":324,"integrity":"sha512-ToIRPZbZpa4rZCJOs41gH1fpI24yV4CJXHhc0Lyjif8U2khCaSKxmg7escI/BYhkjCYUGUh87fPp9XMhQGnYew==","signatures":[{"sig":"MEUCIHhfppGlp1aPQ+yHEqUKOaH8np3o3EPXc4lqZzUZVf6tAiEAwkQTOpiYD0DjqK+wEzhTFvCHh9KVZdvNi/4nHY9GXb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1693523},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"273d077d4a6dde42798fed92d5c02faf26103f5e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.4_1787158514781_0.7938085667839938","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@osovv/vv-opencode","version":"1.3.5","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"7ddfdc11b9eae60383683e1e5ca0b89cac8bda9d","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.5.tgz","fileCount":324,"integrity":"sha512-hSjLYHzTA/3ZmHW7OOJ3TYQb9WvDtq61mTj81d75+L/Yo4NPuHl3+7u7z3LNM3N3l2ipWYloAJRv2p0pOuRiyQ==","signatures":[{"sig":"MEQCIEwpfOgyTR5JsWhdZyuUaD2qYrBXAvgXqoorPGJkKVIwAiBIauv+wpi3BREleDliPI1xJg3vcVkDOYg88WZPLAcr1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1692884},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d18dc9ce872d5e0e2d0f14ea61f79dc30fba6dc4","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.5_1787293693682_0.16677937279041255","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.0":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5355d24db21f88bab7590fd0d070b7250fab72f6","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.0.tgz","fileCount":333,"integrity":"sha512-FJulQl8YckF+HPvgWbHE00ar5lNJyqev3mytdXNRNDQ4DU8DJe9ZrXtXIjSMDUubJKIzn8IFftrykrVL4WO6AQ==","signatures":[{"sig":"MEYCIQDUdpPPX9087vcw74A04SlakxUS4wwhvn8vOgj8QJPxDwIhAOk3rBgHjHtSkGKH0OsR4du9WKo2kr1EG826BGSEp9FB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1793343},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"cd2399f31d4852323bd676afc8b2db176fc06f0c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.0_1787325119837_0.9242935691297403","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.1":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"edd957c53c814ebf3d0c52796789bb65e7057664","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.1.tgz","fileCount":333,"integrity":"sha512-x1tw51qyqesOdYdF1fuen+Zfr3U75liimi7eO41MjZbjivmGgSWAMLuMsBsdL00/wIU9T8mdt4D+F0PbDqnhuA==","signatures":[{"sig":"MEUCIQCzWdtCeEZqHx/4WYJJFJDGj4R4q0XVUdosjuAgFYXUOwIgKBN8nWgOaVUP/kyydf8BODcbZKk67PmiDkzl7UuqXb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1794857},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"224590c8006227ee0108c107cfe2ac2301c5c9ac","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.1_1787638726643_0.8045652408170965","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.2":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.2","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"20dafffc8ceec25097ec23e1c79bd2ee593eb935","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.2.tgz","fileCount":333,"integrity":"sha512-SmlueuXyAorXgvZqUIRmxOdV9tfdR5G7BO2fSJl9dNyTKkYWvmf1xUrttV/PXK7uRlkwMyPgJkesdNOkg9n+dA==","signatures":[{"sig":"MEUCIFkIw5SCCaz9ILJt2Q5hs96BbxmL9ekk1yDyK3WibiuVAiEAy4Xr0he6AMS92Jkr/nl1uaHr84XgLjPZRRNqyHweKBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1795736},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f0b7a691b5179faa1935d4941bff5cf05f36c681","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.2_1787640094967_0.5266345744862171","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.3":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.3","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"08f1a6c7e4338ea14fd413b7d2553ea69b19b110","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.3.tgz","fileCount":333,"integrity":"sha512-h3TsY/ahz3QGUSVg/UP3r1tBNIyecBQ2tHKYlhVlcazRTBmDf2dlxSig+lowd10+b4qvqLqeB706kmWUBGlILA==","signatures":[{"sig":"MEQCIEFj7V2rO4p0UpzRHyQG+UWQtrA/Q5r3psrB+maJNVQHAiBPJwC92lpR+cS1cAYM9JdSIkY9brB5mfVdXqWnmhng7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1799220},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f948e5a2c49d00760d7bbe83ec70a32909af9776","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.3_1787642552766_0.2950337174830939","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.4":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.4","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"d7457c4b3fe4aef9ebdc0cde5fe37a6f79bd46f0","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.4.tgz","fileCount":330,"integrity":"sha512-z9iH2+zwk315fobekJL+q+vwr8ExBG8902VYg67GiUGkP5mkdoDMYCKG5V6c6CCkyB7eHSQMhf6Xgu106B6KNA==","signatures":[{"sig":"MEUCIQDlQpTcnq1ainmNkBGR8/uovDDEMQYVMjRzl7hvk6UMgAIgPoQPP2VoVHgktLi9Q14T8Awm+6UbN6cBr4BUV+xcMro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1772834},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e0ac5d4e46530e0fd1b039c15c80f99245b927ff","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.4_1787764691800_0.49068903145298126","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.5":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.5","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"135db468fac8408febf23d2c0e2eeeb4f107f956","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.5.tgz","fileCount":330,"integrity":"sha512-JM7hoGyiQgXFzly1531EUaOvEvowwmVZBBKhEsCiePgRyyAi8UfgbySZ50rVk+yzqwewjRti0ulMn3TNr8allg==","signatures":[{"sig":"MEUCIQDAsGa55RGU7VffEbY0YYDnOQ+12dZ9WVKxafpwXe5akAIgOXFGybATuRYEJjtcbvWwiNy6cLdTaLrYqDgfyYVkq8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1775697},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b7229c7939b667198a245e5bb2b8de53d8f2e002","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.5_1787768070155_0.17698484032132256","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.6":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.6","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.6","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"961f25e9f513ea2602fe532db568e13e31d5405e","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.6.tgz","fileCount":330,"integrity":"sha512-+/fdnI/Ce5AQI3zw4dcySJ/HG5nVX3DJESWnte2DRVqHDdgPOpYOygq9OVqZ8MjGtq5bJ8iNNo9oG/93AA9DmA==","signatures":[{"sig":"MEUCIQDQDly07+mTqz0guzU4t+DPlrJ0Sx1eO4d+zT9v7l22IAIgFe7ezIXczpIAAShrnF2oghvFCDHX9wyE55/kTq92rd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1776351},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b546c6aaa9ff97044262872f57940a774dbb724f","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.6_1787811664873_0.7574329444902781","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.7":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.7","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.7","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"c5cf9b17105f44e9b82813a732dca514287db57f","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.7.tgz","fileCount":342,"integrity":"sha512-LYim6Yxry8s9fBE1UjvUSMTlvzrSkAIRIX/tLHQxOB2UaN9Gd9qdhIRX+N58mrLw20X9OpRSx9pk8Hze4zQ0zw==","signatures":[{"sig":"MEYCIQDUSbA2pjpTGWj7Vt0R3vYHj3Ex0Lm3+ah2TBRG/Qyi7QIhAPn+8g5XnjL7BSaTsfAL93ZtMdZcPsoKNVdvYf1BZxxA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1921574},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e3af9271064dbec05016d0a87ecb8dcb67a5112b","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.7_1788003714528_0.8251796842928951","host":"s3://npm-registry-packages-npm-production"}},"1.3.6-rc.8":{"name":"@osovv/vv-opencode","version":"1.3.6-rc.8","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6-rc.8","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5f17e2b621b5cfdcebfb5f71f750e8d6df5ddd58","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6-rc.8.tgz","fileCount":342,"integrity":"sha512-OF5wWPQR+dEaKt8Q09JaMAXoALanIH97dNJBfniGbhATQ976W6ls6U83oYkKOQJ/Wf5tg+NFJgj7qlOGTjSw9w==","signatures":[{"sig":"MEYCIQCCOSrbw8gU+RD6t03A+cCPBANz09Z4t7GSrqSy0ME6BAIhAPeiuwz3+h8wZz0ifMKeoelikYKDq6oBdS7sDk9gzp/X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6-rc.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1922799},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f5e4c1bc87a30579a3c69709cdac531101d9425e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6-rc.8_1788011857337_0.47754686103597854","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"@osovv/vv-opencode","version":"1.3.6","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.6","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"99627823012cf02dff6e9a836bd78032d06abce1","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.6.tgz","fileCount":342,"integrity":"sha512-Hgiq6P+3Hp+jO8LlTsGnqWJSx7TsUxnAV80aJFhfggyHpses1LjRjR3db4udGEkQYKD8zsyn5MG0EjroDSK+0g==","signatures":[{"sig":"MEUCIQDPMTMjRyHz8G4sRo+mkOFQbimo9WKIdIaehxEvsnYBQwIgJXGjd1swuLksCi085s4aj14eT1eN6P5X3ugehx1Zn/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1919412},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"b073c65fdef6231c9638805f237d6d920f31903d","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.17.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.6_1788335041686_0.5253723295698511","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"@osovv/vv-opencode","version":"1.3.7","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.7","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"0adf8c784dd23aa7a62864cb16c9731f6693ea8a","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.7.tgz","fileCount":345,"integrity":"sha512-VqwE5KeJupDeh7xhy9wshzu8fiwrAm4gb0OeZNoNOBysQrpH75hqe9XadJdBfF+NsHDCWWFc4D7EOFZ3akQ3AA==","signatures":[{"sig":"MEUCIQCktVF9TPGMDUvrOj8eRed6VAQUVEG3Zst1Y/IBl4uFawIgeTV1kJNP6ncgV61qSda0ICoU/cBxSg0hUsPI2i/JdCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1928973},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"ba4a5487efb6f92db2e9a81599965ee858b3ba45","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.7_1788959631216_0.1727334825247857","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"@osovv/vv-opencode","version":"1.3.8","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.3.8","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"ca418bb4eb70f963a133c773fbf542928f91d678","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.3.8.tgz","fileCount":345,"integrity":"sha512-ECR6WC6D5FUAcgPNojsbXebvwYh/6oe6P6K8xMnjgBBVNmF/EoxN2yQ9TebXVA05X+SW683Egq2KmKz6JHSjcQ==","signatures":[{"sig":"MEYCIQDU/VWa/ZFtB6jz+SKbZ9eoDAqF1ywEI8jX5ZoUhdyYigIhAIEkcAxbOfSjU37Npatsed5vsN8FW0Fd1SQmumi7UnX3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1930494},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"69373ed213d6ae0ae440de4b0f16932ee3e9ae2b","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.3.8_1788972667105_0.9950114503523473","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@osovv/vv-opencode","version":"1.4.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e28802411ca7ab71b5cef3dcf6a72d306cb37549","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.0.tgz","fileCount":357,"integrity":"sha512-DG037cMQPSTdTtFzYdXkC7g5iUf46G9ju7L7DrmejustABQ5+lOwVI0dphPHl/fj2GfBeERsMWbnbC5eJu//9A==","signatures":[{"sig":"MEYCIQDEbZzmFVQ/XkUrOzJKYmZGqYbZw3v4tKkaTapsR2MJNAIhAPwo2ItN912XzupF2rfk4YUhzuY6XDF+U27cEowyk0gH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2302588},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d30e8c56586c14459810767345dae59a925cfef0","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.0_1789105946690_0.23554966347234285","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@osovv/vv-opencode","version":"1.4.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"b412cb04dc48e91f31f34760012d6be0708b0592","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.1.tgz","fileCount":357,"integrity":"sha512-XEj3klBjBaGpxcNrLTlVKQE04yDhUNinn40vg/hUIfi4XrDAsWOFa5Xx6gLzbAYUn4PBA4Upapxvz8zeXwE2zQ==","signatures":[{"sig":"MEUCIQDK7w8QTgipIzVjwdZ9dPb7yfXgMJlKXRCb9Go4sYQBqAIgOKUapO2L+NiTq60UnmqneT8KK2LyuyM7w3mn5teQDQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2350615},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"0ce46c6747d2282ab92c10cee892f0e1c8e3b52e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.1_1789119076266_0.09619915581839056","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@osovv/vv-opencode","version":"1.4.2","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"f6ade61e49046dcd673bc34b0fd40853be19c656","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.2.tgz","fileCount":357,"integrity":"sha512-Wphq4xyPOziUj78wWknxQjTxDX4U2DzgJgQiOLdy8KeN3HpzIVQ6kEkHW8ziVI2ZAN2gdp9K0wpB+hmGz5IiMg==","signatures":[{"sig":"MEUCIQCscbpeC4LJ4s1enkHx+k10S3BsWJxoT2FRA0xNDmI9cQIgHqY/1+8bmOSbpLcSAI496zyfE4JGQ+ioob5TRCVHQyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2365838},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"497435bcff15a38822d1b79d6e538880c97a59d0","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.2_1789129432910_0.6540238968860566","host":"s3://npm-registry-packages-npm-production"}},"1.4.3-rc.0":{"name":"@osovv/vv-opencode","version":"1.4.3-rc.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.3-rc.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"5c618582b4e1e3da3a6031bc5ba67bd74dd46ea4","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.3-rc.0.tgz","fileCount":357,"integrity":"sha512-mlUm4VFfcBjMtjY+VUiBnJwd/BsrG2GGjXGHVMoz36vR3a+D+bZWLF3DshLVhEZUDNQ6s+w8Gok5VUWiuWpUgg==","signatures":[{"sig":"MEYCIQDGXvOasXEMlzJlq5wiPhXT5FFeSQIsOaptdpBEB1TOOQIhAMvhrkcg1Ycje37W0NxMz7Gvqsu7PwCQBaflMpOSivFO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.3-rc.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2504986},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"2237b7e8f81221ccc40b23711fa804a0f8e04917","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.3-rc.0_1789225645602_0.4602243348799093","host":"s3://npm-registry-packages-npm-production"}},"1.4.3-rc.1":{"name":"@osovv/vv-opencode","version":"1.4.3-rc.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.3-rc.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"a5e67d2ae5ef4bd32f30494fe448508f0bb8d06a","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.3-rc.1.tgz","fileCount":369,"integrity":"sha512-pI4hhAHKn1yDEoF1K8op19dvuf7Vw8ERG2RJWx/Ww9DMjRLMU0xfckrRMkkjxyNLUqaW4v8iSD4poDULioTxYA==","signatures":[{"sig":"MEQCH2KJGollSD+73pu1O9KRdDNRlnYZcNnyyyUhs93iUfsCIQD9DuhsXnJj0UfNDDIDCb79iPakQYCSMlLborV1h2XQcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.3-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2889594},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"57056eb3de18fdfefea77d700d0ea0b8b88df694","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","readmeFilename":"README.md","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.3-rc.1_1789246059128_0.09609453114851751","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"@osovv/vv-opencode","version":"1.4.3","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"e9d4a8895e7ee478a1a07e19ba8e937cb4df32b5","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.3.tgz","fileCount":369,"integrity":"sha512-yRrd8fClYqD+NCgu9QibjCRltik16rt8Zax/9gmu8KQhX2UDk/bB7qoOI4AXoms+SUZJGVZ5FYQhOddxeJzreQ==","signatures":[{"sig":"MEUCIEGTb2dGZX9cnPNcJnNkvrH7ArxCJb1tXyegJAlB54RtAiEApJ1Knlea8Hn7NMiAp/glqbI7OFOpr1aEXCczHujKF8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFYAHL7U3Wig/n99kIF26FvHO6fW6EGM78yZBBD1OJRtAiARUhsJlSp7VgdPSByRSpPQQUHvntPJLsgOU96aMgu7DQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2891700},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"ef30770bcbf596721d10deb6bab57983311318ed","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.3_1790058050788_0.521391418356786","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"@osovv/vv-opencode","version":"1.4.4","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.4","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"bd799bbbcd09626ce2538db2deff30843f256cba","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.4.tgz","fileCount":369,"integrity":"sha512-q003t6OkDbYftpKI4vXXZbzsTtKerErzIMpuigxT4FalO1wauCH6DcP8F1i812YJf4ufqcxcF0qPENK/6PnZhw==","signatures":[{"sig":"MEUCIQD1KPZ6BbdsTCxM9qUv0pZ3tShmaz3Kl3laj3P5CtMN6wIgQVmxplCtwUpflNQWAnO0cd4rJUMPLxWepvHkC/PFsIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCBcqrN3d5UBBbGPM2O1ZV7czvCZdDK1ouvE4e7ikp/7wIgUrSW1UMuP/lGooiqbdgRjPWFi5chueSF1MdGZbe0YpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2896575},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"caca5612449125ea444c4734c3077b1a6e051cd8","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.4_1790072031003_0.6114512786773041","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"@osovv/vv-opencode","version":"1.4.5","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.4.5","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"961a0ee2e1d2c6891a2c9ce0a403e39370f63a24","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.4.5.tgz","fileCount":369,"integrity":"sha512-Us4qBxmPMsnrqcZM4YU1hARnsmPXzMpUHKZfzy04a68Hrqkw+0SwsBTIh8hmbjbvvwoenGSupg+yXE5fUZwwow==","signatures":[{"sig":"MEUCICKZpnCSBDdou8jSJqurk3SBUMTpPYZJt3V7PFOlialUAiEA4u8D2g+Bp5YsvSYuQzKFbWPYV7MYky4/cXRotlXWWmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGoQwk8MIvJQ6xjydKhk+SXK8S9+FkBkz0L0Pw7pWGJuAiEAgPmf6gec3E9kFi7xKMEWcL9+dlkUZ06e/bBoGfmrsuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2898417},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"e366f3286a2343899e7100e75709891af1317e45","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.4.5_1790074183656_0.7983302709054061","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@osovv/vv-opencode","version":"1.5.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.5.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"87197c6b584280176a2e48deffda3ef102be43f4","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.5.0.tgz","fileCount":417,"integrity":"sha512-n+bqpPDVbP9A+VQkPIm+GE7+iMtMN3bllFTvuKFZmPHm0V20vUh2jb7jmrq+n6aMJ3bOEZKoiJTvP9F5rpypMA==","signatures":[{"sig":"MEQCIHq8/jJphF2cA47EvqjaWAo5oi1uZi0ppCKx8WZn7PUBAiAV9rvM4uaAaxe71ow756a0s4F49TOFu6ANNlIVE0PdSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC8TBy/nYn7nKmdCCf0is/d7Gpc3Ejf1VD/TTSlYB253AiAfkcfON+ZOiWOc9BATGrwA9j9KjIkN5GqSKE00ZQ5wGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2966318},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f4319f85e27215743793c56eca17b3e96ddb8c5e","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && npm pack --dry-run","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.5.0_1790109241500_0.34864038731032077","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@osovv/vv-opencode","version":"1.6.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.6.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"691df840b41cb76a3a6506a43ca60a44f5cc21e6","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.6.0.tgz","fileCount":439,"integrity":"sha512-AMt6sjnM+LIy14DDbly0xTlywQJe8tcVXCcUrY6hHodgxBKL9r5YrTlrjYMxCgmdedmBsL+pxDFyCYKpKNRaVw==","signatures":[{"sig":"MEUCIEb/WW2oLklyPCyJvUyXDLclFlvFb/bMOd+hsLryUBe1AiEA6cV+QqSikgagD+4pHZYccvdANwztcvhJEoQsyvEM4fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCOQfLuPCbC31w8MSBC4koRBC0h0bk0b9OBft4XIdL5xwIhAJgDkGaefGkP+FpW5zHWl08ta3pMO1JD5TUz4PqomNlc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3719525},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"96d1d0924308e511aecc3d48e3f28d983f6189ba","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.6.0_1790277748041_0.2495167587378977","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@osovv/vv-opencode","version":"1.7.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@1.7.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"d67ddefc6adb69e1c821c875fa1d9cf057f5f0b6","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-1.7.0.tgz","fileCount":439,"integrity":"sha512-w1ol7g4oFb7ku3hzW55A9N1f9FOCER0UK8ikutrmczeT7F1Y79i9PWHA0574HTu6p6iA9hc1bmzePA+ew7jYsA==","signatures":[{"sig":"MEUCIDcOJ0tuCKL2nHtiFXBWCwpgrAvWepxFgzC+NadDcOPkAiEA+HWa/Rk5+ErgzvH7s6pRjHHU0IERc/ZU3RL5AbWHwUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDfVMucqDwGuhXnDWIu1PEXWU4G0gnVlOVMCNEJLOcOnwIgeP1x64ZB0hrl5fdYoHQiB/yzuSdnGDDMHTZr7EKLCIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3726373},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.2"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"4fb6f980dd6b1e8b881191a8e2bea5cd6f150289","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); if (!('GuardianPlugin' in root)) throw new Error('dist root export missing GuardianPlugin'); if (!('HashlineEditPlugin' in root)) throw new Error('dist root export missing HashlineEditPlugin'); if (!('ModelRolesPlugin' in root)) throw new Error('dist root export missing ModelRolesPlugin'); if (!('SystemContextInjectionPlugin' in root)) throw new Error('dist root export missing SystemContextInjectionPlugin'); if (!('WorkflowPlugin' in root)) throw new Error('dist root export missing WorkflowPlugin'); if (!('SecretsRedactionPlugin' in root)) throw new Error('dist root export missing SecretsRedactionPlugin'); if (!('WebToolsPlugin' in root)) throw new Error('dist root export missing WebToolsPlugin'); if (!('AnalyticsPlugin' in root)) throw new Error('dist root export missing AnalyticsPlugin'); if (!('PeakHoursPlugin' in root)) throw new Error('dist root export missing PeakHoursPlugin'); if (!('SpecGuardPlugin' in root)) throw new Error('dist root export missing SpecGuardPlugin'); const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module'); await import('./dist/plugins/guardian/index.js'); await import('./dist/plugins/hashline-edit/index.js'); await import('./dist/plugins/model-roles/index.js'); await import('./dist/plugins/system-context-injection/index.js'); await import('./dist/plugins/workflow/index.js'); await import('./dist/plugins/secrets-redaction/index.js'); await import('./dist/plugins/web-tools/index.js'); await import('./dist/plugins/analytics/index.js'); await import('./dist/plugins/peak-hours/index.js'); await import('./dist/plugins/spec-guard/index.js')\" && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.2","@opencode-ai/plugin":"1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_1.7.0_1790343236855_0.3174009316640498","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@osovv/vv-opencode","version":"2.0.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@2.0.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"f28d6f8b492821dfcd346d3120f6bf3554cd0d88","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-2.0.0.tgz","fileCount":489,"integrity":"sha512-1P0bG7ozd5c2ObBHwo94MdcSoBDX0wJvx3w1dKRmlatCHjRCAuQHj3DhSGwfxc+tXy5g9m2FM/KQMFHheVpgrg==","signatures":[{"sig":"MEQCID9coP/8z8EXJfRRI0V7S0rEnsyGBeqYFSyJAP58WpOeAiB4KPGztRo0laEt+BawAeCv0MinszaXSS+1JbjZ3Yyotw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDIlKYzYz3NrYx9djfvCGRD+tvfIhzxaQNIyC55tr2akAiEA5fzh16F90aNRdz/+ScFcaUcYQIVT4cym2V4u6UBBrK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3926386},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.29"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"f73ca0846e51cbd390ed02bfc890d98aec54b664","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","start":"node server.js","e2e:v2":"bun scripts/e2e-v2.ts","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); const d = root.default; if (!d || d.id !== 'vvoc' || typeof d.setup !== 'function' || typeof d.server !== 'function') throw new Error('dist root export missing dual default entrypoint (id/setup/server)'); const pluginIds = ['vvoc.guardian','vvoc.hashline-edit','vvoc.model-roles','vvoc.system-context-injection','vvoc.workflow','vvoc.secrets-redaction','vvoc.web-tools','vvoc.tool-history-compaction','vvoc.analytics','vvoc.peak-hours','vvoc.spec-guard']; const subpaths = ['guardian','hashline-edit','model-roles','system-context-injection','workflow','secrets-redaction','web-tools','tool-history-compaction','analytics','peak-hours','spec-guard']; for (const s of subpaths) { const m = await import('./dist/plugins/' + s + '/index.js'); const e = m.default; if (!e || typeof e.id !== 'string' || typeof e.setup !== 'function' || typeof e.server !== 'function') throw new Error('dist subpath ' + s + ' missing dual default entrypoint'); if (!pluginIds.includes(e.id)) throw new Error('dist subpath ' + s + ' has unexpected id ' + e.id); } const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module')\" && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"deprecated":"Deprecated: use @osovv/vv-opencode@2.1.2 or later instead. See https://github.com/osovv/vv-opencode/releases/tag/v2.1.2","repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.32","@opencode/plugin":"2.0.18","@opencode-ai/plugin":"1.18.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_2.0.0_1790418883982_0.9336563130843827","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@osovv/vv-opencode","version":"2.0.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@2.0.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"737eb16640a037ff715ad672fb299620e2a37045","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-2.0.1.tgz","fileCount":489,"integrity":"sha512-bQLg3/E2MptDSBY+pdu7s6ZFAVR7GsJjTdoC2LbZcKDVBL4VSmekwTYdttkX7kP+kZBuH4/MS+Jdp8A2BXQbqw==","signatures":[{"sig":"MEUCIHwOcWNV5PzS2UF9HiUEunZWE1KhaKG8LP+5YHOjmFqUAiEApEPodjZr2M0oeykGdyoEramES5wruiEJS4qXQ1SXGkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDzCp20Y49jw4cxWjwwk0mspGe/NxYp7pWkEHcF/FLZGAIgMIjP59X+sR69wQn4UaTTVfpMHRAsMKKoFZI4pFijhZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3943590},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=1.18.29"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"3637975a0f863046c21eca097caf6d5aaadb8491","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","start":"node server.js","e2e:v2":"bun scripts/e2e-v2.ts","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun -e \"const root = await import('./dist/index.js'); const d = root.default; if (!d || d.id !== 'vvoc' || typeof d.setup !== 'function' || typeof d.server !== 'function') throw new Error('dist root export missing dual default entrypoint (id/setup/server)'); const pluginIds = ['vvoc.guardian','vvoc.hashline-edit','vvoc.model-roles','vvoc.system-context-injection','vvoc.workflow','vvoc.secrets-redaction','vvoc.web-tools','vvoc.tool-history-compaction','vvoc.analytics','vvoc.peak-hours','vvoc.spec-guard']; const subpaths = ['guardian','hashline-edit','model-roles','system-context-injection','workflow','secrets-redaction','web-tools','tool-history-compaction','analytics','peak-hours','spec-guard']; for (const s of subpaths) { const m = await import('./dist/plugins/' + s + '/index.js'); const e = m.default; if (!e || typeof e.id !== 'string' || typeof e.setup !== 'function' || typeof e.server !== 'function') throw new Error('dist subpath ' + s + ' missing dual default entrypoint'); if (!pluginIds.includes(e.id)) throw new Error('dist subpath ' + s + ' has unexpected id ' + e.id); } const tui = await import('./dist/tui.js'); if (!tui.default || typeof tui.default.tui !== 'function') throw new Error('dist TUI export missing default tui module')\" && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc584231-441c-4661-8270-50e310ec5d0b"}},"deprecated":"Deprecated: use @osovv/vv-opencode@2.1.2 or later instead. See https://github.com/osovv/vv-opencode/releases/tag/v2.1.2","repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","citty":"0.2.2","turndown":"^7.2.4","htmlparser2":"^12.0.0","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode-ai/sdk":"1.18.32","@opencode/plugin":"2.0.18","@opencode-ai/plugin":"1.18.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.12","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.4.3","@opentui/solid":"0.4.3","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.4.3","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.4.3","@opentui/solid":">=0.4.3","@opentui/keymap":">=0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_2.0.1_1790420334971_0.6788196084276175","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@osovv/vv-opencode","version":"2.1.0","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@2.1.0","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"3805e3d7b7eb9dbf5c16f26bdd12b5de04f681cc","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-2.1.0.tgz","fileCount":489,"integrity":"sha512-m+feM3mLWwbhxIBcd2zR45GHgMxDMdiApJpMnsC3FQUaitPUpyBE6vBGNXf8YnBE94JFzKH0wYoPj2ACWQTHrw==","signatures":[{"sig":"MEUCIQCvhE4CTDJ7ZSVDeCxSHdaeSEj9IvBwF2Dq+Q4iJxNJ2gIgfyakn3cA+i+r+f85YCSGx9ptSXcMnjxdgma4wci8xNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCiZert+cmleJqYusOviMOz+RfvBgA+GgfczFHW5FvyqQIhAKWDlFcq5NeIhVjJtybOnIw0xpzk3L+29t9e3tLvhX5M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4604346},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=2.0.18 <2.0.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"d38302ab1b6327fa1759b256464990f6823d8fb7","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","start":"node server.js","e2e:v2":"bun scripts/e2e-v2.ts --full","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun scripts/check-package.ts && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"cc584231-441c-4661-8270-50e310ec5d0b"}},"deprecated":"Deprecated: use @osovv/vv-opencode@2.1.2 or later instead. See https://github.com/osovv/vv-opencode/releases/tag/v2.1.2","repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","zod":"4.1.8","citty":"0.2.2","effect":"4.0.0-rc.112","turndown":"^7.2.4","htmlparser2":"^12.0.0","@opencode/ai":"2.0.18","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode/client":"2.0.18","@opencode/plugin":"2.0.18","@opencode/schema":"2.0.18","@opencode/protocol":"2.0.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.15","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.5.12","@opentui/solid":"0.5.12","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.5.12","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.15","@opentui/core":">=0.5.12","@opentui/solid":">=0.5.12","@opentui/keymap":">=0.5.12"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_2.1.0_1790848632303_0.560532696750774","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@osovv/vv-opencode","version":"2.1.1","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@2.1.1","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"15ee5f95f9113acb60ef23f8837630eb26bfa42e","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-2.1.1.tgz","fileCount":489,"integrity":"sha512-fnGcbSvPQ7R+XWs54VKLduzpy1T6CN7VkOGZSUJg3fywchhMA34CzyKx1LSKUyTCs0vH+Rj60xZ11ouhYJsBZw==","signatures":[{"sig":"MEUCIBTqXisio6YfVaUCkqzzCMS7b3ivT/xWdIlAnKbgu+TZAiEAllS7xWENNquvtEYBnW+Dn24JS+p08GLOFkPGv5kNr0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDeMxQXZERz1OTJt0ME1QnOib4HoTQBd45NuroGRqwKowIgOukDfUb0N5nydXdv4RoINOW5dmfKQdhLe657APPVy2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4605328},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=2.0.18 <2.0.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"108abf38304f303ee98f9d1d92ff864cd5bded4c","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","start":"node server.js","e2e:v2":"bun scripts/e2e-v2.ts --full","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun scripts/check-package.ts && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"cc584231-441c-4661-8270-50e310ec5d0b"}},"deprecated":"Deprecated: use @osovv/vv-opencode@2.1.2 or later instead. See https://github.com/osovv/vv-opencode/releases/tag/v2.1.2","repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","zod":"4.1.8","citty":"0.2.2","effect":"4.0.0-rc.112","turndown":"^7.2.4","htmlparser2":"^12.0.0","@opencode/ai":"2.0.18","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode/client":"2.0.18","@opencode/plugin":"2.0.18","@opencode/schema":"2.0.18","@opencode/protocol":"2.0.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.15","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.5.12","@opentui/solid":"0.5.12","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.5.12","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.12","@opentui/core":">=0.5.12","@opentui/solid":">=0.5.12","@opentui/keymap":">=0.5.12"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_2.1.1_1790922046087_0.27753745290088383","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@osovv/vv-opencode","version":"2.1.2","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@2.1.2","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"46a2be48a8741f481e4565e3f0ea292c17ce173f","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-2.1.2.tgz","fileCount":489,"integrity":"sha512-7Fe8Ysc2RarbdlNZANeYw3C3eiU6eIl5kFwmHaZX4PxKLFmkfJvBYGrLKOkqpDjH/hb4Gauaa/87dcha47NDDQ==","signatures":[{"sig":"MEQCIEElklRM2RiwyPn8or6+Ks2pcP62sAvugoY0d5Rxo4OuAiBC08WxWzhoGvNkDIlo33+Ld4UvJcM/y/DdXGT25PgePA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDbcyi80dIW3y7Py/jXcgTgzKfLmvkkAjrLj1ORPtSfFAiBUe8Au6hR5UOx0F/b0SCrRLrctPhrjVV7gvrq+81vNLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4606551},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=2.0.18 <2.0.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"8f11649135dd1335549179696a730e0f9d56ff51","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","start":"node server.js","e2e:v2":"bun scripts/e2e-v2.ts --full","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun scripts/check-package.ts && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","zod":"4.1.8","citty":"0.2.2","effect":"4.0.0-rc.112","turndown":"^7.2.4","htmlparser2":"^12.0.0","@opencode/ai":"2.0.18","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode/client":"2.0.18","@opencode/plugin":"2.0.18","@opencode/schema":"2.0.18","@opencode/protocol":"2.0.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.15","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.5.12","@opentui/solid":"0.5.12","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.5.12","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.0","@opentui/core":">=0.5.12","@opentui/solid":">=0.5.12"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_2.1.2_1790925980702_0.6473509278841816","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"@osovv/vv-opencode","version":"2.1.3","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"license":"MIT","_id":"@osovv/vv-opencode@2.1.3","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"homepage":"https://github.com/osovv/vv-opencode#readme","bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"bin":{"vvoc":"dist/cli.js"},"dist":{"shasum":"b9ead5ebac4bf2ffdd1fd21c76ae580c762378fd","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-2.1.3.tgz","fileCount":492,"integrity":"sha512-DFdVSUdFyhG7ipKwkUex8R7CVXGoTuANFHq3jH3ZJ641/sTVhYam2plHTAvYHWPfLsvZS4fv7gIIifFmwMd+lQ==","signatures":[{"sig":"MEYCIQD3ojwvKSTjjGrD+lizoAMyTJWe7ZiJusrJMj7mT8CXKgIhAOszmDp6jNn3yDTTsa3eq7ZZwNbJEZaWYDC5ViBLOLVU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4hBoxW6HUB1F8/VwT6R19YtvTgA7IH3CmCMtx+NIy4gIhAIVH8pqb+Y/usc0qKYyxfCE5FjYpDCtT+B0GNSGzmvu8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4671794},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=2.0.18 <2.0.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"1ba4d04c053c9bd8dce890ab234521fe340f8726","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","start":"node server.js","e2e:v2":"bun scripts/e2e-v2.ts --full","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun scripts/check-package.ts && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"cc584231-441c-4661-8270-50e310ec5d0b"}},"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","zod":"4.1.8","citty":"0.2.2","effect":"4.0.0-rc.112","turndown":"^7.2.4","htmlparser2":"^12.0.0","@opencode/ai":"2.0.18","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode/client":"2.0.18","@opencode/plugin":"2.0.18","@opencode/schema":"2.0.18","@opencode/protocol":"2.0.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.15","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.5.12","@opentui/solid":"0.5.12","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.5.12","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.0","@opentui/core":">=0.5.12","@opentui/solid":">=0.5.12"},"_npmOperationalInternal":{"tmp":"tmp/vv-opencode_2.1.3_1791014713459_0.293946374614384","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"_id":"@osovv/vv-opencode@2.1.4","bin":{"vvoc":"dist/cli.js"},"bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"dist":{"shasum":"f7ac3663050bb49697dd48f29a53ab43a2342dd5","tarball":"https://registry.npmjs.org/@osovv/vv-opencode/-/vv-opencode-2.1.4.tgz","fileCount":492,"integrity":"sha512-cC5nGyxnqLUznx8gnN4v1ddKMU6MMR9sRy8v/SQ2ZNBKP4WukNENsINCAkYlOHR7lJMhP63s3lL0ayb29XHLoA==","signatures":[{"sig":"MEYCIQDfHyI5620rV3+YqLBvx+Sov/y/GlVYWimnOLHxda8xxAIhAOCZCLp4x9pSkgRIGv1dxj/pUeSxq3NBmCm05SlOuKlX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC+hoblgQGiN4s9NnFcTdxNqA0UfEAF7PQ8AwrKwkP+2AiEA4/5peqCATGp3h5kIpZyH32pbvmEl3qJ3kN0wwRwXN3g="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@osovv%2fvv-opencode@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4674828},"main":"./dist/index.js","name":"@osovv/vv-opencode","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.8","opencode":">=2.0.18 <2.0.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./plugins/guardian":{"types":"./dist/plugins/guardian/index.d.ts","import":"./dist/plugins/guardian/index.js"},"./plugins/workflow":{"types":"./dist/plugins/workflow/index.d.ts","import":"./dist/plugins/workflow/index.js"},"./plugins/analytics":{"types":"./dist/plugins/analytics/index.d.ts","import":"./dist/plugins/analytics/index.js"},"./plugins/web-tools":{"types":"./dist/plugins/web-tools/index.d.ts","import":"./dist/plugins/web-tools/index.js"},"./plugins/peak-hours":{"types":"./dist/plugins/peak-hours/index.d.ts","import":"./dist/plugins/peak-hours/index.js"},"./plugins/spec-guard":{"types":"./dist/plugins/spec-guard/index.d.ts","import":"./dist/plugins/spec-guard/index.js"},"./plugins/model-roles":{"types":"./dist/plugins/model-roles/index.d.ts","import":"./dist/plugins/model-roles/index.js"},"./plugins/hashline-edit":{"types":"./dist/plugins/hashline-edit/index.d.ts","import":"./dist/plugins/hashline-edit/index.js"},"./plugins/secrets-redaction":{"types":"./dist/plugins/secrets-redaction/index.d.ts","import":"./dist/plugins/secrets-redaction/index.js"},"./plugins/tool-history-compaction":{"types":"./dist/plugins/tool-history-compaction/index.d.ts","import":"./dist/plugins/tool-history-compaction/index.js"},"./plugins/system-context-injection":{"types":"./dist/plugins/system-context-injection/index.d.ts","import":"./dist/plugins/system-context-injection/index.js"}},"gitHead":"92ebce6bfa4a25511175c66c690acebe41c24ae0","license":"MIT","scripts":{"fmt":"oxfmt --write src","lint":"oxlint --deny warnings src","test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/workflow && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md","check":"bun run typecheck && bun run lint && bun run fmt:check && bun run grace:check && bun run contracts:check && bun test","start":"node server.js","e2e:v2":"bun scripts/e2e-v2.ts --full","prepare":"lefthook install --force","fmt:check":"oxfmt --check src","tui:local":"bun scripts/tui-local.ts","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"bun run build && bun scripts/check-package.ts && bun scripts/check-tool-contracts.ts --packed","grace:check":"bun scripts/check-grace-markup.ts","release:bump":"bun scripts/release-bump.ts","release:check":"bun scripts/release-check.ts","contracts:host":"bun scripts/check-tool-contracts-host.ts","prepublishOnly":"bun run build","contracts:check":"bun scripts/check-tool-contracts.ts","contracts:generate":"bun scripts/check-tool-contracts.ts --generate"},"version":"2.1.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"cc584231-441c-4661-8270-50e310ec5d0b"}},"homepage":"https://github.com/osovv/vv-opencode#readme","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"_npmVersion":"11.19.0","description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","directories":{},"maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.17.1","zod":"4.1.8","citty":"0.2.2","effect":"4.0.0-rc.112","turndown":"^7.2.4","htmlparser2":"^12.0.0","@opencode/ai":"2.0.18","jsonc-parser":"3.3.1","@clack/prompts":"^1.2.0","@opencode/client":"2.0.18","@opencode/plugin":"2.0.18","@opencode/schema":"2.0.18","@opencode/protocol":"2.0.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.8","devDependencies":{"oxfmt":"0.43.0","oxlint":"1.58.0","lefthook":"2.1.5","solid-js":"1.9.15","bun-types":"1.3.11","typescript":"5.8.2","@types/node":"22.13.9","@opentui/core":"0.5.12","@opentui/solid":"0.5.12","@commitlint/cli":"^19.0.0","@opentui/keymap":"0.5.12","@types/turndown":"^5.0.6","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"solid-js":">=1.9.0","@opentui/core":">=0.5.12","@opentui/solid":">=0.5.12"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vv-opencode_2.1.4_1791017100878_0.3073745261534482"}}},"time":{"created":"2026-04-06T10:05:29.702Z","modified":"2026-10-03T08:45:01.351Z","0.1.0":"2026-04-06T10:05:29.951Z","0.2.1":"2026-04-06T11:31:23.762Z","0.2.2":"2026-04-06T12:04:28.478Z","0.2.3":"2026-04-06T12:15:50.030Z","0.2.4":"2026-04-06T12:49:54.413Z","0.2.5":"2026-04-06T13:13:12.403Z","0.3.0":"2026-04-06T17:09:10.671Z","0.3.3":"2026-04-06T17:44:20.430Z","0.4.1":"2026-04-07T05:52:27.051Z","0.5.0":"2026-04-07T07:58:09.408Z","0.5.1":"2026-04-07T08:18:27.532Z","0.5.2":"2026-04-07T08:34:58.186Z","0.5.3":"2026-04-07T09:10:59.567Z","0.5.4":"2026-04-07T10:59:21.399Z","0.5.5":"2026-04-07T11:18:40.455Z","0.6.0":"2026-04-07T13:54:41.492Z","0.6.1":"2026-04-07T14:25:04.835Z","0.7.1":"2026-04-07T15:12:17.524Z","0.8.0":"2026-04-07T16:49:14.435Z","0.8.1":"2026-04-07T17:42:29.942Z","0.9.1":"2026-04-07T19:49:04.967Z","0.10.0":"2026-04-08T10:04:27.275Z","0.11.0":"2026-04-08T11:59:35.949Z","0.12.0":"2026-04-08T12:41:31.611Z","0.13.0":"2026-04-08T13:11:59.964Z","0.14.0":"2026-04-08T18:17:18.692Z","0.16.0":"2026-04-09T07:44:55.162Z","0.17.0":"2026-04-09T12:42:10.922Z","0.17.1":"2026-04-13T08:10:18.079Z","0.17.2":"2026-04-13T08:26:49.590Z","0.17.3":"2026-04-13T12:20:38.747Z","0.17.4":"2026-04-13T14:49:53.773Z","0.18.0":"2026-04-13T15:59:03.683Z","0.19.0":"2026-04-16T10:47:52.970Z","0.21.0":"2026-04-19T21:12:34.476Z","0.24.0":"2026-04-21T14:59:18.496Z","0.24.1":"2026-04-21T15:22:31.366Z","0.24.2":"2026-04-22T09:28:57.675Z","0.24.3":"2026-04-22T10:01:45.909Z","0.25.0":"2026-04-22T12:58:21.576Z","0.25.1":"2026-04-23T14:10:50.082Z","0.25.2":"2026-04-23T15:17:03.449Z","0.25.3":"2026-04-24T07:37:54.138Z","0.25.4":"2026-04-24T07:59:02.180Z","0.25.5":"2026-04-24T10:44:25.388Z","0.25.6":"2026-04-28T08:09:01.500Z","0.25.7":"2026-04-28T08:20:57.296Z","0.26.0":"2026-04-28T09:35:10.178Z","0.27.0":"2026-04-28T13:08:38.159Z","0.27.1":"2026-04-28T14:03:07.341Z","0.27.2":"2026-04-29T11:44:29.574Z","0.28.0":"2026-04-30T16:19:51.069Z","0.29.0":"2026-05-01T05:31:47.056Z","0.29.1":"2026-05-01T07:01:20.268Z","0.30.1":"2026-05-02T08:03:55.816Z","0.30.2":"2026-05-06T20:03:38.648Z","0.31.0":"2026-05-07T08:10:42.089Z","0.31.1":"2026-05-07T10:21:40.375Z","0.31.2":"2026-05-13T06:33:36.797Z","0.32.0":"2026-05-13T07:07:13.107Z","0.32.1":"2026-05-13T09:15:51.704Z","0.32.2":"2026-05-13T09:54:16.190Z","0.32.3":"2026-05-13T13:12:07.425Z","0.33.1":"2026-05-14T06:43:46.239Z","0.34.0":"2026-05-19T12:27:39.983Z","0.34.1":"2026-05-19T12:56:24.589Z","0.34.3":"2026-05-19T13:53:42.895Z","0.34.4":"2026-05-19T13:57:50.071Z","0.35.0":"2026-06-01T09:16:05.109Z","0.35.1":"2026-06-03T08:26:21.463Z","0.35.4":"2026-06-09T10:05:11.659Z","0.35.5":"2026-06-10T13:21:17.429Z","0.35.9":"2026-06-13T16:22:30.246Z","0.35.10":"2026-06-13T16:44:34.089Z","0.35.11":"2026-06-13T17:46:32.876Z","0.35.12":"2026-06-13T19:45:24.461Z","0.35.13":"2026-06-14T07:45:45.556Z","0.35.15":"2026-06-14T09:41:25.968Z","0.35.16":"2026-06-14T14:35:38.825Z","0.35.17":"2026-06-14T15:41:47.423Z","0.35.18":"2026-06-15T09:31:22.042Z","0.35.19":"2026-06-15T10:00:24.944Z","0.35.20":"2026-06-16T11:48:02.511Z","0.35.21":"2026-06-16T15:11:27.703Z","0.35.22":"2026-06-18T17:00:21.163Z","0.35.23":"2026-06-18T20:24:33.645Z","0.35.24":"2026-06-18T21:25:42.519Z","0.35.26":"2026-06-19T21:25:06.787Z","0.35.27":"2026-06-20T20:40:13.912Z","0.35.28":"2026-06-21T20:53:47.016Z","0.35.29":"2026-06-22T07:06:04.039Z","0.35.30":"2026-06-24T12:33:48.605Z","0.35.31":"2026-06-25T13:08:28.143Z","0.35.32":"2026-06-26T11:01:09.496Z","0.35.33":"2026-06-26T12:10:02.344Z","1.0.0":"2026-07-03T19:28:04.242Z","1.0.1":"2026-07-10T07:39:47.091Z","1.0.2":"2026-07-10T07:58:39.428Z","1.1.0":"2026-07-11T10:42:14.412Z","1.1.1":"2026-07-16T07:42:15.637Z","1.1.2":"2026-07-16T09:14:20.452Z","1.1.3":"2026-07-16T10:38:06.071Z","1.1.5":"2026-07-16T19:38:45.994Z","1.1.6":"2026-07-17T03:54:05.662Z","1.2.0":"2026-07-26T18:27:57.793Z","1.2.1":"2026-07-27T06:14:36.632Z","1.2.2":"2026-08-11T07:47:38.448Z","1.2.3":"2026-08-11T12:01:47.358Z","1.2.5":"2026-08-12T15:15:21.769Z","1.2.6":"2026-08-13T08:23:51.186Z","1.2.7":"2026-08-14T18:48:11.430Z","1.2.8":"2026-08-18T08:43:53.565Z","1.2.10":"2026-08-18T12:37:12.548Z","1.2.11":"2026-08-18T13:13:43.495Z","1.3.0":"2026-08-19T08:42:59.902Z","1.3.1":"2026-08-19T09:30:06.696Z","1.3.2":"2026-08-19T11:29:32.365Z","1.3.3":"2026-08-19T11:43:47.624Z","1.3.4":"2026-08-19T16:55:14.928Z","1.3.5":"2026-08-21T06:28:13.850Z","1.3.6-rc.0":"2026-08-21T15:12:00.005Z","1.3.6-rc.1":"2026-08-25T06:18:46.798Z","1.3.6-rc.2":"2026-08-25T06:41:35.179Z","1.3.6-rc.3":"2026-08-25T07:22:32.923Z","1.3.6-rc.4":"2026-08-26T17:18:11.983Z","1.3.6-rc.5":"2026-08-26T18:14:30.327Z","1.3.6-rc.6":"2026-08-27T06:21:05.029Z","1.3.6-rc.7":"2026-08-29T11:41:54.663Z","1.3.6-rc.8":"2026-08-29T13:57:37.506Z","1.3.6":"2026-09-02T07:44:01.820Z","1.3.7":"2026-09-09T13:13:51.372Z","1.3.8":"2026-09-09T16:51:07.249Z","1.4.0":"2026-09-11T05:52:26.847Z","1.4.1":"2026-09-11T09:31:16.478Z","1.4.2":"2026-09-11T12:23:53.067Z","1.4.3-rc.0":"2026-09-12T15:07:25.769Z","1.4.3-rc.1":"2026-09-12T20:47:39.324Z","1.4.3":"2026-09-22T06:20:50.893Z","1.4.4":"2026-09-22T10:13:51.156Z","1.4.5":"2026-09-22T10:49:43.819Z","1.5.0":"2026-09-22T20:34:01.594Z","1.6.0":"2026-09-24T19:22:28.139Z","1.7.0":"2026-09-25T13:33:56.951Z","2.0.0":"2026-09-26T10:34:44.119Z","2.0.1":"2026-09-26T10:58:55.092Z","2.1.0":"2026-10-01T09:57:12.426Z","2.1.1":"2026-10-02T06:20:46.191Z","2.1.2":"2026-10-02T07:26:20.822Z","2.1.3":"2026-10-03T08:05:13.601Z","2.1.4":"2026-10-03T08:45:01.025Z"},"bugs":{"url":"https://github.com/osovv/vv-opencode/issues"},"license":"MIT","homepage":"https://github.com/osovv/vv-opencode#readme","keywords":["opencode","opencode-plugin","plugins","workflow","agent-workflow","ai-agent","agent-framework","llm","spec-to-code","bun","cli","typescript","developer-tools","guardian","prompt-engineering","security"],"repository":{"url":"git+https://github.com/osovv/vv-opencode.git","type":"git"},"description":"An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.","maintainers":[{"name":"osovv","email":"chendemerov.aleksey@gmail.com"}],"readme":"# @osovv/vv-opencode\n\n**An opinionated agentic development layer for OpenCode** — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety. Under the hood it ships as a set of OpenCode plugins, managed agents, skills, and the `vvoc` CLI.\n\n<p>\n  <a href=\"https://www.npmjs.com/package/@osovv/vv-opencode\"><img src=\"https://img.shields.io/npm/v/%40osovv%2Fvv-opencode?style=flat&label=npm&color=blue\" alt=\"npm\"></a>\n  <a href=\"https://github.com/osovv/vv-opencode/actions/workflows/publish.yml\"><img src=\"https://github.com/osovv/vv-opencode/actions/workflows/publish.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://github.com/osovv/vv-opencode/releases\"><img src=\"https://img.shields.io/github/v/release/osovv/vv-opencode?style=flat&label=release\" alt=\"release\"></a>\n  <a href=\"https://github.com/osovv/vv-opencode\"><img src=\"https://img.shields.io/github/stars/osovv/vv-opencode?style=flat&color=yellow\" alt=\"stars\"></a>\n  <a href=\"https://bun.sh\"><img src=\"https://img.shields.io/badge/runtime-bun-%23f9f9f9?style=flat&logo=bun\" alt=\"bun\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/github/license/osovv/vv-opencode?style=flat&color=green\" alt=\"MIT\"></a>\n</p>\n\nOpenCode owns the mechanics: streaming, model invocation, sandboxing, permissions. The development *process* — when to clarify, when to plan, when to review, how to survive long runs — it leaves up to you.\n\nvv-opencode adds that process layer. It is a hand-picked workflow crystallized from a year and a half of daily agentic development: you run `vvoc install`, learn three skills (`vv-spec`, `vv-plan`, `vv-execute`), and get a disciplined spec-to-code pipeline with review gates, portable model roles, and long-run safety — without needing to know how any of it works inside.\n\nThe spec pipeline is the most visible part, but it is only one layer. Everything underneath runs on every session whether or not you ever write a spec: each model edits files through the tool it knows best, routine permissions are approved without interrupting your run, secrets never reach the model, and multi-agent work is held together by an explicit state machine instead of prompt luck. If you already have your own spec tooling, keep it — the runtime layers below apply anyway.\n\n---\n\n## Why vv-opencode?\n\nOpenCode is a strong, flexible base, but it intentionally leaves the development process up to you. Left to itself, agentic work tends to drift: requirements get skipped, one agent silently implements and \"reviews\" itself, multi-agent loops churn through \"one more final review\", long runs stall on permission prompts, and model choices are hardcoded everywhere.\n\nvv-opencode addresses each of these:\n\n- **Formalized trajectories** — small changes stay direct, unclear bugs start with investigation, large changes go through spec and plan, risky implementation uses review loops.\n- **Spec-first by default** — broad requests become explicit specs, plans, and review gates before implementation, and every artifact is saved as grep-able XML.\n- **Review-driven execution** — implementation, spec review, and code review are separate steps with bounded retries, not one agent silently doing everything.\n- **A state machine for multi-agent work** — explicit work items, required reviewers, round limits, and hard stops instead of free-form subagent loops.\n- **Portable model choices** — agents reference roles like `vv-role:smart` and `vv-role:fast`; you map roles to concrete models per machine or project and switch stacks with one preset command.\n- **Per-model editing** — each model edits through the tool it knows best: DeepSeek gets its `str_replace_editor` contract, GLM/Qwen/Kimi use the host built-in `edit`, GPT keeps the host `apply_patch` path, and unmatched models get the plugin's `hashline_edit`. Routing is resolved dynamically per session and exposes exactly one edit tool to each model.\n- **Provider-neutral web tools** — agents get one canonical `web_search` and `web_fetch` contract backed by Exa, Brave, Z.AI, native retrieval, or Spider, instead of provider-specific search and reader schemas leaking into your prompts.\n- **Long-run safety** — Guardian auto-approves routine low-risk permissions (risky ones stay in OpenCode's manual approval flow), and secrets are redacted before they reach the model.\n- **Reproducible setup** — `vvoc install` / `vvoc sync` recreate the same workflow on any machine or project.\n\n---\n\n## You just talk to OpenCode normally\n\nYou don't need to learn a command surface first. Ask for what you want — `vv-controller` picks the lightest appropriate trajectory, and explicit skills take over only when the work needs them:\n\n```text\n> Rename this field and update its tests.\n→ handled directly\n\n> Why does auth occasionally return 401 after a token refresh?\n→ root-cause investigation first → targeted fix → verification\n\n> Add organizations with role-based access.\n→ vv-spec → approval → vv-plan → approval → vv-execute\n                               ├─ implement\n                               ├─ spec review\n                               └─ code review\n```\n\nEvery managed skill can also be invoked explicitly when you want to drive the process yourself.\n\n---\n\n## Quick start\n\n```bash\nbun add -g @opencode/cli@2.0.18   # native OpenCode host, pinned to the supported window\nbun add -g @osovv/vv-opencode\nvvoc install\n```\n\n`vvoc install` does four things:\n\n- pins `@osovv/vv-opencode` once in the native OpenCode `plugins` array — the host resolves that package's `./server` export for server plugins and its `./tui` export for the terminal UI;\n- scaffolds the managed agents and skills and registers them through the native `agents` and `skills` config;\n- writes the canonical `vvoc.json` config;\n- sets `vv-controller` as your default OpenCode agent (`default_agent`), with the spec, planning, review, reflection, and handoff skills auto-triggering by request type.\n\nvv-opencode supports OpenCode `>=2.0.18 <2.0.19` only — V1 hosts and 2.0.19 or newer are outside the supported window, and `vvoc install`/`init`/`sync`/`launch` fail closed with the exact window when the installed host does not match. `vvoc status` and `vvoc doctor` report the installed host version next to that window (`OpenCode supported range: >=2.0.18 <2.0.19`) without changing any files. Install the host from npm as `@opencode/cli` (its `opencode` binary) or from the matching official binary distribution; do not install the legacy `opencode-ai` V1 host.\n\n**Want to try it without touching your global setup?** Scope everything to one project:\n\n```bash\nvvoc install --scope project\nvvoc launch --scope project\n```\n\nProject scope writes only to `./.opencode/` and `./.vvoc/`. A plain `opencode` launch may still apply OpenCode's native config discovery and merge behavior; `vvoc launch --scope project` is the hard sandbox path — it starts OpenCode with `OPENCODE_CONFIG` and `VVOC_CONFIG` pinned to the selected local files (and pins the native `OPENCODE_CONFIG_DIR` discovery root when the selected config sits outside the default one, so generated sibling agents and skills are still found), so you can smoke-test vv-opencode in one repository without mutating your primary global setup.\n\n> **Already installed?** Run `vvoc sync` anytime to refresh plugins, prompts, skills, and presets.\n\n### Upgrading from vvoc 1.x with a V1 OpenCode host\n\n`vvoc 2.x` is native-only and requires the OpenCode 2.0.18 host. On a machine still running a V1 OpenCode host, `vvoc upgrade` installs `vvoc 2.x`, detects the unsupported host, prints a best-effort method-aware install command, and exits non-zero; it never installs or replaces OpenCode itself. After you install the supported host, the next `vvoc sync` materializes the legacy `opencode.json(c)` into the native V2 shape, validates the result, and writes a timestamped `*.vvoc-backup-<timestamp>` sibling before replacing the file. V1 fields that need a manual decision (provider filters, accepted-but-unsupported fields, `lsp`, or ambiguous provider/model shapes) abort the migration without writing and print a checklist. A legacy `tui.json(c)` is reported, never deleted; OpenCode migrates its own terminal client settings to `cli.json`.\n\n---\n\n## How it works: spec → plan → execute\n\nvvoc keeps larger agentic work from jumping straight into edits. A request first becomes explicit artifacts; only the approved plan gets executed, with bounded implementation and review loops. This trajectory is opt-in per request: small changes never go through it, and if you already run your own spec workflow, you can keep it — nothing else in vv-opencode depends on these skills.\n\n```\nRequest / idea\n   ↓\nvv-spec\n   asks clarifying questions\n   writes .vvoc/specs/YYYY-MM-DD-<slug>/spec.xml\n   waits for spec approval\n   ↓\nvv-plan\n   reads the approved spec\n   writes .vvoc/specs/YYYY-MM-DD-<slug>/plan.xml\n   defines tasks, contracts, dependencies, and acceptance criteria\n   waits for plan approval\n   ↓\nvv-execute\n   applies the approved plan task by task\n   runs implementation + review internally\n   verifies before moving on\n   ↓\nVerified result\n```\n\nInside `vv-execute`, each plan task goes through a tracked loop:\n\n```text\nEach plan task\n   ↓\nvv-implementer\n   implements the focused task and runs targeted verification\n   ↓\nvv-spec-reviewer\n   checks whether the result matches the approved spec\n   ↓\nvv-code-reviewer\n   checks bugs, regressions, maintainability, and missing tests\n   ↓\nverification\n   pass → next task\n   fail → bounded retry loop\n   needs context / blocked → stop and ask the user\n```\n\nAll artifacts for one feature live together:\n\n```text\n.vvoc/specs/YYYY-MM-DD-<slug>/\n  spec.xml            # what should be built and why\n  design-context.xml  # optional design memory\n  plan.xml            # how to implement and verify it\n```\n\nPackage ids are date-prefixed (`YYYY-MM-DD-<slug>`, for example `2026-06-24-cache-store`) so active packages sort by creation date; the prefix is date-only, never a full timestamp. Spec and plan lifecycle runs through a top-level status: `draft` while being written, `approved` after explicit user approval, `applied` after successful execution. `vv-execute` archives applied packages by moving the whole directory to `.vvoc/specs/archive/YYYY-MM-DD-<slug>-<timestamp>/`.\n\nSpecs and plans are XML, so requirements, tasks, acceptance criteria, and dependencies stay grep-able. Identity lives in unique element names — tasks and waves as `<TASK-T-001>…</TASK-T-001>` and `<WAVE-1>…</WAVE-1>`, spec and plan components as `<COMPONENT-CACHE-STORE>…</COMPONENT-CACHE-STORE>` — so grep/sed extraction stays exact without a separate query language. Field names use snake_case; component references are bare slugs; plan architecture components always reuse the exact identities declared in spec.xml, so a plan component without a spec component is a lint error, not a convention breach:\n\n```bash\ngrep '<TASK-T-' .vvoc/specs/*/plan.xml      # task ids\ngrep '<criterion>' .vvoc/specs/*/plan.xml   # acceptance criteria\ngrep '<task_id>' .vvoc/specs/*/plan.xml     # dependency graph\ngrep '<COMPONENT-' .vvoc/specs/*/*.xml      # component map across spec and plan\n```\n\n`vv-controller` explicitly routes `vv-spec`, `vv-plan`, and `vv-review`; `vv-execute`, `vv-reflect`, and `vv-handoff` are available as managed skills for plan execution, durable repository memory, and end-of-session handoff notes.\n\n---\n\n## What's inside\n\n### The eleven server plugins and the native TUI\n\nEleven server plugins run inside the OpenCode server process; the twelfth entry, **ContextTuiPlugin**, runs in the terminal UI through the same pinned package's `./tui` export.\n\n| Plugin | What it does |\n|---|---|\n| **WorkflowPlugin** | A state machine over multi-agent work: explicit work items, required reviewers, bounded implementation/review rounds, and hard stops when more context is needed. |\n| **ModelRolesPlugin** | Semantic model roles (`vv-role:smart`, `vv-role:fast`, …) instead of hardcoded model IDs in agents, subagents, and commands — resolved from the effective vvoc role map plus the native `modelIntent` envelope each time a session family binds its snapshot. |\n| **GuardianPlugin** | Keeps long or AFK runs moving by auto-approving routine low-risk permission requests; anything risky stays in OpenCode's normal manual approval flow. |\n| **HashlineEditPlugin** | Routes each model to exactly one native edit tool (host `edit` for GLM/Qwen/Kimi, host `apply_patch` for GPT, `str_replace_editor` for DeepSeek, `hashline_edit` for unmatched models) and hides the other edit tools per session. |\n| **SystemContextInjectionPlugin** | Injects universal guidance — including correctness obligations and evidence discipline for behavior changes — plus the work policy selected by the orchestration profile into vv-controller at startup; subagents stay unpolluted. Skill discovery is registered by `vvoc install`/`sync` through the native `skills` config, not by a plugin. |\n| **SecretsRedactionPlugin** | Redacts tokens, keys, emails, and other sensitive values before messages reach the model, restoring them only where local execution needs the originals. |\n| **WebToolsPlugin** | Two provider-neutral tools — `web_search` and `web_fetch` — over Exa, Brave, Z.AI, native retrieval, or Spider, with permission checks and normalized output. |\n| **ToolHistoryCompactionPlugin** | Shrinks the context replayed to the model by compacting old tool outputs non-destructively, without touching on-disk history. |\n| **AnalyticsPlugin** | Local-only token and cache telemetry per model step, a live `cache NN%` indicator in the TUI, and `vvoc analytics cache-hit-rate` for retrospective comparison. |\n| **PeakHoursPlugin** | Warns or blocks models whose provider is in peak-priced hours right now, suggests connected off-peak providers, and shows a persistent orange banner in the TUI. |\n| **SpecGuardPlugin** | Deterministic host-side verification of spec-package artifacts: annotates reads with lint verdicts and validates writes; in enforce mode refuses writes that would break the format. |\n| **ContextTuiPlugin** | The `/context` inspector: an honest, scrollable TUI dialog showing context-window usage by category, tool, and MCP server. |\n\n### Managed agents\n\nAll prompt files are scaffolded by `vvoc install` / `vvoc sync`:\n\n| Agent | When it helps |\n|---|---|\n| `vv-controller` | Primary agent that follows the concrete work policy selected for the session by the orchestration profile |\n| `enhancer` | Improves rough requests before execution when a clearer prompt would help |\n| `vv-implementer` | Applies a focused approved change and verifies it before reporting completion |\n| `vv-spec-reviewer` | Checks whether implementation matches the requested spec and acceptance criteria |\n| `vv-code-reviewer` | Looks for bugs, regressions, maintainability risks, and missing tests |\n| `investigator` | Finds the root cause first when behavior is unclear or a failure needs diagnosis |\n| `guardian` | Supports GuardianPlugin by reviewing permission requests and auto-approving only routine low-risk ones |\n\nManaged prompts and the universal guidance injected into primary sessions carry explicit correctness obligations. For behavior changes, agents derive the material properties that must be preserved from the request and established contracts, separate write scope from impact and verification scope, investigate directly affected consumers, challenge a material assumption with a diagnostic counterexample, and choose verification at the level the risk arises. Controllers tie completion claims to observed evidence rather than status markers; reviewers distinguish no discovered defect from sufficient support for a material claim and can fail a change for a material verification gap. Agents also keep evidence-supported conclusions settled until a concrete trigger — contradictory evidence, a specific counterexample, a changed requirement, or changed inputs — reopens them; they surface false premises instead of silently satisfying them, distinguish unsupported pressure from concrete evidence, and interpret test results as evidence against the request and contracts rather than as the specification. These obligations are prompt-level guidance only: `vvoc install` / `vvoc sync` deliver the current wording, changes take effect after an OpenCode restart like all vvoc config changes, and the bundled contract tests check instruction delivery and wording — they do not evaluate or guarantee how a real model behaves.\n\n### Managed skills\n\nTwo families: `vv-*` skills guide the work protocol, while `vvoc-*` skills operate and observe the vvoc/OpenCode tooling itself.\n\n| Skill | When to use it | What it gives you |\n|---|---|---|\n| `vv-spec` | You have a feature or creative request and no agreed contract yet | A guided interview, recommended options, and a saved spec in `.vvoc/specs/YYYY-MM-DD-<slug>/spec.xml` |\n| `vv-plan` | A spec is approved and ready to implement | A task-level implementation plan with file targets, contracts, dependencies, and acceptance criteria |\n| `vv-execute` | A plan is approved and you want it applied step by step | Ordered execution with verification, an explicit inline-or-classic mode choice, and applied spec/plan archival |\n| `vv-review` | You want findings, not fixes | A review-only workflow that reports spec/code issues and stops before implementation |\n| `vv-reflect` | A long development, debugging, ops, or investigation session produced reusable knowledge | Durable notes in existing docs or `.vvoc/lessons` / `.vvoc/runbooks` for future agents |\n| `vv-handoff` | You are ending a session and want the visible context preserved | A redacted XML note at `.vvoc/handoff/YYYY-MM-DD-<session-slug>/handoff.xml`, written from already-visible context only |\n| `vvoc-usage-analytics` | You ask about token usage, cache hit rate, costs, or caching regressions | Read-only analysis across `vvoc analytics`, the analytics JSONL, and historical `opencode.db` data |\n\nSkills are loaded by OpenCode at session start through the native `skills` string array in `opencode.json(c)` — `vvoc install`/`sync` write the path reference and maintain the OpenCode skills-directory symlink — and the `vv-controller` agent's skill-trigger rules invoke them automatically when a request matches their conditions.\n\n---\n\n## CLI at a glance\n\n| Command | Purpose |\n|---|---|\n| `vvoc init` | Interactive bootstrap flow |\n| `vvoc install` | Non-interactive setup and scaffolding |\n| `vvoc sync` | Refresh native plugins/agents/skills registrations, prompts, skills, config |\n| `vvoc launch` | Launch OpenCode with deterministic runtime and vvoc config sources after a host-window preflight |\n| `vvoc status` | Show current installation state, including the installed OpenCode version against the supported window and combined-package registration |\n| `vvoc doctor` | Diagnose OpenCode version/window/runtime/vvoc setup problems (exits non-zero on issues) |\n| `vvoc config validate` | Validate canonical `vvoc.json` |\n| `vvoc role list\\|set\\|unset` | Manage model role assignments |\n| `vvoc preset list\\|show\\|<name>` | Inspect or apply named presets |\n| `vvoc guardian config` | Print or write the guardian section |\n| `vvoc plugin list` | List OpenCode plugin entries |\n| `vvoc plugin enable\\|disable` | Toggle a vvoc-managed plugin on or off |\n| `vvoc orchestration show\\|set` | Show or set the vv-controller orchestration profile |\n| `vvoc patch-provider stepfun-ai\\|codex\\|deepseek\\|alibaba\\|zai\\|xiaomi\\|all` | Patch OpenCode providers; `codex` adds real gpt-5.5/5.6/6 models with effort variants (also accepts `openai`), `deepseek`/`alibaba`/`zai`/`xiaomi` add `#variant` suffixes on real models, `stepfun-ai` sets the StepFun `.ai` baseURL, `all` patches every provider at once |\n| `vvoc completion` | Install shell completions |\n| `vvoc upgrade` | Upgrade the global package and run follow-up sync; sync failure or an out-of-window host exits non-zero with best-effort method-aware host guidance |\n| `vvoc analytics cache-hit-rate` | Aggregate persisted cache hit rate by day, week, month, session, model, provider, project, vvoc version, or OpenCode version |\n| `vvoc version` | Print installed version |\n\nGuardian duration overrides use positive whole milliseconds. Both `--timeout-ms` and `--review-toast-duration-ms` reject zero, negative, fractional, missing, or malformed values:\n\n```bash\nvvoc guardian config --print --timeout-ms 30000 --review-toast-duration-ms 5000\n```\n\n---\n\n## Configuration\n\nMutating commands default to global scope for backward compatibility; add `--scope project` to write a project-local layer. Read and diagnostic commands accept `--scope global|project|effective`, where `effective` resolves in this order:\n\n1. explicit env override (`VVOC_CONFIG` / `OPENCODE_CONFIG`, with `OPENCODE_CONFIG_DIR` selecting the native discovery root)\n2. nearest project layer\n3. global layer\n4. built-in defaults when the command/runtime permits defaults\n\nCanonical project-local paths:\n\n```text\nOpenCode config          → ./.opencode/opencode.json(c)\nvvoc config              → ./.vvoc/vvoc.json\nManaged agent prompts    → ./.vvoc/agents/*.md\nManaged skills           → ./.vvoc/skills/*/SKILL.md\nSpec package directory   → ./.vvoc/specs/YYYY-MM-DD-<slug>/\nHandoff notes            → ./.vvoc/handoff/YYYY-MM-DD-<session-slug>/handoff.xml\nRepository memory        → ./.vvoc/lessons/*.xml, ./.vvoc/runbooks/*.xml\n```\n\nLegacy root-level `./opencode.json` and `./opencode.jsonc` are intentionally not used as vvoc project layers. vvoc writes no `tui.json(c)`: the terminal UI reads its own process settings from the native `cli.json`, which vvoc leaves alone, and the TUI loads the vvoc package through the server plugin inventory instead.\n\nGlobal paths:\n\n```text\nOpenCode config          → $XDG_CONFIG_HOME/opencode/opencode.json\nvvoc config              → $XDG_CONFIG_HOME/vvoc/vvoc.json\nManaged agent prompts    → $XDG_CONFIG_HOME/vvoc/agents/*.md\nManaged skills           → $XDG_CONFIG_HOME/vvoc/skills/*/SKILL.md\nPersisted data           → $XDG_DATA_HOME/vvoc/\nUsage analytics          → $XDG_DATA_HOME/vvoc/analytics/usage-YYYY-MM.jsonl\n```\n\n### One pinned package in the native plugins array\n\nOpenCode 2.x keeps one native config document per process. `opencode.json(c)` is loaded by the core/server plugin runtime and activates vvoc features such as model roles, Guardian, workflow, hashline edit, redaction, and web tools. The terminal UI process takes its own settings (tabs, keybinds, TUI-only plugin entries) from the native `cli.json`, and it also loads the TUI entrypoints of the plugins carried by the server inventory. vv-opencode uses that directly: the same pinned package entry (for example `@osovv/vv-opencode@X.Y.Z`) is registered once in the native `plugins` array, the host resolves its `./server` export for the server runtime and its `./tui` export for the terminal UI, and headless/server launches never load the UI module.\n\n`vvoc install`, `vvoc init`, and `vvoc sync` conservatively write that single pinned base-package entry — a string, or a `{ \"package\": …, \"options\": … }` object — into the native `plugins` array; sync also migrates the broken legacy `@osovv/vv-opencode/tui` form and older managed pins. Existing comments, unrelated settings, unrelated plugin entries, and their `options` are preserved; malformed plugin entries fail without rewrite. Supported V1 document shapes are materialized into the native V2 shape by `vvoc sync` once the host is inside the supported window, using the official OpenCode V1-to-V2 migration guide, with a timestamped `*.vvoc-backup-<timestamp>` sibling and validate-before-write. Residual or ambiguous V1 fields are refused before any mutation, so `plugin`, `agent`, `provider`, `command`, `small_model`, and `tools` never remain in a document vvoc writes.\n\nThe native document shape vvoc validates, extends, and writes into:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"default_agent\": \"vv-controller\",\n  \"plugins\": [\n    { \"package\": \"@osovv/vv-opencode@1.7.0\", \"options\": { \"modelIntent\": { \"model\": \"vv-role:smart\" } } }\n  ],\n  \"agents\": { \"vv-controller\": {} },\n  \"skills\": [\"./.vvoc/skills\"],\n  \"providers\": {},\n  \"permissions\": {}\n}\n```\n\n`plugins` is an array of package strings or `{package, options}` objects (plus `-target` removal directives); `agents` holds per-agent overrides while agent prompts live as discovered markdown; `skills` is a string array of discovery paths; `providers` carries patched provider/model objects; `permissions` carries host permission rules. There is no `plugin`/`agent`/`provider`/`command` singular key, no `small_model`, and no `tools` key.\n\nRole intent has a native home as well: the pinned package entry's `options.modelIntent` envelope (`model`, `smallModel`, `agents`, `commands`) carries root, small-model, agent, and command model intent inside the native document — native 2.0.18 has no `small_model` field and rejects role references in `model` and `agents.<id>.model`, so vv-opencode never writes a `vv-role:*` reference as a native model literal (the model-overrides APIs route role intent into the envelope instead). Role assignments themselves live in `vvoc.json`: `vvoc role set` and preset application edit only that file, and the model-roles runtime combines the effective role map with the raw envelope intent to resolve concrete `provider/model#variant` selections (for example `xiaomi/mimo-v2.6-flash#thinking`) when each session family binds its snapshot.\n\nRuntime plugins load the effective `vvoc.json` once during OpenCode startup and share one immutable config snapshot for the lifetime of the process; each session family additionally binds an immutable policy snapshot at its first accepted workload, so a bound family keeps the policy it was admitted under. There is no live reload: restart OpenCode after changing `vvoc.json`.\n\n### Strict schema, loud failures\n\nThe config contract is versioned and published with the package — source of truth at `schemas/vvoc/v3.json`. `vvoc.json` must be canonical version 3 and include required sections such as `plugins`. Existing v1/v2/pre-role, incomplete, malformed, or otherwise invalid config files fail instead of being migrated or repaired. `vvoc install` and `vvoc sync` may create a fresh canonical config when no config exists, but they refuse to rewrite an invalid existing `vvoc.json`; fix the file manually and rerun `vvoc sync`.\n\nThe optional schema-v3 `web` section follows the same layer precedence and is omitted from generated defaults — see [Web tools](#web-tools) for provider selection:\n\n```json\n\"web\": {\n  \"search\": { \"provider\": \"exa\", \"apiKey\": \"optional-exa-key\" },\n  \"fetch\": { \"provider\": \"native\" }\n}\n```\n\n### Diagnostics never mutate\n\n`vvoc status` and `vvoc doctor` report the installed OpenCode version, the exact supported window (`OpenCode supported range: >=2.0.18 <2.0.19`), selected runtime/vvoc config paths, plugin registration, and validation problems without normalizing or rewriting files. `vvoc upgrade` can still finish the package installation when the follow-up `vvoc sync` fails; it then reports a partial upgrade, leaves config unchanged, and tells you to fix the invalid config before rerunning `vvoc sync`.\n\nRuntime compatibility is window-pinned: install, init, sync, and launch refuse a host outside `>=2.0.18 <2.0.19` before touching config, Guardian evaluates permissions through the native `permission.evaluate` hook, hashline edit refs must use current hash/context anchors, and sync writes current managed agents without deleting old pre-rename user or command entries.\n\n### Release channels\n\nThe package publishes through npm dist-tags with exactly one pre-release channel, `rc`. A default `vvoc upgrade` resolves only the stable `latest` dist-tag and never offers a release candidate; pre-release versions are published with `--tag rc`, so `latest` can never move onto a candidate.\n\nOpt in explicitly when you want candidates:\n\n```bash\nvvoc upgrade --rc                # upgrade to the version currently on the rc dist-tag\nvvoc upgrade --allow-prerelease  # same behavior, kept as an alias\n```\n\nWhen the `rc` dist-tag has no published candidate yet, the command reports it and installs nothing. If you sit on `1.4.0-rc.1` and the stable `1.4.0` ships, the default `vvoc upgrade` moves you onto the stable release — semver orders `1.4.0` above its candidates. Plugin consumers can install the channel directly with `npm i -g @osovv/vv-opencode@rc`.\n\nMaintainers release candidates through the same exact-SHA CI-gated flow, with the channel derived from the bumped version:\n\n```bash\nbun run release:bump -- prerelease --preid rc   # 1.4.0-rc.1, published to the rc dist-tag, GitHub Release marked pre-release\nbun run release:bump -- prerelease --preid rc   # next candidate: 1.4.0-rc.2\nbun run release:bump -- 1.4.0                   # final stable release, published to latest\n```\n\nAn explicit `--channel latest|rc` argument may only confirm the derived channel; a contradicting value aborts the bump before any commit or publication.\n\n### Stability and compatibility\n\nSince 1.0, vv-opencode treats the daily-driver surface as stable. The compatibility surfaces are: `vvoc install` / `vvoc sync` / `vvoc launch`, the supported host window (`>=2.0.18 <2.0.19`), the managed skill names (`vv-spec`, `vv-plan`, `vv-execute`, `vv-review`, `vv-reflect`, `vv-handoff`), the published package exports, canonical vvoc schema v3, and the date-prefixed `.vvoc/specs/YYYY-MM-DD-<slug>/` artifact layout. Breaking workflow or config changes are documented in release notes. The project still prefers conservative, explicit changes over hidden migration magic: user-owned config is never silently clobbered, and invalid current config fails loudly.\n\n### Deterministic local launch\n\nUse `vvoc launch` when the vvoc-selected config files should be the only files OpenCode sees for this run:\n\n```bash\nvvoc install --scope project\nvvoc launch --scope project -- run \"hello\"\n```\n\n`vvoc launch --scope project` is strict and non-mutating: if `.opencode/opencode.json` or `.vvoc/vvoc.json` is missing, it fails with a hint to run `vvoc install --scope project`. Launch pins `OPENCODE_CONFIG` and `VVOC_CONFIG` (plus the native `OPENCODE_CONFIG_DIR` discovery root when the selected config sits outside the default one) and never synthesizes missing files. `--scope effective` follows the layered lookup order, and `--scope global` uses the global config paths.\n\n---\n\n## Deep dives\n\n### Model roles & presets\n\n```bash\n# View current assignments\nvvoc role list\nvvoc role list --scope effective\n\n# Assign models to roles (canonical provider/model#variant selections)\nvvoc role set default deepseek/deepseek-flash#max\nvvoc role set smart zai-coding-plan/glm-5.3#max\nvvoc role set fast openai/gpt-6-luna#low\nvvoc role set reviewer zai-coding-plan/glm-5.3#max --scope project\n\n# Switch provider presets\nvvoc preset vv-codex\nvvoc preset vv-zai\nvvoc preset vv-deepseek\nvvoc preset vv-alibaba\nvvoc preset vv-osovv-ds\nvvoc preset vv-osovv-mimo\nvvoc preset vv-osovv-zai\nvvoc preset vv-osovv-qwen\nvvoc preset vv-astra-solo\nvvoc preset vv-astra-workers\n\n# Install the explicit-reasoning provider model patches\nvvoc patch-provider stepfun-ai  # stepfun settings.baseURL https://api.stepfun.ai/v1 + step-3.7-flash\nvvoc patch-provider codex       # real gpt-5.5/5.6/6 models + effort variants (also accepts `openai`)\nvvoc patch-provider deepseek    # deepseek-flash + deepseek-v4-flash with #max/#high variants (384K output)\nvvoc patch-provider alibaba     # qwen3.8-max#xhigh\nvvoc patch-provider zai         # glm-5.3 #high/#max + glm-5.3-flash #max\nvvoc patch-provider xiaomi      # mimo-v2.6-flash#thinking (thinking.type=enabled)\nvvoc patch-provider all         # every patch above in one run\n```\n\nBuilt-in role IDs: `default`, `smart`, `fast`, `reviewer`, plus any custom lowercase-hyphenated IDs. Presets are partial — applying one only changes the roles it defines. Managed built-in presets (`vv-*`) are refreshed from the shipped registry as part of the other work `vvoc install` and `vvoc sync` already do; neither command activates a preset or writes the active roles or orchestration profile on its own — that only happens when you run `vvoc preset <name>`.\n\nEvery shipped preset declares an explicit role matrix and orchestration profile:\n\n| Preset | default | fast | smart | reviewer | Profile |\n|---|---|---|---|---|---|\n| `vv-codex` | `openai/gpt-5.6-terra#high` | `openai/gpt-6-luna#low` | `openai/gpt-5.6-sol#xhigh` | `openai/gpt-5.6-sol#xhigh` | single-session |\n| `vv-zai` | `zai-coding-plan/glm-5.3-flash#max` | `zai-coding-plan/glm-5.3-flash#max` | `zai-coding-plan/glm-5.3#max` | `zai-coding-plan/glm-5.3#max` | balanced |\n| `vv-deepseek` | `deepseek/deepseek-flash#max` | `deepseek/deepseek-flash#max` | `deepseek/deepseek-flash#max` | `deepseek/deepseek-flash#max` | balanced |\n| `vv-alibaba` | `alibaba-token-plan/qwen3.8-max` | `alibaba-token-plan/deepseek-v4-flash` | `alibaba-token-plan/qwen3.8-max#xhigh` | `alibaba-token-plan/glm-5.2` | single-session |\n| `vv-osovv-ds` | `deepseek/deepseek-flash#max` | `openai/gpt-6-luna#low` | `deepseek/deepseek-flash#max` | `zai-coding-plan/glm-5.3#max` | single-session |\n| `vv-osovv-mimo` | `xiaomi/mimo-v2.6-flash#thinking` | `openai/gpt-6-luna#low` | `xiaomi/mimo-v2.6-flash#thinking` | `zai-coding-plan/glm-5.3#max` | single-session |\n| `vv-osovv-zai` | `xiaomi/mimo-v2.6-flash#thinking` | `openai/gpt-6-luna#low` | `zai-coding-plan/glm-5.3#max` | `zai-coding-plan/glm-5.3#max` | single-session |\n| `vv-osovv-qwen` | `xiaomi/mimo-v2.6-flash#thinking` | `openai/gpt-6-luna#low` | `alibaba-token-plan/qwen3.8-max#xhigh` | `zai-coding-plan/glm-5.3#max` | delegated |\n| `vv-astra-solo` | `xiaomi/mimo-v2.6-flash#thinking` | `openai/gpt-6-luna#low` | `openai/gpt-6-astra#max` | `zai-coding-plan/glm-5.3#high` | single-session |\n| `vv-astra-workers` | `xiaomi/mimo-v2.6-flash#thinking` | `openai/gpt-6-luna#low` | `openai/gpt-6-astra#max` | `zai-coding-plan/glm-5.3#high` | delegated |\n\n`vv-osovv-ds` replaces the former `vv-osovv-flash` offering and `vv-osovv-zai` is new; `vv-osovv-sol`, `vv-osovv-flash`, and `vv-osovv-kimi` are no longer shipped. A retired preset definition already present in a saved `vvoc.json` is preserved in place rather than migrated or removed across `vvoc install`/`vvoc sync`; delete it manually if you no longer want it. No automatic provider migration or legacy-name cleanup runs, and applying a preset changes only the roles and profile it declares.\n\nProvider patches bind real model ids with `#variant` suffixes instead of alias models. `deepseek/deepseek-flash` carries `#max` and `#high` effort variants (image input, 384000-token output limit), and `deepseek/deepseek-v4-flash#max` stays text-only with the same output limit. On `zai-coding-plan`, `glm-5.3` carries `#high` and `#max` (both text-only) and `glm-5.3-flash` carries `#max` (text, image, video, and PDF input); `alibaba-token-plan/qwen3.8-max` carries `#xhigh`. On `xiaomi`, `mimo-v2.6-flash#thinking` enables the documented thinking toggle (`thinking.type=enabled`) with no PDF declaration and no `reasoningEffort` — text/image/audio/video input, 1M context / 131K output — because the public Xiaomi API documents a thinking toggle rather than an effort knob; live thinking behavior is not smoke-verified. Codex variants keep the established OpenAI reasoning-summary and encrypted-reasoning options, with the GPT-5.5/5.6 family capped at 400K context / 272K input and GPT-6 Luna/Astra keeping 1.05M/922K/128K. The `stepfun-ai` patch keeps the StepFun `.ai` baseURL (`https://api.stepfun.ai/v1`) for `step-3.7-flash`. `gpt-5.3-codex-spark` keeps its `#medium` variant only for manual configurations that already reference it, advertised conservatively as text-only, and no shipped preset selects it. The shared `fast` role also serves `smallModel` (through the `modelIntent` envelope — native 2.0.18 has no `small_model` field), `explore`, and `guardian`; availability for those consumers is not verified until you use it. Real model access, review quality, latency, and Astra-token savings are unmeasured: metadata here describes provider capability and pricing boundaries, not benchmarked behavior, and credentialed smoke runs would require separate authorization.\n\n### Orchestration profiles\n\nFour concrete policies control how vv-controller delegates work at runtime:\n\n- `single-session` — vv-controller performs exploration, investigation, planning, implementation, and verification directly. Independent reviewer subagents remain available when the user explicitly requests review or when a materially risky completed change benefits from independent cross-model evaluation.\n- `balanced` — vv-controller keeps architecture, critical reading, and final synthesis in the primary session and may selectively delegate bounded search, investigation, mechanical implementation, or review when that is the lightest safe route. Delegation is optional, not mechanically mandatory.\n- `orchestrated` — vv-controller uses the full tracked implementer/reviewer workflow with explicit work items, required reviewers, bounded rounds, and hard stops.\n- `delegated` — implementation is delegated to workers while the primary session keeps architecture, important code reading, task contracts, explicit acceptance, and final synthesis. Source edits, tests, config changes, formatting, lint fixes, and reviewer-requested fixes — including small mechanical ones — go to workers through bounded task packets. Independent review happens at declared plan checkpoints instead of after every task; `BLOCKED` and `NEEDS_CONTEXT` remain hard stops, and stopped or exhausted work resumes only through recorded bounded recovery.\n\nPick a profile explicitly or let a built-in preset select one:\n\n```bash\nvvoc orchestration show --scope effective\nvvoc orchestration set single-session --scope project\n```\n\nBuilt-in presets declare an orchestration mapping:\n\n| Preset | Profile |\n|---|---|\n| `vv-codex` | single-session |\n| `vv-alibaba` | single-session |\n| `vv-osovv-ds` | single-session |\n| `vv-osovv-mimo` | single-session |\n| `vv-osovv-zai` | single-session |\n| `vv-astra-solo` | single-session |\n| `vv-astra-workers` | delegated |\n| `vv-osovv-qwen` | delegated |\n| `vv-zai` | balanced |\n| `vv-deepseek` | balanced |\n\nApplying a built-in preset changes both model roles and the root orchestration profile atomically. A custom user-defined preset without an orchestration section preserves the current root profile. `vvoc status` reports the profile resolved from the selected vvoc source; effective status with no config files reports `balanced`.\n\nProfiles are enforced through the concrete policy injected into vv-controller at startup — the model only receives its active work instructions and never sees inactive profile alternatives. The policy is behavioral, not a filesystem sandbox: the delegated profile instructs the controller not to write source files (and not to bypass that via shell rewrites), while runtime authorization genuinely enforces acceptance and checkpoint operations. Asynchronous vv-execute classic mode remains available through that skill's explicit inline/classic/delegated selection. Profile changes take effect after an OpenCode restart, like all vvoc config changes.\n\n### Workflow work items\n\nWorkflow work items are opened with explicit intent. For implementation loops, controllers use:\n\n```json\n{\n  \"items\": [\n    {\n      \"key\": \"implement-feature\",\n      \"title\": \"Implement feature\",\n      \"mode\": \"implementation\",\n      \"requiredReviewers\": [\"spec\", \"code\"]\n    }\n  ]\n}\n```\n\nFor review-only reports, use `\"mode\": \"review_only\"`. In review-only mode, reviewer `FAIL` is a completed finding result: required reviewers are collected independently, parallel `spec` and `code` reviewers may both return `FAIL`, and the item does not route to `vv-implementer` unless the user explicitly requests fixes.\n\n#### Delegated execution and review checkpoints\n\nThe workflow plugin registers two control tools — `work_item_decide` and `work_checkpoint` — for the primary vv-controller session independent of the startup profile. Registration is profile-independent; enforcement is not: child sessions, untrusted workspaces, and unverifiable session identity are denied by the root-controller guard.\n\nDelegated tasks are opened with `\"mode\": \"delegated\"`, an explicitly empty `requiredReviewers` array, and a declared `writeScope` of workspace-relative files. One worker (`vv-implementer`) is launched per task with a bounded packet; attempts are bound to the host call identity, so stale or duplicate callbacks fail without side effects. A `DONE` worker parks the item in `awaiting_acceptance` — it never closes the item and the worker never accepts its own result. The controller explicitly decides with `work_item_decide`:\n\n- `accept` (with rationale and evidence references) records controller acceptance and reaches `ready_to_close`. Acceptance is recorded distinctly from an independent reviewer `PASS`.\n- `request_changes` returns the task to the implementation path. Controller-directed retries are bounded to an initial attempt plus one correction; re-deciding or reopening never resets that budget. `DONE_WITH_CONCERNS` requires an explicit `concernsDisposition`.\n- `rework` reopens an accepted task only when a failed checkpoint from the same registered run covers it, preserving acceptance history and granting exactly one additional attempt.\n- `recover` resumes a stopped or exhausted unaccepted task without resetting history. Recovery targets the latest terminal attempt and requires an explicit `diagnosis`, a `changedCondition` (the changed condition or approach), `verification` references, and a stable `recoveryId`. When ordinary budget remains, recovery simply returns a stopped item to the launch gate; when an extra attempt is necessary, it grants exactly one. The first grant per target is the single autonomous allowance; every further unit requires a fresh root-user message referenced by `userMessageId`, which the runtime validates for role, owning-session identity, message identity, and a timestamp at or after the stop — never for its wording — and each message authorizes at most one unit per target. A successful recovery authorization only makes the next bounded attempt possible: it is not a successful implementation, not acceptance, and never satisfies a reviewer. Recovering a cancelled or interrupted attempt additionally requires authoritative cancellation evidence — a pinned native interrupt message that names the child session, the child's terminal `aborted` structured error, and active/inbox quiescence — and fails closed with a `CANCELLATION_EVIDENCE_REQUIRED` message while that evidence is missing, leaving settlement and budget unchanged.\n\nWorker stops stay hard stops for ordinary dispatch: a `BLOCKED` or `NEEDS_CONTEXT` result is never re-launched directly, and its recorded outcome and explanation remain historical facts. The same applies to an exhausted budget — an ordinary third launch is refused until a recorded recovery raises it. Accepted items are not recovery targets; their path is checkpoint-authorized rework.\n\nA worker can fail to launch at all: the host task wrapper rejects the call before the worker runs (for example, an unknown provider or model). The native host surfaces that thrown execution through the `tool.execute.after` hook with `status: \"error\"`, so the plugin consumes the failure as a distinct **failed attempt** from the live call binding instead of leaving `inFlightAttempt` stranded until a restart. The supported case is deliberately narrow — a fresh ordinary foreground `vv-implementer` task launch (no `background`, no `sessionID` resume, no command/subtask path) whose error message matches the exact pinned native wrapper `Subagent failed (sessionID: <child>): `, where the hook event's session and call identity select the parent binding, the wrapper names the child session, the binding's child matches, and no `completed` after-hook has already been observed for that call. When it applies, the attempt is marked `failed` with the bounded host error as evidence and a completion time, the item stays `awaiting_implementer`, and the attempt is charged against the same two-attempt budget. The controller can then explicitly retry with a new call; two failed attempts exhaust the normal budget exactly like two completed ones. A failed attempt never counts as `DONE`, cannot be accepted or decided as a successful completion, and persists across restart. Because a worker may have applied partial edits before failing, inspect the diff before retrying or closing.\n\nThis is not universal automatic error recovery. Background launches, resumed/shared/re-prompted children, cancellation or interruption (a cancelled or interrupted termination leaves the attempt in-flight and settles only through evidence-backed cancellation recovery), any subagent call whose `execute.after` already reported `completed` — latched synchronously before any parsing or repair so a later error event can never be classified as a launch failure — a replaced or mismatched child session, non-delegated launches, and unknown or non-wrapper host errors all remain fail-closed: the in-flight block is preserved and no retry is authorized from the event alone. The plugin never hydrates workflow state, infers a work item from error text, or resets a whole session because of an error event, and it does not reclassify legacy-mode or checkpoint-reviewer launches.\n\nA worker whose execution finishes but whose final report stays protocol-invalid after the bounded continuation is settled truthfully as a **rejected report**: the exact call-bound attempt is recorded as a completed execution with status `report_rejected`, a bounded diagnostic excerpt, and the protocol error code — never as `DONE`, never as a launch failure, and never as a still-in-flight attempt. When the malformed output contains an explicit `VVOC_STATUS: BLOCKED` or `NEEDS_CONTEXT` line, the observed stop is preserved (the item parks in the corresponding hard-stop state) and no continuation runs; otherwise the item returns to the launch gate with the attempt consumed. A rejected report has the same bounded recovery path as any other terminal outcome, and `work_item_list` distinguishes it from a running attempt, an exhausted budget, and a substantive stop by exposing the remaining budget and the supported next action. Unknown or still-running host outcomes (for example a non-string task output) are never guessed terminal and cannot clear a live attempt.\n\nWhen a tracked subagent returns a recognized task envelope whose inner result is malformed for the strict protocol — a missing `VVOC_STATUS`, a missing `VVOC_ROUTE`, a non-protocol top-block line, or body text without the required blank line — the plugin makes at most one bounded continuation to that same child session. The continuation request carries no `tools` override (so the child's persisted session permissions are preserved), and its instructions direct the child to preserve the original work item, assignment, role, and write scope; to finish unfinished work with its existing history and currently permitted tools; or, if the work was already complete, to correct only the final report without repeating work or inventing evidence; and to report a truthful post-continuation `VVOC_STATUS`/`VVOC_ROUTE` rather than freezing an outdated one. These are instructions to the model, not a mechanical guarantee of compliance: the plugin still reparses the continued output strictly, applies the bounded error-code and explicit-hard-stop gates, and fails closed with the original protocol error and excerpt. Continuation is attempted only once; a valid result never continues, and a failed, empty, or still-malformed continuation is never retried. An explicit `VVOC_STATUS: BLOCKED` or `NEEDS_CONTEXT` line is detected before the call, so malformed hard-stop output fails closed through the original protocol error and excerpt instead of being continued.\n\nIndependent review happens at checkpoints declared in the plan. An approved delegated plan carries an `<execution><mode>delegated</mode>` section with `<review_checkpoints>` (`CHECKPOINT-R-NNN` identities, each with kind, wave barrier, covered tasks, reviewed scope files, reviewer set, acceptance criteria, and verification commands) and per-task `<write_scope>` lists. Registration accepts only this supported approved native plan package (the approved spec and plan pair under `.vvoc/specs/`); a provided plan or conversation-scoped execution stays on its own source and lifecycle rather than being converted into a native package. `work_checkpoint` handles these actions:\n\n- `register` — with `planPath`, loads an approved active plan plus its linked approved spec, fully lints them, and binds the run to their content hashes and the canonical workspace root. With a generic `runId` and its required `amendmentId` plus `rationale` instead, it appends a validated task batch (tasks and checkpoints) to that existing execution; it never starts a fresh run. Re-registering identical inputs is idempotent; changed approved inputs are explicit plan drift, never a progress reset.\n- `start` — after every covered task is accepted, captures a fingerprint over the checkpoint scope (native scope files and existence, or the generic accepted-attempt coverage) and opens exactly the declared reviewer set as an ordinary `review_only` item. Writes overlapping an in-flight checkpoint scope are refused.\n- `verify` — for native runs, derives `passed`, `failed`, `stale`, or `stopped` from the recorded reviewer results plus freshly recomputed fingerprints and approval hashes. A checkpoint passes only when every declared reviewer passes for the pinned snapshot; a closed review-only `FAIL` report is findings, not approval; edits during review make the generation stale. The final checkpoint seals the run only via `verify` with `complete: true` after every task is accepted, every earlier checkpoint passed, and the complete declared write scope is covered with fresh verification. Completion is refused while a declared reviewer is missing: a skipped reviewer is never fabricated into a pass.\n- `review` / `bind` — `review` records one generic reviewer result; `bind` is the outcome-recording alias that settles the generation from the linked review item's recorded result when every declared reviewer reported. The callID launch binding itself is a host hook, not this tool action.\n- `complete` — complete a generic execution when every active task is accepted and every assigned checkpoint passed for the current revision, reporting `controller_accepted` or `independently_reviewed` honestly.\n- `amend` — append validated tasks or checkpoints to a generic execution without replaying accepted work.\n- `authorize` / `record_approval` / `revoke_authority` — record a bounded advance authority from an eligible root-user instruction, record a truthful controller-delegated stage approval, or revoke/narrow future authority credits.\n- `recover` — bounded recovery for a checkpoint generation that stopped (`NEEDS_CONTEXT`) or exhausted its ordinary generations. Common required fields are `diagnosis`, `changedCondition`, `verification`, and `recoveryId`. For a native-package checkpoint, recovery supports `userMessageId`: a stopped generation resumes, and an exhausted generation follows the one-unit autonomous-then-authorized policy (a fresh root-user message, or a recorded advance). For a generic checkpoint, `userMessageId` is rejected: a stopped generation is a cost-free bounded resume with no automatic budget reset, and only an *exhausted* generic checkpoint needs a recorded advance authority referenced by `runId` and `authorityId` — a stopped generic checkpoint does not require one. Recovering a stopped generation settles it into history as a `stopped` entry — it does not convert the stop into a failure, so checkpoint rework stays locked until a real failed generation exists — and recovering an exhausted checkpoint grants exactly one further generation with a fresh snapshot at the next `start`. Recovery never satisfies prerequisites, erases a `FAIL`, or seals a run: only the required passing final review does.\n\nPassed milestones stay historical: later planned edits are covered by later checkpoints or the final gate, not by an old approval. Hard stops (`BLOCKED`, `NEEDS_CONTEXT`) are never reset or bypassed by acceptance or checkpoint handling; only a separately recorded recovery decision resumes the affected work. Checkpoint state persists per session and survives restarts; a persisted `PASS` is not fresh evidence until `verify` recomputes current hashes.\n\nSource-independent execution is built on one common contract. Requirements may come from a native package, a provided plan reference, or the current conversation: a native package registers with `work_checkpoint register` (`planPath`), while a provided-plan or conversation-scoped run registers once with `work_item_open` carrying an `execution` descriptor (`executionKey`, `source`, `goal`, `boundary`) and its first task batch, and later tasks append with the same `runId` plus `amendmentId` and `rationale`. Generic review obligations run through `work_checkpoint` actions `start`, `review`/`bind`, `complete`, and `amend`. The registry validates task and checkpoint identities, exact references, execution boundaries, and acyclic dependencies before anything is published, and a selected source stays authoritative — a failed native package is never silently reopened as weaker generic execution, and a provided document is never converted or executed as commands. Required reviews are exactly those registered by the source, the user, or an explicit controller decision; a task with no assigned review completes honestly as controller-accepted rather than as independently reviewed, and a final checkpoint, when one was assigned, must still cover the current revision before completion. Explicit autonomous authority is recorded through `work_checkpoint action \"authorize\"` from an eligible root-user instruction as a bounded advance reserve shared by the whole authorized execution, consumed one unit at a time only after ordinary allowances are exhausted; duplicate calls, replay, restart, and task replacement cannot refill it, and narrowing or revocation disables future credits without erasing history. The same recorded authority can authorize one bounded continuation that predates a stop, while the separate post-stop `userMessageId` path keeps its own timing rules.\n\nDelegated and checkpoint state persists under `$XDG_DATA_HOME/vvoc/workflow/<sessionId>/workflow-state.json` at snapshot version 4, which adds the common execution registry and session-wide root-message claims on top of version 3's recovery histories, replay-protected authorization references, recovery-aware budgets, and rejected-report attempts. Existing native plan runs materialize a compatibility registry entry with their original run ids and content hashes. Older supported snapshots load conservatively: version 3 and 2 files hydrate with empty execution registries (version 2 also with empty recovery histories and original budgets), and version 1 files hydrate as legacy records without plan runs; none ever synthesizes acceptance, approval, or recovery. A snapshot written by a newer plugin version is refused rather than reset. Recovery mutations commit on the live store and persist synchronously — a failed write rolls the mutation back, so changed launch permissions appear only after a durable record; terminal report settlements stage, persist, and then commit. Because runtime plugins share the startup config snapshot, a plugin upgrade takes effect after an OpenCode restart.\n\nPlans without an `<execution>` section keep their legacy meaning; executing them with different acceptance or review obligations requires an explicit agreed plan amendment, and archived plans are never rewritten. In a deterministic dispatch-count scenario, a twenty-task plan with two intermediate code-review checkpoints and one final spec+code checkpoint needs exactly four initial reviewer launches instead of forty — that is a property of the declared checkpoint policy, not a wall-clock or model-quality benchmark.\n\n#### Public tool contracts and strict input\n\nThe nine vvoc-owned tools keep their existing names: `work_item_open`, `work_item_list`, `work_item_close`, `work_item_decide`, `work_checkpoint`, `hashline_edit`, `str_replace_editor`, `web_search`, and `web_fetch`. Every one now publishes a closed public input contract and rejects invalid or contradictory calls before it mutates state, edits a file, or dispatches a provider request.\n\nThis is an intentional compatibility tightening: unknown keys in a vvoc-controlled request object are rejected before mutation instead of being stripped, and a supplied value that conflicts with the selected operation or action is diagnosed instead of being silently ignored. A misspelled authority stage or reserved stop, alone or mixed with valid entries, rejects the entire authority operation — it is never filtered down to the valid subset — and cannot create an authority, claim an authorization message, consume reserve, or grant a launch. Missing optional fields keep their documented defaults; only *invalid supplied* fields are refused. Tool names, package exports, canonical vvoc config schema v3, and persistence snapshot version 4 are unchanged, no config or persistence migration is introduced, and runtime plugin changes still take effect only after an OpenCode restart.\n\nThe five workflow tools (`work_item_open`, `work_item_list`, `work_item_close`, `work_item_decide`, `work_checkpoint`) return workflow failures as machine-readable JSON carrying a stable `errorCode` plus a `category` — one of `input`, `state`, `authorization`, `host_context`, `persistence`, or `internal` — and bounded `issues` with tokenized argument paths, the violated expectation, and a safe value/type summary. The edit tools keep their existing human-readable `text`/`Error` result surface plus apply warnings rather than a JSON envelope, and the web tools keep their `ToolResult` text/metadata/attachment delivery. Web structural validation throws the bounded `ContractInputError`; provider failures keep the existing `WebProviderError` behavior (a provider-named code and message with no universal bounded-payload or JSON-shape promise). All nine share the same bounded field-level structural diagnostics, but the host is not promised to expose an output schema for any tool and edit/web output is not forced into JSON; the workflow JSON result shapes are a producer/test contract, not an assumed model-visible SDK feature. Owned structural and workflow diagnostics never echo a full payload and never parse free-form message prose to recover a lost field path; edit text and web document or binary content stay opaque. In particular:\n\n- Invalid `execution.source.kind` is reported as an input error, not as a missing workspace root; a failed generic lookup is not disguised as a missing native-only argument.\n- The generic execution descriptor accepts only `conversation-scoped` or a provided-plan variant carrying its bounded reference. The native-package path is not reachable through that descriptor: it loads only through the approved native `planPath` loader, with spec linkage, lint, and content-hash binding preserved.\n- Standalone `implementation`/`review_only` items require a non-empty unique reviewer set and reject delegated write scopes or native plan bindings. Standalone `delegated` items require an empty reviewer set, an exact-file `writeScope`, and paired optional native bindings. Generic tasks accept an explicit empty or non-empty reviewer set and default `taskId` from `key` and `goal` from `title`.\n\nPath contracts are explicit. `writeScope` entries are exact workspace-relative files and reject wildcards, absolute/home/drive paths, backslashes, traversal, empty segments, and a trailing separator; `boundary.directories` keeps its established one-trailing-separator directory-subtree normalization, so an exact file and a directory subtree are never conflated.\n\n`work_item_list` is read-only over the current session and additively exposes generic and native executions alongside the existing `items` and `planRuns`, with the latest attempt status, current generations, remaining allowances, assigned obligations, and bounded prerequisites. The same response carries the loaded contract identity (`packageName`, `packageVersion`, `toolContractRevision`, and `referencePath`) so an agent can discover the exact reference material shipped with the running release; `toolContractRevision` is the loaded `AGENT_TOOL_CONTRACT_REVISION`. Guidance is snapshotted from the same eligibility gates the mutations use: it is a statement about current state, not a future permission, and it never promises a launch will still be available after concurrent state changes. Inspecting state or describing a recovery path neither grants recovery nor consumes a unit.\n\nFor a workflow mutation whose outcome is genuinely unknown — for example a post-side-effect reporting failure — the response never claims the change was untouched, never labels it a pre-execution input rejection, and never invites a blind replay; the truthful `committed`/`not_applied`/`rolled_back`/`unknown` outcome is preserved in the workflow result and the safe next step is to inspect with `work_item_list` before retrying. This workflow envelope is not forced onto the edit and web tools, which keep their own text/`Error` or `ToolResult` delivery.\n\nThe full nine-tool contract lives in `templates/skills/vv-execute/references/tool-contracts.md`. It is generated from the pure catalog (`bun run contracts:generate`), shipped with the skill, and kept honest by a coverage gate; it is loaded on demand from the shipped file, not generated when you read it. It is deliberately on-demand documentation rather than a manual injected on every turn, so load the section you need. A declared `writeScope` is an edit boundary, not a universal filesystem sandbox, and nothing here claims that free-form evidence strings mechanically prove a claim or that stricter schemas reduce model errors.\n\n### Edit format routing\n\n`HashlineEditPlugin` resolves an edit mode per session model and exposes exactly one native edit tool to that model — either a host-owned tool or one of the plugin profiles:\n\n- `edit` — the host built-in edit (`filePath`/`oldString`/`newString`/`replaceAll`) with its native matching layers, prior-read enforcement, and unified diff output. Served to `qwen`, `kimi`, and `glm` cohorts; the plugin registers no `edit` tool, so the host runtime stays in charge.\n- `apply_patch` — the host built-in patch tool, shown by the host gate to `gpt`/`codex` models; the plugin never overrides or hides it.\n- `str_replace_editor` — the plugin's DeepSeek dsh contract (`view`/`create`/`str_replace`/`insert`) with exact-verbatim matching.\n- `hashline_edit` — the plugin's hash-anchored tool with `LINE#HASH#ANCHOR` references and anchored read output (default for unmatched models).\n\nThe default routing table sends `deepseek` to `str_replace_editor`, `kimi`, `qwen`, and `glm` to `edit`, and `gpt`/`codex` to `apply_patch`; everything else stays on `hashline_edit`. Patterns match case-insensitively as substrings of the session `modelID` only; the first matching rule wins. For every mode the plugin enforces one selected existing-file editor through the native session tool-list visibility — hiding the other existing-file editors (including the host `edit` for the `str_replace_editor`/`hashline_edit` cohorts) while leaving new-file creation available — and never modifies the host's own edit/patch contracts, so each session sees exactly one editing tool for existing files. Every plugin-tool write is gated by an awaited native resource permission before a file is touched.\n\n`vvoc sync` and `vvoc init` write this default table into `vvoc.json` so it is visible and editable. Materialization is conservative: a routing value you have changed is never overwritten; the table is only filled in where it is missing. Override routing in `vvoc.json` (schema v3) — the `plugins[\"hashline-edit\"]` entry accepts a boolean or an object:\n\n```json\n\"plugins\": {\n  \"hashline-edit\": {\n    \"enabled\": true,\n    \"routing\": {\n      \"default\": \"hashline\",\n      \"rules\": { \"qwen\": \"hashline\", \"deepseek\": \"str_replace_editor\" }\n    }\n  }\n}\n```\n\nRouting changes require an OpenCode restart, like other runtime plugin settings.\n\n`hashline_edit` and `str_replace_editor` publish closed input contracts and reject conflicting or malformed fields before touching a file, without changing literal edit behavior: `replace` keeps its optional inclusive `end` (the `replace_range` alias still works), `lines` accepts a string, a string array, or `null` (an empty array or `null` deletes the range), `append`/`prepend` perform boundary insertion, `new_str` may be intentionally empty to delete, and `view_range` may end at `-1` to view to end of file. Supplying conflicting anchors, an unknown field, or a malformed range is a structural error that leaves file content, paths, freshness metadata, and the metadata sink unchanged, and the existing cur","readmeFilename":"README.md"}