{"_id":"opencarl","_rev":"33-4e79492662cb7a4924eaccbf7ae85d48","name":"opencarl","dist-tags":{"latest":"2.1.31"},"versions":{"0.0.1":{"name":"opencarl","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"opencarl@0.0.1","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"dist":{"shasum":"fa96b2a259fb66fd735355e6df3226a6d612db6d","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-0.0.1.tgz","fileCount":2,"integrity":"sha512-Nt+lGMAulMJ2mfdAQS2IoN6gfpH2qOa/jT02OlTX5chuNE9SzxDlTLQMKcEQIZ5vXIfTC8MvMveORXpnRiPnAQ==","signatures":[{"sig":"MEUCIGVObGgE7psNNiJvxMyCnZc6CRmJxXvJAfIhfivqDGHNAiEAxaOhprjg710dJ7d8j18Gh5gKkacQMrWqYZdJ8f8F1k8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1995},"_npmUser":{"name":"krisgray","email":"kristian.gray@gmail.com"},"_npmVersion":"10.9.2","description":"OIDC trusted publishing setup package for opencarl","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/opencarl_0.0.1_1773415212160_0.32344461250086165","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"opencarl","version":"2.0.0","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.0.0","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"d9a97f7c3e1f7782fe41b2ffd7aebcec3cdf6073","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.0.0.tgz","fileCount":108,"integrity":"sha512-TefHohRzXRnCkZSOeAUJFvt2d+Yu+KxzVMAAcHJ1d1doRisczx3Za73MChypOQIZVJenLCDoxmBMTU0la6sUag==","signatures":[{"sig":"MEYCIQCdXTcfLconl7F2nIU+6CG90Pm0c7UGO3kP5c7UVK4JPwIhAPPNV+m6n5FIwNtWHuN+d1UXJbqSE9fFJ1e2MTrYRjAk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346139},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"f4decebd053baf451cc93ae0f20a866612f6b4d7","scripts":{"test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","publish":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.0.0_1773419067467_0.21956175285146218","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"opencarl","version":"2.0.1","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.0.1","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"209a86b3ad3d9944e34226272f5ff586d6e2930e","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.0.1.tgz","fileCount":108,"integrity":"sha512-s5sgupcR2snCrs9njXJiFJlNEHzuW1hRJ7mcuJnQ6J1SS9C2C1hGHuapxN26cIvE3c0NVvcCCmcR4QPNiaIsdA==","signatures":[{"sig":"MEUCIEZw/24s4s3UTs/DIARh6hm7Hnfr2OgFzz84LkyuCASyAiEAtbTjx+/T/T+sqz5/Sf2nyZAR7EQMLdERy9kcvvAAqfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346139},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"6539fb4cb29cb02d9fd90ede7076476b383df66b","scripts":{"test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.0.1_1773419434264_0.15130461196008071","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"opencarl","version":"2.1.0","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.0","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"0a2434f20fb65aa91d7be5f3fee7e01f7ebea9f9","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.0.tgz","fileCount":112,"integrity":"sha512-2QrGiBgiRmJ0fkOxPmfYrxZWC1cPjzBTuH+ZVIXMBYhCIVTIjPdmiFWoNLdnSwd6sXxAW0Vmo2oNg0XL0tg76A==","signatures":[{"sig":"MEQCIG3ba7/dyQ3vlUkh8Vl84BcdyCxTRvSxELCRgEtHQJyCAiAont7xdIoFjPzwgWUF8jHxVmUq1vNRu8f7+RJaLh56bA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":364329},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"4940f1e123f95a3bb4b3f753bf89cff6a29472f0","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.0_1773745980314_0.08337230466854884","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"opencarl","version":"2.1.1","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.1","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"3deed594722b9ee0968a42d0b8899b03a07fff57","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.1.tgz","fileCount":112,"integrity":"sha512-4v0kdwHvkyQUqpiUysbx0Gt/64zrWV15SHA9v3IvKRE7kHQtCOi27Ksn3buNq9NT+wyzXJ4G0dNl3MB5E0z7sA==","signatures":[{"sig":"MEYCIQCDnWiTI847oGBpan0KPXHt9zhmAJbn3Vi2Y5suMD76XQIhAJeaB+PLFtyuGsivNBHF7AGrnJlGHh2muU4FQaWImLXZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":364309},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"d89d7a7fc0e8ae0909193534b97c5adc63ee3e36","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.1_1773747052637_0.06496297675937668","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"opencarl","version":"2.1.2","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.2","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"fde5ccefc76e853954d7ccd2f28c3c8bb82064b9","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.2.tgz","fileCount":112,"integrity":"sha512-gaAYuzalxrNK5Kb5aouEG4MdU2XJF0cIos6OMkFCwpMAzRc0HjSBvw9pP8ta8+OhMXzn83JeBf1wQ74PK8WYNg==","signatures":[{"sig":"MEQCIAwtkzCJP2f5hA3AbyQc0U9kGZfrLHxrty8zF/55ZboCAiAQjCMd8vcO9MS/atlRVXdI1PkR6WIF5UXipsG5gTu0qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":364135},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"e3946c80e95a7f7a29b1ff498e5aad29df05e0f9","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.2_1773760941594_0.5488403715902304","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"opencarl","version":"2.1.3","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.3","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"2675c6f100fa0a3f2df289e2ff0c109f8358ee85","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.3.tgz","fileCount":112,"integrity":"sha512-Y4DSgkLXgbdpPKGEEe96NFcKC08FJmaMq+mkujeGFPR0+atpnGTzkAYVDs91a2CyoMUXSMuFD6w/LVamw+eiVQ==","signatures":[{"sig":"MEUCIQDekRuYXPWrbyPapZwdq+BCEgsSpJzEmusX30gTlf55hAIgbGEM1Yc+8bTAyDMT9svPGbZ7SIceyGQMIJlkGMVL+FA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":365010},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"eb8f093b5c7b70626548619f2b912db1f8ade078","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.3_1773770338173_0.8960187716206409","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"opencarl","version":"2.1.4","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.4","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"f2ccabec466f7d09888607d466244c8f8f8e46a9","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.4.tgz","fileCount":112,"integrity":"sha512-Ya056P1H0MuR3wDunLjEZVWkJEOdyU44oQvebujdEEqX33RrX7F+G0Ngvo5NONhnobP1OX58nBiXjXz8RH+hdQ==","signatures":[{"sig":"MEUCIQDkK7Twm9GGsmJ5diBfw5h+e3e5E+MMC/a3aLfU0EFjfAIgCMp6OT7yoiVLFlU/lscuPn25YUOH6vD2cM2HWslt/mY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":365178},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"7a06eddca513bdaa96ab467a8e141cf756ef2729","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.4_1773771173058_0.9099744578388758","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"opencarl","version":"2.1.5","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.5","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"10fca38e625a2f196fedf66cce3bbcac2b82202c","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.5.tgz","fileCount":112,"integrity":"sha512-09z1G1/cP7jOOjwFCwuqS3DxK1YjSqG01jOOAd8ucofZoVPJv5fPKvvECiSMeeJeXr+UZCaKsITDWwpLLvmWxA==","signatures":[{"sig":"MEYCIQCaSXRjdJpm8OY3+YomwA8Jt1x9d6BPhB+uA65IhxTjngIhANkov6MOMx2HfNLF3KnspxuuNNM/Dr0NwLB0ESuAj6GB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":365365},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"f3c7ca8830c8bf8c8a61b9a28525cc30169a699e","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.5_1773834482079_0.35117627138720575","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"opencarl","version":"2.1.6","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.6","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"0cf150109b03ea27758016da8b57e0e9dda5361b","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.6.tgz","fileCount":113,"integrity":"sha512-q24eEaNoVPKpkjFVzHH9g3RUoHZqWrme0AgehzA+In059JWz8/XjETrAXSw7au5mofRy5ENp9eAZpPrDDL9fpw==","signatures":[{"sig":"MEYCIQC/qFBIMiVe8TEHocSyvPPSRyjItgv0EP748dUkqZ4hiAIhAMzi7y/RrSfurTHr7aGFK6vKGml6qHWdKbz+DbwdohcM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":366808},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"c89aa6cf6f68b8018d43eee0c0f85b55951c2a36","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.6_1773835849584_0.5576682791553675","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"opencarl","version":"2.1.7","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.7","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"1123c5d080775b7ca8b2cfa2364e92bbf53a2ece","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.7.tgz","fileCount":113,"integrity":"sha512-kG/1N+In5ETVzLMBDrduRagncrOl8l1DFAvXgnfFux+aQw8IlflypJNsxAvDZpR9sU4y9e/7aPQJ0lOGdmiWUA==","signatures":[{"sig":"MEYCIQCeEEDH6x4FOSLOGoLGj7qgq6r82ibYdSdFVaLs1zvkyQIhAJXUUApUFaRv/ibwbUcuiqtgb4cCNRQYBcgt3nlyQhrw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":366869},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"6d0415473bd0a5f51ea9e12da121e6c4ed3ebb26","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.7_1773836188486_0.1718004149741763","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"opencarl","version":"2.1.9","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.9","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"2216976dd5bf7a3ba0b3bbd74456b169e71c0522","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.9.tgz","fileCount":113,"integrity":"sha512-F13nF96k27Ae4uH/0L4EHOZKD5XzXT49OrpYLObI0tLQiQn30FnuUVIoSUol5fgNRwkJRUD+kpyBptvHV6OTYg==","signatures":[{"sig":"MEUCIQCXm1tx1Ixblhad4GuMexPsj5bHooImAuAqPeNIBDSj5wIgGvy+XFNGzKATXOUE8DVOCvSjwBoG+Wdmi6fqaaslVfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":373347},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"b4c4bd13b99c9fc2f9a20640b3f556bec35d3b06","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.9_1773837137209_0.6019706856855778","host":"s3://npm-registry-packages-npm-production"}},"2.1.10":{"name":"opencarl","version":"2.1.10","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.10","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"fdacf8cd6ec9e116d73513a3039c80e82c7a918c","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.10.tgz","fileCount":113,"integrity":"sha512-V0HKpXubyo4NKGMnpfznQSjVwo39PDgg6ZFjcw2XNkvJEtqtBSW4Am3FsNfn1t7yYI1cxJy4rYh2abNV9XHE0Q==","signatures":[{"sig":"MEUCIEj+Fdd2RQ1YuxU+APAKlRu0rq0LTX3vJo5WLamXG6xJAiEA4CxiwRCowKBCTv7zPyAlr/FZ+lr0HeQJUwDabqCeoLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":372139},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"62ed2ba8e6f02a5e54c46281b667c0cab6dd4a0d","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.10_1773837676063_0.46554154627827593","host":"s3://npm-registry-packages-npm-production"}},"2.1.11":{"name":"opencarl","version":"2.1.11","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.11","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"cf0fed7d6018e1e968bb632e3f328673c916af3f","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.11.tgz","fileCount":113,"integrity":"sha512-V0XksvyK+KBB6SDuBC98itVdKXGlJ8KcqRooIB3Oopj2+9RMwbQCNGSJFXYmdawLqdjp4Q7JSzKu78hdDw0aMg==","signatures":[{"sig":"MEUCIC5exwkHsK9RLsnNgqlqKSmMsApoQtGver3dGnuWsfbvAiEAtbaBHe0VWsnmryf6KLeFNR657G5gPo0fsildB+Lsg/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":372714},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"da51c3c60caeb7a1f1e9118bb66226366dc96a71","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.11_1773838045690_0.5681540710734343","host":"s3://npm-registry-packages-npm-production"}},"2.1.12":{"name":"opencarl","version":"2.1.12","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.12","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"9c70f04d7e616d65481c840182b09dd484184931","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.12.tgz","fileCount":113,"integrity":"sha512-Omh+jIRe9fElDvOt1tjyN9IjLsD9eVHKQ+wJi7F3yNf3mSxgTNvsxKi8MVWw76ee6TdZ0drwIQV2j3QCNWpYSg==","signatures":[{"sig":"MEUCIQDaZq6SQQAKY6I9dl5xo7No9DEUlBr3dUOzoBFyjophwgIgGWVv6bV3N8RNvvVVQY84SnSrOhIMtcZ9ZGaoz1z6uao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":372988},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"9fec98d9239c3cc4ecf4b2eecb38917db47371b8","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.12_1773838529999_0.7646079442086389","host":"s3://npm-registry-packages-npm-production"}},"2.1.14":{"name":"opencarl","version":"2.1.14","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.14","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"55147b8ad86eb0e3c9736345cedf0b6288d36e58","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.14.tgz","fileCount":113,"integrity":"sha512-gONLBgTz8zdBkhq3sVcY7oP2aLgq6415desuXayYcjMDTKdJxgysrawG1JxQpKcYnck3aAqFtJTlHTpJdgiQZw==","signatures":[{"sig":"MEUCICAi3Ct9ZCnZU8FqMfgW3oF+MVY8BApez1DtTGiYXbFoAiEAuFfNBLgdJOmc8+UCXLamPNX+HgKrL4J7FvJtGamO1Sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374246},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"d82a8751a8c6fd57e779dc636053f70f95a8208a","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.14_1773840502571_0.6376955992443787","host":"s3://npm-registry-packages-npm-production"}},"2.1.15":{"name":"opencarl","version":"2.1.15","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.15","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"c8c3c807f31732f65227efdd9bac3bfd6fb3a7fe","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.15.tgz","fileCount":113,"integrity":"sha512-a+gLW9RwexlauDOc03UhtRQwU1/USSPbqJC72JYSRL2cdaFV5q/1AhH4CwUNfZeazbHQ9hjRAZZKr/agMNIuoQ==","signatures":[{"sig":"MEUCIQCnP0N+bQfH6c9rCOuIxSw5vgf+gzuq3U5EIIW4m1Pd8gIgPw3JrP2gRzmnaAZ+ABKpETlJebECLECoGiVrackKp4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374454},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"3eaab401ded8106e0c75cd0cc86ffcc6cab14862","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.15_1773844200775_0.46145587547140665","host":"s3://npm-registry-packages-npm-production"}},"2.1.16":{"name":"opencarl","version":"2.1.16","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.16","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"78aea0e1d4ef4eacb30a32acb0c18a32e0f753b1","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.16.tgz","fileCount":113,"integrity":"sha512-cOYg1MOR+0N033vgQd8gWfk5WH6LE3wM/wKz3MaXYq5bMgQuNyrTd7QUHA8vsidlN0oK8d/S5E2nLNvxOERzHg==","signatures":[{"sig":"MEUCIG8BtcZF8wo7v0c9tuxWmPw6UZoaPcAvFobV+vsLfRSoAiEAwCDajyBxXwY5sY4dwMyP/0RhT+dsHkmtMaHsZzOXT9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374346},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"734f400acf5d97b1cff7e5ee3a5dcafe28358793","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.16_1773844583001_0.9367737475038909","host":"s3://npm-registry-packages-npm-production"}},"2.1.17":{"name":"opencarl","version":"2.1.17","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.17","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"eb21b0747fb42941a28702e2c901fedab2ec4627","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.17.tgz","fileCount":113,"integrity":"sha512-Lc6YedtO//knQ5qzWf/07XjnEaOL5exVkjVKZI62i2mlsaLhhF5oioTejAXHJpl8wQ00K+9WBtjuU+jfTEhgPw==","signatures":[{"sig":"MEYCIQClaWZjH5EdtTzc4zaBjTaQq5kqw7bM8iKB/wHO7wrtxgIhAOILZzeFAN4icTaL6kLQncrzfcZI4fiib1Hp9F0OG/hd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374548},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"e8a40c7685d4464af7251b079b06d296612cc20e","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.17_1773846042484_0.737551943855892","host":"s3://npm-registry-packages-npm-production"}},"2.1.18":{"name":"opencarl","version":"2.1.18","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.18","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"eaf94f7113f6af50dbd42c7b4f9c5b19aaad6e26","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.18.tgz","fileCount":113,"integrity":"sha512-uh4uLbpuxdOSmFosgeuNErDQCvTkY95MEoBllpDpNBdTLKgU55UF1t4z3n6fgMQMGQcMArD3V/ZCBC18YnJxvQ==","signatures":[{"sig":"MEQCIFq8j2beTk2HHSU+vmmOobW7eTfjrqr5ihS9/m32nJcyAiABytkAk/3JDJiisfhYwiLVIVxnH/4btQVXc3lyvYlj/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":375199},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"401fa2358f666b9adf9fb7b6665a0d2683aac640","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.18_1773846464711_0.7943859598463388","host":"s3://npm-registry-packages-npm-production"}},"2.1.19":{"name":"opencarl","version":"2.1.19","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.19","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"600dc84931c9394c6e59617803bb045640e7854e","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.19.tgz","fileCount":113,"integrity":"sha512-jK6U8qthvtmZOqj+vNT/Fsl5WnLbfG5EuF3OUgN6Av1dcQWC+FkhlppYdO20zMqIfsnQ/uJrPzLYq9QE7BDXgw==","signatures":[{"sig":"MEUCIQCDYqKeoM/NnsQEI6Y2LrUrly8vjWBHy/xI5kjVor6g0wIgBiPV4vn1kxkBlc6uZHVyQE+PHGPOCLcv9ab6jYFrQLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":375176},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"22d04182a7c1ef8aba9a6fbd1f7660016874c044","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.19_1773846876480_0.5924423569086785","host":"s3://npm-registry-packages-npm-production"}},"2.1.20":{"name":"opencarl","version":"2.1.20","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.20","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"cdba0e7f4cd9fa2f34fe93a6109a763da9fefbec","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.20.tgz","fileCount":113,"integrity":"sha512-MQjPX/4DfzCJS87XMXeXS7JWAUFHh6+1PMY4DWdBHw1LgB6FPHsSu6ulivxJb4fgBBB61mhs30M8D/srA3mYZQ==","signatures":[{"sig":"MEUCIDZPsEQDIhshv8juRIOK8tg048+AiqVaInne0dra74d6AiEAu2AjzyohWDOqj7MkfaEhzqkT1wIwYpiPkLpE4Jo44Ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":375212},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"f45176ff641e9610e3df1c6f85f5f1d03005c4f8","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.20_1773847032015_0.8442320747979621","host":"s3://npm-registry-packages-npm-production"}},"2.1.21":{"name":"opencarl","version":"2.1.21","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.21","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"74a52a9ff6850b640780282f133a507112ea777a","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.21.tgz","fileCount":113,"integrity":"sha512-6sLefWiWEj84hHSqGlKPhHxmRyWv+a5b/VcmA2XCldGadmYgdjRcjozttqFrYw9T+yzMZU8D8rjU7tMT/e6BQg==","signatures":[{"sig":"MEUCIQDgk8mkcdunPoA1LuZq9VR9P6QeHi5jR1AusCN0Ev4TMgIgJ9V9BpGyS30CcN2GwY61SlZwfJ0Zads/wUQdiPTNzl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":377118},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"a4792c88c1be72f5f8ae9bf5970c4e8792c7dc80","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.21_1773847499787_0.7910092910839195","host":"s3://npm-registry-packages-npm-production"}},"2.1.22":{"name":"opencarl","version":"2.1.22","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.22","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"2e58253b748790c05e1bfa2dc0534aaba7da63b3","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.22.tgz","fileCount":113,"integrity":"sha512-zmjlKxyw4rAkqQu2waw2E4JImtaaqpV6f6NYsBC3PM7C6GP4cPQfLIX9aFlU8sp56Tikvq0iezGCoCjRQNT7uQ==","signatures":[{"sig":"MEUCIQDomFNlQqMrdtQz7PBol99RcrSWhC27PmF4KVrldNO7IwIgB3RraGs3APhMjjM1N8ROATWcP7aPMjj96EKajnAVlu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":377248},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"a687adb1a679ff58346517bb2d83be7fc072206c","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.22_1773848576502_0.1609822717883751","host":"s3://npm-registry-packages-npm-production"}},"2.1.23":{"name":"opencarl","version":"2.1.23","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.23","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"c73f15dabf00dfbebcf58c73e67bca7b1ac7142a","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.23.tgz","fileCount":103,"integrity":"sha512-rYVuyx+qELgJC42U/HavgH/oODQ2ESZ7k2IMt04U3ERc6bmFdDz++s8SUW7ctSGk46+uQ7lBrqqwu4Ael0eoVA==","signatures":[{"sig":"MEUCIQChQaSJH0EnImnyq+UdZWVeE1ha2lSJ7tzwb2J2DdRapQIgTOTswOzt86mN6qYCJkHI/TFJ7ERJl+C7tOfwln79a+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":358689},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"522cbaef289822f03a4d3190e2d164dad63e6035","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.23_1773850777664_0.4264822568494928","host":"s3://npm-registry-packages-npm-production"}},"2.1.24":{"name":"opencarl","version":"2.1.24","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.24","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"19ca3ca18bc72f2827bb82dedb38a58e253d098f","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.24.tgz","fileCount":103,"integrity":"sha512-O9ZQDgeqTSjW7gVNj0wxKVeZ6wF8PrBWHhKjw/YrAjdPhqVZ82vs+kaXc7PP2/DUgDtDXnQvqIbwUusMhIQWRg==","signatures":[{"sig":"MEYCIQC73/6H34QGs8C2QDGJFMyHutRaYqawiR3k90mQkw67bAIhANVYg4xl5nCFNIuFQO0e+zKU3BE+lp1Qs5Y7BuoN1JSY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":358689},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"67e1dcaf87281922fb9e58e8f7a81de788dc89f9","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.24_1773850898004_0.8590531875756828","host":"s3://npm-registry-packages-npm-production"}},"2.1.25":{"name":"opencarl","version":"2.1.25","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.25","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"181559afe4defae1d8f158b2402c02887da3b1bb","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.25.tgz","fileCount":103,"integrity":"sha512-k7cObU4mBN/heOfEG97wJpNoHuiVuh9/Va6pHNHTOOK5w7CZy1v5XYTtLKW7HBdW5FWR0kFvNdOEAO+VjWUMPQ==","signatures":[{"sig":"MEUCIQD5aLRkwd++Pa+BC0e89pGwuvBXFXCvOSiQt+Z1JoRiegIgf8TW//W0cm/QOEg3Hm2YaD96xdXZwij8I98bgtMJp8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342349},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"7a68ab230ac5a82e4aadf7c746d140ecc31dce36","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.25_1773851754702_0.9984908767567502","host":"s3://npm-registry-packages-npm-production"}},"2.1.26":{"name":"opencarl","version":"2.1.26","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.26","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"04a4191e67755a1bae1bece8258e20fb4bcffa11","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.26.tgz","fileCount":103,"integrity":"sha512-ebkWXJ0fiV8Vr1FYmmlMSEv8C/AycjOX4xX2z5Kn+NrJ0Y2de2dYBRKR7PjTyU5lila+0Z5Sg6ZEaeUHRnp0YA==","signatures":[{"sig":"MEYCIQDQCSfEuU5WtUshw1BAg6evEjr0niu9fLa2aVgzUboLbgIhAJK0cY3rjvbrB0TvzXQlASkx4XJvXJI4+0+htDdXWOtW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342349},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"e4e40b72343099229a6d16be7af05fc0bc7ce7d3","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.11.1","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.26_1773852154472_0.5573860316706489","host":"s3://npm-registry-packages-npm-production"}},"2.1.27":{"name":"opencarl","version":"2.1.27","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.27","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"adbf800c700ab1fe5eede8dc6efff0f2aa0fc497","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.27.tgz","fileCount":103,"integrity":"sha512-3PJIAwX1SndOeDWT/ahAUQY2TZ0+MNvQEXjxwZZSf7PVnTkukgWrJbtJC1LEQk47VV7e8hbiM3G5VixtBXCmbw==","signatures":[{"sig":"MEUCIHkjKXVcknNxBWeWibkM3wkCIe8yuAPdnbC9oTYRwnAiAiEArZqPE+T3JHlAp9ZTrlI+R72O0a3Y7SPk+GQRKR8dMoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342858},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"af0181f41af5ccac70a90d8d045dff7120c64185","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.12.0","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","marked":"^15.0.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.27_1773936291182_0.6632434264423084","host":"s3://npm-registry-packages-npm-production"}},"2.1.28":{"name":"opencarl","version":"2.1.28","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.28","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"b8741ddbb3a6644590f97bf11fa32eccbb4c52e3","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.28.tgz","fileCount":103,"integrity":"sha512-hUBhLmmZW/SuspdpoHGTtXOOSFCTzxHhcYHRY4+dZ3580YETE/Csx/Quq8hoMob/UvN4YE0u9lgSTurxDIE8gw==","signatures":[{"sig":"MEYCIQCxM4OFsL0Z92kvglMiv6mqFkJYHUzV3GHJCJN5GT26oAIhAMnRI7mP6Vs93GVKTtgTcHnqoi4O5CP3FXq0nWkD0JAl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342932},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"02a9b8780e2529b3d63fcdf22ae4b31c0507d199","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.12.0","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","marked":"^15.0.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.28_1773936874250_0.22903679183595393","host":"s3://npm-registry-packages-npm-production"}},"2.1.29":{"name":"opencarl","version":"2.1.29","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.29","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"ed6ff2f67d218de8848b9861c4c785875d17f38c","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.29.tgz","fileCount":103,"integrity":"sha512-xbsn1P6bTPdlOdMgWKydRFeD0yQd3rF4+kFnnJHgg+sl7rpuKZSOug8cmujiElacdQXmy1wHnlT5J0IwkgDi6A==","signatures":[{"sig":"MEUCIAZ9CNIzYzK3SzIIrgPEzFOtG5jXIym7/Rh7TaPMR24pAiEAzPhZHYDqb+PN3eRxTk1J5S8l+rWoJyNFIVZBQ8CeW4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342932},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"c4533c8b6e6c4e153705a46f5080b5b75021e3bf","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.12.0","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","marked":"^15.0.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.29_1773940910483_0.1320772646924615","host":"s3://npm-registry-packages-npm-production"}},"2.1.30":{"name":"opencarl","version":"2.1.30","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","_id":"opencarl@2.1.30","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"homepage":"https://github.com/KrisGray/opencarl#readme","bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"bin":{"opencarl":"bin/install.js"},"dist":{"shasum":"043c500633441d7a19cc619c32e19a9050c1d3b1","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.30.tgz","fileCount":103,"integrity":"sha512-MS1qmT0Xz8ZfN1rcofplIR3I574lLoX9Bf8fbrcsIyHRe74iqVfIqOiES2lsshSe5BY7TaJC1myHyy7ZiTeB2A==","signatures":[{"sig":"MEUCIQCcjJAGWGiUI5RoU46br5e/D4yNdhYCINusBIGprbDtXQIgGJZ4bWvPAuZ4w2EAYovXlWj9JGmemq4WJAHBt35AYO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342932},"main":"dist/plugin.js","types":"dist/plugin.d.ts","engines":{"node":">=16.7.0"},"gitHead":"7109090c30202202a148a5c769257079dd4da422","scripts":{"docs":"typedoc","test":"jest","build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)","release":"npm run build && npm publish --access public","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:watch":"jest --watch","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","prepublishOnly":"npm run build && node scripts/verify-dist.js","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:integration":"jest --testPathPattern='tests/javascript/integration'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"repository":{"url":"git+https://github.com/KrisGray/opencarl.git","type":"git"},"_npmVersion":"11.12.0","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","marked":"^15.0.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.3.3","@opencode-ai/plugin":"^1.2.15"},"peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/opencarl_2.1.30_1773943356668_0.2293123475070724","host":"s3://npm-registry-packages-npm-production"}},"2.1.31":{"name":"opencarl","version":"2.1.31","description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","main":"dist/plugin.js","types":"dist/plugin.d.ts","bin":{"opencarl":"bin/install.js"},"scripts":{"build":"npx tsc --project tsconfig.build.json && node -e \"const fs=require('fs'); const p='dist/plugin.js'; if(!fs.existsSync(p)){console.error('ERROR: '+p+' not found');process.exit(1)} console.log('[build] OpenCARL plugin built successfully'); console.log('[build] Output: '+require('path').resolve(p))\"","prepublishOnly":"npm run build && node scripts/verify-dist.js","release":"npm run build && npm publish --access public","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage --testPathIgnorePatterns='tests/javascript/e2e'","test:unit":"jest --testPathPattern='tests/javascript/unit'","test:integration":"jest --testPathPattern='tests/javascript/integration'","test:e2e":"jest --testPathPattern='tests/javascript/e2e'","test:e2e:local":"bash tests/e2e/run-e2e-tests.sh","test:e2e:ci":"bash tests/e2e/run-e2e-tests.sh","docs":"typedoc","docs:ci":"typedoc --gitRevision $(git rev-parse HEAD)"},"keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"author":{"name":"Kristian Gray"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/KrisGray/opencarl.git"},"bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"homepage":"https://github.com/KrisGray/opencarl#readme","peerDependencies":{"@opencode-ai/plugin":"^1.2.0"},"engines":{"node":">=16.7.0"},"devDependencies":{"@opencode-ai/plugin":"^1.2.15","@types/jest":"^30.0.0","@types/node":"^25.3.3","jest":"^30.2.0","marked":"^15.0.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","typedoc":"^0.28.17","typescript":"^5.9.3"},"gitHead":"bd049d1c5742af634e7bf4ff423fea9878ae1ad2","_id":"opencarl@2.1.31","_nodeVersion":"20.20.1","_npmVersion":"11.12.0","dist":{"integrity":"sha512-2PALc1LeAO39IySCqU+Qh2te/eLYI1UoTDNszJ0Av8wA287TmnYZ0CK/G6Y/bMHi+J/UCF+O4WWe28vig+Q3Yg==","shasum":"bd87da6c6e918d1c3dc4a88e0a5cdae39bffee42","tarball":"https://registry.npmjs.org/opencarl/-/opencarl-2.1.31.tgz","fileCount":103,"unpackedSize":342932,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencarl@2.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC7RWXuWSSZMUjoKE5uWOUA/GVi7qJ2JquuhHPSvCt3fAiEA5Jbp8eKKTuVHVSJ4KdDbQOjyc9UqvPpjZgXZRVryfkI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0544e994-b744-46e9-82d0-c4e04fd048a2"}},"directories":{},"maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opencarl_2.1.31_1774290586257_0.6375712909508058"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-13T15:20:12.160Z","modified":"2026-03-23T18:29:46.925Z","0.0.1":"2026-03-13T15:20:12.299Z","2.0.0":"2026-03-13T16:24:27.644Z","2.0.1":"2026-03-13T16:30:34.452Z","2.1.0":"2026-03-17T11:13:00.445Z","2.1.1":"2026-03-17T11:30:52.776Z","2.1.2":"2026-03-17T15:22:21.746Z","2.1.3":"2026-03-17T17:58:58.329Z","2.1.4":"2026-03-17T18:12:53.294Z","2.1.5":"2026-03-18T11:48:02.209Z","2.1.6":"2026-03-18T12:10:49.852Z","2.1.7":"2026-03-18T12:16:28.640Z","2.1.9":"2026-03-18T12:32:17.348Z","2.1.10":"2026-03-18T12:41:16.212Z","2.1.11":"2026-03-18T12:47:25.911Z","2.1.12":"2026-03-18T12:55:30.157Z","2.1.14":"2026-03-18T13:28:22.746Z","2.1.15":"2026-03-18T14:30:00.987Z","2.1.16":"2026-03-18T14:36:23.184Z","2.1.17":"2026-03-18T15:00:42.615Z","2.1.18":"2026-03-18T15:07:44.925Z","2.1.19":"2026-03-18T15:14:36.604Z","2.1.20":"2026-03-18T15:17:12.153Z","2.1.21":"2026-03-18T15:24:59.951Z","2.1.22":"2026-03-18T15:42:56.683Z","2.1.23":"2026-03-18T16:19:37.826Z","2.1.24":"2026-03-18T16:21:38.219Z","2.1.25":"2026-03-18T16:35:54.852Z","2.1.26":"2026-03-18T16:42:34.631Z","2.1.27":"2026-03-19T16:04:51.352Z","2.1.28":"2026-03-19T16:14:34.417Z","2.1.29":"2026-03-19T17:21:50.656Z","2.1.30":"2026-03-19T18:02:36.811Z","2.1.31":"2026-03-23T18:29:46.463Z"},"bugs":{"url":"https://github.com/KrisGray/opencarl/issues"},"author":{"name":"Kristian Gray"},"license":"MIT","homepage":"https://github.com/KrisGray/opencarl#readme","keywords":["opencode","opencode-plugin","opencarl","opencode-opencarl","rules","context","dynamic-rules","prompt-engineering"],"repository":{"type":"git","url":"git+https://github.com/KrisGray/opencarl.git"},"description":"OpenCARL - Dynamic rule injection for OpenCode. Rules load when relevant, disappear when not. Adapted from CARL by Chris Kahler.","maintainers":[{"name":"krisgray","email":"kristian.gray@gmail.com"}],"readme":"<div align=\"center\">\n\n# OpenCARL\n\n[![Coverage](https://codecov.io/gh/KrisGray/opencarl/branch/main/graph/badge.svg)](https://codecov.io/gh/KrisGray/opencarl)\n\n**Context Augmentation & Reinforcement Layer** — Dynamic rules for OpenCode.\n\n[![npm version](https://img.shields.io/npm/v/opencarl?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/opencarl)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/KrisGray/opencarl?style=for-the-badge&logo=github&color=181717)](https://github.com/KrisGray/opencarl)\n[![Docs](https://img.shields.io/badge/docs-live-brightgreen?style=for-the-badge)](https://krisgray.github.io/opencarl/)\n\n<br>\n\n*\"Rules that load when relevant, disappear when not.\"*\n\n</div>\n\n---\n\n## What is OpenCARL?\n\nOpenCARL is a dynamic rule injection plugin for OpenCode. Define your preferences once, and they load automatically when relevant to your current task.\n\n**Key Features:**\n- Keyword-based rule loading\n- Star-commands for explicit triggers (`*brief`, `*deep`)\n- Context-aware behavior\n- Global and project-level rules\n\n---\n\n## Documentation\n\n**Full documentation:** [krisgray.github.io/opencarl](https://krisgray.github.io/opencarl/)\n\n**Guides:**\n- [Installation Guide](https://krisgray.github.io/opencarl/install/)\n- [OpenCARL Overview](https://krisgray.github.io/opencarl/guides/opencarl-overview/)\n- [Domain Guide](https://krisgray.github.io/opencarl/guides/domain-guide/)\n- [Commands Guide](https://krisgray.github.io/opencarl/guides/commands-guide/)\n- [Manifest Reference](https://krisgray.github.io/opencarl/guides/manifest-reference/)\n- [Context Rules](https://krisgray.github.io/opencarl/guides/context-rules/)\n- [Suggest Domain](https://krisgray.github.io/opencarl/guides/suggest-domain/)\n\n**Tutorials:**\n- [Python API Tutorial](https://krisgray.github.io/opencarl/tutorials/python-api/) — Test-driven development with pytest, mocks, and external APIs\n\n**Troubleshooting:** [Troubleshooting Guide](https://krisgray.github.io/opencarl/troubleshooting/)\n\n---\n\n## Quick Start\n\n```bash\n# 1. Install\nnpm install opencarl\n\n# 2. Add to opencode.json\necho '{\"plugin\": [\"opencarl\"]}' > opencode.json\n\n# 3. Run setup\nnpx opencarl --local\n```\n\nRestart OpenCode. Type `*opencarl` for interactive help.\n\n---\n\n## Usage\n\n```\n*opencarl              # Interactive help mode\n*opencarl docs         # View documentation\n*brief explain this    # Concise response\n*deep analyze this     # Comprehensive analysis\n```\n\nRules load automatically when your prompt matches domain keywords (e.g., \"fix bug\" loads development rules).\n\n---\n\n## CLI Commands\n\n```bash\nnpx opencarl --local              # Install for current project\nnpx opencarl --global             # Install for all projects\nnpx opencarl --integrate          # Add OpenCARL section to AGENTS.md\nnpx opencarl --integrate-opencode # Add docs to opencode.json\nnpx opencarl --help               # Show all options\n```\n\n---\n\n## Configuration\n\n```\n.opencarl/\n├── manifest        # Domain registry (states + keywords)\n├── global          # Always-loaded rules\n├── commands        # Star-command definitions\n└── {domain}        # Custom domains (lowercase, no extension)\n```\n\n---\n\n## Troubleshooting\n\n| Problem | Fix |\n|---------|-----|\n| Rules not loading | Check `STATE=active` in manifest |\n| Plugin not found | Verify `opencode.json` has `\"plugin\": [\"opencarl\"]` |\n| Domain ignored | Filename must be lowercase, no extension |\n\n**Debug mode:** `OPENCARL_DEBUG=true`\n\nFull guide: [Troubleshooting Guide](https://krisgray.github.io/opencarl/troubleshooting/)\n\n---\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n---\n\n<div align=\"center\">\n\n**OpenCode is powerful. OpenCARL makes it personal.**\n\n</div>\n","readmeFilename":"README.md"}