{"_id":"strray-ai","_rev":"342-011620c07126657bb3bd062cd6b27063","name":"strray-ai","dist-tags":{"latest":"1.22.69"},"versions":{"1.1.0":{"name":"strray-ai","version":"1.1.0","keywords":["ai","agent","orchestration","codex","development","automation","typescript","framework"],"author":{"name":"StrRay Framework Team"},"license":"MIT","_id":"strray-ai@1.1.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://stringray.dev","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js"},"dist":{"shasum":"f7b916351c68565c748d3fc61ab1540b4ab7ecb5","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.1.0.tgz","fileCount":723,"integrity":"sha512-vwchcMYnym9ESHJ5O7/OkYq0AnIDGtFou7Z2s/niSOrXc973Z72TodfVK392uPDQglcntEJF42HVHEjdxVTZ8g==","signatures":[{"sig":"MEYCIQCqTXjSzyJAa60RcaXLiY0vcv5VBPnhcIXmoD/n7M+XOwIhAMlAOGpA6WTGO+5ruYrRMqobde7iKB56fBUbW+NBQ4jU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5104736},"main":"./dist/plugin/plugins/stringray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/stringray-codex-injection.d.ts","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exclude":[".opencode/state"],"exports":{".":{"types":"./dist/plugin/index.d.ts","import":"./dist/plugin/index.js"},"./codex":{"types":"./dist/codex-injector.d.ts","import":"./dist/codex-injector.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js"},"./memory-pools":{"types":"./dist/utils/memory-pool.d.ts","import":"./dist/utils/memory-pool.js"},"./orchestrator":{"types":"./dist/orchestrator.d.ts","import":"./dist/orchestrator.js"},"./dist/plugin/*":"./dist/plugin/*","./memory-monitor":{"types":"./dist/monitoring/memory-monitor.d.ts","import":"./dist/monitoring/memory-monitor.js"},"./memory-regression":{"types":"./dist/testing/memory-regression-suite.d.ts","import":"./dist/testing/memory-regression-suite.js"},"./dist/plugin/agents/index.js":"./dist/plugin/agents/index.js","./dist/plugin/orchestrator.js":"./dist/plugin/orchestrator.js","./dist/plugin/state/state-manager.js":"./dist/plugin/state/state-manager.js","./dist/plugin/processors/processor-manager.js":"./dist/plugin/processors/processor-manager.js"},"gitHead":"65fc8605b56f19672ca8a6f265a7d3b7b8c42011","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","build:all":"npm run build && npm run build:plugin","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall.cjs","build:plugin":"tsc --project tsconfig.plugin.json","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.9.0","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"zod":"^3.23.0","commander":"^12.0.0","structlog":"^1.0.0","@opencode-ai/sdk":"^1.0.0","@modelcontextprotocol/sdk":"^1.25.2"},"_hasShrinkwrap":false,"oh-my-opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/stringray-codex-injection.js"},"devDependencies":{"tsx":"^4.21.0","vite":"^6.4.1","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","ts-node":"^10.9.2","typescript":"^5.9.3","@types/node":"^20.0.0","@types/yaml":"^1.9.6","@types/express":"^4.17.25","@vitest/coverage-v8":"^2.0.0","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"oh-my-opencode":"^2.12.0"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.1.0_1768857597428_0.3479732713431729","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.1.1":{"name":"strray-ai","version":"1.1.1","keywords":["ai","agent","orchestration","codex","development","automation","typescript","framework"],"author":{"name":"StrRay Framework Team"},"license":"MIT","_id":"strray-ai@1.1.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://stringray.dev","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js"},"dist":{"shasum":"478bba5397cb8a2dc5093a6075724057f9947201","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.1.1.tgz","fileCount":713,"integrity":"sha512-Td8znnmVNYw2x374jMJX1/DxDxXkW9R5S45fXq+fX4nal+x4HXkz/8MuFDMlTd9npmKrrWk4GY5wpxMSkA+NSA==","signatures":[{"sig":"MEYCIQCiHZ4osZG8ORKagm66+iouMF7r8KVoVJq+gpeKpJtv0wIhAKFspjAtDZq5sJnmgJfIKrJVDsWio7y28LwdUScVg5uo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4965814},"main":"./dist/plugin/plugins/stringray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/stringray-codex-injection.d.ts","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exclude":[".opencode/state"],"exports":{".":{"types":"./dist/plugin/index.d.ts","import":"./dist/plugin/index.js"},"./codex":{"types":"./dist/codex-injector.d.ts","import":"./dist/codex-injector.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js"},"./memory-pools":{"types":"./dist/utils/memory-pool.d.ts","import":"./dist/utils/memory-pool.js"},"./orchestrator":{"types":"./dist/orchestrator.d.ts","import":"./dist/orchestrator.js"},"./dist/plugin/*":"./dist/plugin/*","./memory-monitor":{"types":"./dist/monitoring/memory-monitor.d.ts","import":"./dist/monitoring/memory-monitor.js"},"./memory-regression":{"types":"./dist/testing/memory-regression-suite.d.ts","import":"./dist/testing/memory-regression-suite.js"},"./dist/plugin/agents/index.js":"./dist/plugin/agents/index.js","./dist/plugin/orchestrator.js":"./dist/plugin/orchestrator.js","./dist/plugin/state/state-manager.js":"./dist/plugin/state/state-manager.js","./dist/plugin/processors/processor-manager.js":"./dist/plugin/processors/processor-manager.js"},"gitHead":"5d45721144f6dc7fc3ef9f6f3ccaf63114a047c3","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:all":"npm run test:unit && npm run test:integration && npm run test:e2e && npm run test:comprehensive","test:e2e":"node scripts/validation/validate-mcp-connectivity.js && node scripts/validation/validate-oh-my-opencode-integration.js && node scripts/validation/validate-external-processes.js","build:all":"npm run build && npm run build:plugin","test:unit":"vitest run","typecheck":"tsc --noEmit","ci-install":"npm ci --ignore-scripts","postinstall":"node scripts/postinstall.cjs","build:plugin":"tsc --project tsconfig.plugin.json","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build:all","test:integration":"node scripts/test-consumer-readiness.mjs && node scripts/test-mcp-functionality.mjs && node scripts/test-postinstall-files.mjs","test:comprehensive":"./scripts/validate-stringray-framework.sh","test:security-audit":"node scripts/validation/validate-mcp-connectivity.js","test:dependency-scan":"node scripts/test-consumer-readiness.mjs"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.9.0","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"zod":"^3.23.0","commander":"^12.0.0","structlog":"^1.0.0","@opencode-ai/sdk":"^1.0.0","@modelcontextprotocol/sdk":"^1.25.2"},"_hasShrinkwrap":false,"oh-my-opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/stringray-codex-injection.js"},"devDependencies":{"tsx":"^4.21.0","vite":"^6.4.1","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","ts-node":"^10.9.2","typescript":"^5.9.3","@types/node":"^20.0.0","@types/yaml":"^1.9.6","@types/express":"^4.17.25","@vitest/coverage-v8":"^2.0.0","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"oh-my-opencode":"^2.12.0"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.1.1_1768875539868_0.7563726775894348","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.3.5":{"name":"strray-ai","version":"1.3.5","_id":"strray-ai@1.3.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js"},"dist":{"shasum":"fdeaac59dc39eed854338797e8c1b5f74cf66db7","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.3.5.tgz","fileCount":820,"integrity":"sha512-w2WYFNpaugKrvOuPlxtzAzcWiR+3fLd+ye5f20R5n6iohVd4A/ANcZGNRahxQu3lTAz1+4pG3KfILLWMyb9GgA==","signatures":[{"sig":"MEYCIQD+BxjhsrkyouJWlZWkESqZzwoDprBlbcVM2Eto9favjgIhAJiWvSki2EDfeb2cDWmdqWItasrB60CDB27OR2dduh8/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79706544},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"b12f4609d201bc01908ed62718932b4c6007eeb2","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-oh-my-opencode-integration.cjs && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:plugin":"tsc && mkdir -p dist/plugin/plugins && cp ./src/plugins/strray-codex-injection.ts dist/plugin/plugins/ 2>/dev/null || echo 'JS file not found, will be compiled'","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","strray-ai":"^1.3.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"oh-my-opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"devDependencies":{"vitest":"^2.1.9","@eslint/js":"^9.39.2","@types/express":"^5.0.6","@vitest/coverage-v8":"^2.1.9","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.3.5_1769988492350_0.10226943701740332","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.4.16":{"name":"strray-ai","version":"1.4.16","_id":"strray-ai@1.4.16","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"929e5c595b6312205db917930ad366e7ed59f2ba","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.4.16.tgz","fileCount":854,"integrity":"sha512-RX7V/qcO/a6bT5P3LUYOPxGcuphT75yzLdItvlBGZGsmpTYgXCHcxL9WReJIle/3WDHZFoG4bSvwanRTfd/5xw==","signatures":[{"sig":"MEUCIH1GqWltAkPrVKbAVKeAW8ydfZru2t3E/nv0Rrtqh4djAiEArNKEol5Zv9lTg6BB2/UVIjwuNWfcdbTnxhlAnK4H9x0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80028065},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"89f7ddfb9206e6f828054e66ef773ce5a7d2911b","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.4.16_1771325749923_0.7074477769196483","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.4.17":{"name":"strray-ai","version":"1.4.17","_id":"strray-ai@1.4.17","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"c612554290b49e451ea9ad5828e918f9ad5d6dc1","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.4.17.tgz","fileCount":854,"integrity":"sha512-dQYp2cG37C6aGxf8qzOKjHS3MUlMvjKi8yJFJ37nfkAbgViZV49Tcej8w9rNP4GnGKfTLPYnog8i3HciY//Fsw==","signatures":[{"sig":"MEQCIEt19UoszmBz4jN8hmD2CZGPO+TrI85vpJcyVX6pFflxAiBXkVx2crdz/LilbwtzLDmj87Dx66XxhgNZgJkNWFay6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80029338},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"89f7ddfb9206e6f828054e66ef773ce5a7d2911b","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.4.17_1771326365142_0.39182066274582383","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.4.18":{"name":"strray-ai","version":"1.4.18","_id":"strray-ai@1.4.18","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"2d6d6093fc6351e42614862fd98805fa6e161f4f","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.4.18.tgz","fileCount":853,"integrity":"sha512-kC9GEFdNpzUB5AWU7fhmkElCHk9sFCMvQksywHFKpXv/4t7RWM0ejU/IHzKrSyaUk3VplYWL7hmSEcsUirECUQ==","signatures":[{"sig":"MEYCIQCNhytUKnMWnB+GAVAFaUQ13qeesRQt9SikgFJQ+6/jWwIhANaY1ZBVu4WuMiB4UK0RU4Xl5nR4IKs1SpSwwueXeDgp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80029202},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"433c6baf8adf1d5bc9eb479b5f0e402f4b89149b","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.4.18_1771326964319_0.8589888082113648","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.4.19":{"name":"strray-ai","version":"1.4.19","_id":"strray-ai@1.4.19","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"237f378d64846642dbde3aaf6ec897d8d4571129","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.4.19.tgz","fileCount":853,"integrity":"sha512-1RsTCUeoyMQGb0rwKGTWFo7NRxRImiU84eVzknzdMsLPuMOn9dFOljldD98L7uPzFGJJkivdz0BrhdDYpfRqjA==","signatures":[{"sig":"MEQCIHnC23v8BSY2NSrG0M93hPL7jWssB+Dn85yQ2gJMRMGGAiAE93EhXZuMHRqdT34E3cZegIY5nXmXUTuQ6X+/rB/nLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80028694},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"f5e0a7ff59b7a1e3437f02f0d7d5ec880e2e4bae","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.4.19_1771333417559_0.02239470801359733","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.4.20":{"name":"strray-ai","version":"1.4.20","_id":"strray-ai@1.4.20","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"95dea1e6c8c5ee0b83b1047a4408b35fb6317a88","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.4.20.tgz","fileCount":853,"integrity":"sha512-mbAev3gV48FG05udDqcqOXhnVb3kRMg14O6twdi+giZX7V//yAfdNt6wZrs6G5vXywp7Ha30lX4kwKO5SoQiqw==","signatures":[{"sig":"MEUCIGzOw1UaHvWaFXwYOYvbqtxRfCpCeUTWxW3UId8s2sE7AiEAn8jFqBZjp3UGPG+8OrYldDmNvfmGRU3mP1rQFWIJndM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80031624},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"dc2456b58ee7c358df86664413e0cc0e666c7858","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.4.20_1771348053010_0.17000252598038967","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.4.21":{"name":"strray-ai","version":"1.4.21","_id":"strray-ai@1.4.21","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"acf55dadd930d3bad0eb3fb28b843040e27d8b23","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.4.21.tgz","fileCount":854,"integrity":"sha512-RIMVEsd4845SmDaviZEPYVSzn7eH02VYzPc4LSPeeo6IY4QrFvXCHwJozS0PO6N4AkxA9zVvUGenFw8SZZYRjA==","signatures":[{"sig":"MEQCIEUOfHTcUbK/1toNwNs35VYIvWXjze2vy4f2m8h+HEmMAiATtJIymoh3MGZggw04neeJ6UvKuXZmihyCHh7qN34hKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80046362},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"dc2456b58ee7c358df86664413e0cc0e666c7858","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.4.21_1771377456636_0.8452005872383739","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.4.22":{"name":"strray-ai","version":"1.4.22","_id":"strray-ai@1.4.22","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"864ba2327526fbfa253622bc9ca58ca068503635","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.4.22.tgz","fileCount":853,"integrity":"sha512-Ke/MYuN/Cy8Iaeex7EB4oyXaXzlvJTRbHvRoUSifVCl/z7a/yT1N2rMZ1+bFPYNBCDgAOHvz9YP+L6mTsYF3vA==","signatures":[{"sig":"MEUCIQDp3E4ZY4LeKrtGFXnHx1D8vcr154S1uBGm6ARmjkNzWQIgA3NmcRRwR0/xrfdPx3zAVXBqvVbV4rhJvPvapYIYT/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80046226},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"dc2456b58ee7c358df86664413e0cc0e666c7858","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.4.22_1771378575071_0.23541300634199458","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.5.0":{"name":"strray-ai","version":"1.5.0","_id":"strray-ai@1.5.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5fdbef9fc70b9c72702fad0acf955924b91d1dfb","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.5.0.tgz","fileCount":853,"integrity":"sha512-8Oy9ZFz0PjqF1V1I3hVQxMaF2zAAyiJje2M3vMj/rZepGAFOtXFHraaLiw0637yxNiUmXAZzRdiZvn71MmZhIw==","signatures":[{"sig":"MEUCIQDQ1/pzc/+XGNvNTFzq/IRxVY0TE/IY6YDIljx8dR/vogIgPdfXiuPqT4NHiNWLDRT6sslwJN1xJJrzTDiGDihD35o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80105723},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"f1fa4dbc12bbc9865c4eacbb26e3def353ab073c","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.5.0_1771419859027_0.6062685351389143","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.5.1":{"name":"strray-ai","version":"1.5.1","_id":"strray-ai@1.5.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"c0a2d0133a4bd4a354ddf20af66cc356373ed827","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.5.1.tgz","fileCount":853,"integrity":"sha512-xNc0E8CyFmAgf4vFEVmLR5pLVI6y+8vdCZ7yvRJXPn9yGoN54iIUSnDeGWxrflViXUX8Li/X1hJ0wCiclj3MuA==","signatures":[{"sig":"MEUCIQCscp2ms2HHzxZOjb1IixQqBQhmN3HHXHxz7kluludTjgIgf5BmULhylxUUd8AUgmorVKXD0tNycsEQIY8wcxH5Pn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80107261},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"545f732f4abdd6ebd82038d8ed71d88b7b05044b","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.5.1_1771463398455_0.2786896191824413","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.5.2":{"name":"strray-ai","version":"1.5.2","_id":"strray-ai@1.5.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"adf27388ded9304a056d8c6e9afda9edfda24f71","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.5.2.tgz","fileCount":853,"integrity":"sha512-s8Fhg9c5VaDFlPR8xcaOhreM6NnKaBlQlg4X3m/kgXQiMp4VWnST+QTJSsXkuCtE7KkKTSN/Eq1+Tlw5BZcEkg==","signatures":[{"sig":"MEQCICfo0KQcSstHIe7reQi4vTmMZ7OT2EBeVB8G6XM940gSAiAbzd+VgpBS6Ssq0qIb7rInYOxhprVRe/veconvjamFTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80106747},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"3d98e4a3f27733ba1c7635990014c88261ee03d3","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.5.2_1771531935242_0.3671861787805333","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.5.3":{"name":"strray-ai","version":"1.5.3","_id":"strray-ai@1.5.3","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e926eaad93d310d13af2189915ee305f9fe7e337","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.5.3.tgz","fileCount":861,"integrity":"sha512-5FaWPZuC9AhkAOxlbmY8r813Vbu3bz56mMPjw3youxeO2pq72W9LguB9etB1b1EeD89ehqsPsF9kBC+jyjF0qQ==","signatures":[{"sig":"MEUCIQDhUuuFJ9QcTOkwcFOGWIQSm1pCMn9XQ6Y6Nmn53IMFDAIgXThpycwCkWnWe7VjuLMam5oo6PLSwKxnfKsgsXzhmNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80144721},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"3d98e4a3f27733ba1c7635990014c88261ee03d3","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.5.3_1771811986723_0.5054240891213877","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.5.4":{"name":"strray-ai","version":"1.5.4","_id":"strray-ai@1.5.4","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d94e74ac566718b1c4da44320ad4afad456604ab","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.5.4.tgz","fileCount":861,"integrity":"sha512-BPpOApZiY+3G4jTaI0SEddG+Z3bZQMEorTzAEFVJDDhS7w+dPNnRaBDPKHjzVgy+uefhJ3K55DoQayL/D9UcSw==","signatures":[{"sig":"MEUCIF25FsPWbZd/j/A2Jii4igFM0AlfMwzp1imCDZXx111oAiEA6k9BA7nBI/+o7Oo4/qyTsW83XNLEkKF02q+xsqGwtlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80144721},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"3d98e4a3f27733ba1c7635990014c88261ee03d3","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.5.4_1771812502017_0.8396890903963221","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.5.5":{"name":"strray-ai","version":"1.5.5","_id":"strray-ai@1.5.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d3d5c0130d4454e3b3153838fa44e4c3acd1f3fe","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.5.5.tgz","fileCount":861,"integrity":"sha512-B8wX7jOXOZFVgb5lbapRP975aT31eSpLklq49PLjcoAJyX9Ndzd83xiFjj4ajRycnRFShYApIPJpEO9DeOlGZA==","signatures":[{"sig":"MEUCIQCurCXTjqcJRLIkZ2OuCQNIHaNaU2gcPb7NVzNe536/NAIgBu+jSJVfPlyAPq7XrW0w1EbV2ec2d2jz7kxZB59A14Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80144733},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/plugins/strray-codex-injection.d.ts","gitHead":"febb3cca11ab3642525246bf4f284c629a2721fb","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/server.test.ts src/__tests__/test-processor.ts src/__tests__/test-integration.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run enforce:versions && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:coverage":"vitest run --coverage","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","profiling:demo":"bash advanced-profiling-integration.sh","security-audit":"npm audit --audit-level high","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","profiling:validate":"bash validate-profiling.sh","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","profiling:dashboard":"bash profiling-dashboard.sh","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/plugins/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.5.5_1771850118127_0.39592513638363735","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.6.25":{"name":"strray-ai","version":"1.6.25","_id":"strray-ai@1.6.25","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"046c8ae2eb6433a78ffe03f112b06aa56dca0723","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.6.25.tgz","fileCount":1041,"integrity":"sha512-kniw0nkJhKZJTWQKXkx65QnE6eMCBTPB0xPMNmU6vcUX3ZuuNmcVF1peE2BRhJmzBzuu/98WxvGJqg49cA1ghg==","signatures":[{"sig":"MEUCIQDRp6WwK0ExFz1I58XV0ItLQ4IObGZhW7lNjY7oGwvq/wIgP6jUZFh/x0e6bdLFBy7ZiLnSw/Ji+9Fj7o5cXKsC928=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6067798},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"9b317e0f6d740776a8a882b46dfee0af2a86ef59","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.6.25_1772493292536_0.570733883497528","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.6.26":{"name":"strray-ai","version":"1.6.26","_id":"strray-ai@1.6.26","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"0456140b100373f1ad62e10a57555ba79f22b0e7","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.6.26.tgz","fileCount":1041,"integrity":"sha512-ln4feXPyjwt4xQJFqMsld7xtXc5uaUYkdcOl2HbAJbZ6wPRsKT2WdYjhlpTJxPyjzDD2ZIRY6ThIzTCvuqTx8Q==","signatures":[{"sig":"MEUCIQD6ZuBWMgBuP/GqDI6a+S2CGjDNfQpJ4eDdEQHAzC0e+QIgSpLzrgUh5JIM+elUzIreWFAU0GlH24KBXWuKIXqJ+ls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6069225},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"965bd3fcd000d10589ba250a79a581516c8f8b28","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.6.26_1772535276247_0.16458412757107088","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.6.27":{"name":"strray-ai","version":"1.6.27","_id":"strray-ai@1.6.27","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"731bf49aed425dc4750c52ecf362df32793985f9","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.6.27.tgz","fileCount":1041,"integrity":"sha512-1lub3D7walRKg1jVagkWeLbF4nH7+Wee5ivOJKF+XpS6zaAh3CY6pQjY8rnG3enTAez7OVQhqCvBpa0irBALPA==","signatures":[{"sig":"MEYCIQDvhDpfwYWJyRhwL22L+o6eNYLQszamM8hGWMI3e36+RgIhAIM6YqketqpmAL//hizhm1g+TXX2C4sc/NqQuAO5LmYl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6069237},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"61c738cc406708bb09cc3c169c16aa2861119284","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.6.27_1772535457324_0.11906998693408144","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.6.28":{"name":"strray-ai","version":"1.6.28","_id":"strray-ai@1.6.28","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"f4bd227784c5b48f85df9ede584e7f900767967f","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.6.28.tgz","fileCount":1041,"integrity":"sha512-RDwFAryevHxI/bcWUIAWbVzfEm5l1EoZ3BJA6zYqHWGQk0dCtpGvNx0hfvAhplUGj7YWIW6GfHsVly4zSuWQnA==","signatures":[{"sig":"MEQCIHGMxPbmUsWxjYNsCKrCX6ISaqeKQDgUv2K8367S85qCAiBnllVBKnBOoyv49bKBHyewY0ZP6mztlOXnooxIakTSoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6073419},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"3808b91a766ed8683be3985dee9a2d9a61b5156d","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.6.28_1772548930727_0.6470184554268292","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.6.29":{"name":"strray-ai","version":"1.6.29","_id":"strray-ai@1.6.29","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"a2219368dca5119b79500d74e60b757287e403a8","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.6.29.tgz","fileCount":1041,"integrity":"sha512-+OvhnGcwVdpH6SviajZZksDjKVedHyR+SwNrZ3XiBGYAShzVoy7UJtrizHEYzlCDX1SmSr75eYmiCRZQZ+3bYw==","signatures":[{"sig":"MEUCIGwB6+y+utr8RLt0kd5042YoQP/QEgGCJT9ObNlQ2GxzAiEA88Yt5HmMBQ1/XG0lnjBT5twl7HMA9e+XVKHPjKdasW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6074401},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"29c488b713b4512f2a441186186164e33f6241c0","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.6.29_1772549063807_0.6751548761374946","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.6.31":{"name":"strray-ai","version":"1.6.31","_id":"strray-ai@1.6.31","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e08d211995f3cd104d98293c20c117519fc76511","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.6.31.tgz","fileCount":1049,"integrity":"sha512-MfaE6xVa7Ea79sx6bb15RayUTqWBIBZccQZSOS8HowG5PH6eFWryFltOyxwLhog08ZlWrHU0uNoZe3NNMPEmLw==","signatures":[{"sig":"MEQCIHSHOESMLnNTzIk/19R/dQrY+ak0KGHUsBO3vspuNH9YAiAgOscTvFFssDoPOYkXFBfv18NDLBWVkibILXWjlmDG9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6106927},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"3a48c2928bc05bf75d8c75c8e15944d9aaa54823","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.6.31_1772556992148_0.9088531547060259","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.0":{"name":"strray-ai","version":"1.7.0","_id":"strray-ai@1.7.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"4f4d57ae909f5df8c82523e04603d9b166b813fd","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.0.tgz","fileCount":1049,"integrity":"sha512-oiPJLbC5hTOyLiJIoixjasS2ElxkSzSxHSQOTUCeQh1VpTX0kd33QzysGL3g78exsf8NDp8+PMPe3/Q36TWzgg==","signatures":[{"sig":"MEQCICKc936047yFx/OS2enSPusyH6cv5hiJSIYrghS3SjX9AiABAAmCoIKdM6/VedPgYU9CfIXxpmqsdTVF/q5B3B+dVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6135370},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"85f13ed9f5976748d3c6bf097b27be72e30e45ee","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.0_1772645400546_0.27950054757270215","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.1":{"name":"strray-ai","version":"1.7.1","_id":"strray-ai@1.7.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"fd4ff2aa6db8b2eedc3fd692f584cb319a5b01a6","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.1.tgz","fileCount":1049,"integrity":"sha512-KP02r2SQOUR+UbYrPMj0ctQWpU7ID+JPrhhFlrmeTmJgrsil6+JavFNujMWD6rKgoVKqZ9VQNLsaUP2n3f2lDA==","signatures":[{"sig":"MEUCIAxFaPa+AjMPl5Jcitiv9ZDiNaHWenrbTm1EfXu4As5nAiEA0nHgm4RZ/ExSr7SAII1a9ctmrUS7EjYo8dg1sJOurZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6141151},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a680197a3056a4fd199fa5ea2a8f7dd64424ece4","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.1_1772648490678_0.833350987784077","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.2":{"name":"strray-ai","version":"1.7.2","_id":"strray-ai@1.7.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"f9efc1776f9c68908754e4cee85da926c93c83cf","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.2.tgz","fileCount":1065,"integrity":"sha512-h/cKk0AMuuV3U7kl/Gf665ycwZfmi4038+uIlbvlrohOJETffYpSIiMbXBoVG9vr9+2AtJpySF+Pk7cMoS9uPA==","signatures":[{"sig":"MEUCIQC2ERl4FOYBb4Cu+hhVVhq/zSAObRgQXuofVZD/0/2JHgIgO3UzgZupojcdZvuk9tsMMtrtc1Fc12LppCkIM0NfEoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6308104},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c5faa9b4047909f929aca948e71b8bacb3dfc2b8","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.2_1772658838785_0.19497208917055087","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.3":{"name":"strray-ai","version":"1.7.3","_id":"strray-ai@1.7.3","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"9bef46aaa2071a7791f323d0cabaacb01004fd16","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.3.tgz","fileCount":1064,"integrity":"sha512-sJSMsFpIXaEBXgmVVMZjb//dS8D/Hdg9asT1hZle1YXivEDDyT+mQwtq0SgPIHE4tsnUGJ4awO36LW8273Z7LQ==","signatures":[{"sig":"MEYCIQCCDDzqRPD764AlHWwj1iWPSpyu00EFCAdRABn5li1c/wIhANoiQgjgGMA2ex0wqC7hYMkxTRcV/qG3DG/Y8njcjn6G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6411217},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"90b67a3f532bee07b1f05d5709a40373dc9d607a","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.3_1772987276114_0.38298221355952733","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.5":{"name":"strray-ai","version":"1.7.5","_id":"strray-ai@1.7.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"f5a6337d50974c8e5e9972b18327fb1f687003f7","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.5.tgz","fileCount":1064,"integrity":"sha512-BS3ghQOhooXiR6azSuzbrGVTGWyTLzDIfbPmH/DvNIhRW0WBLrgvsgtL4Mu++WPGmOqJDQra8ChUR8UuP/Eqeg==","signatures":[{"sig":"MEUCIGsQpgIvBbbs1AJ3RCb0kcQkYfsbuzP1XUdzJ/qU55MnAiEAzC+YT+SIj+j167Vc5zGzn5G1Qh9dr8z8nQMfl3XWqGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6416074},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"f184dc7202b249c430ef7c5a18bbb9e320adb04a","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.5_1772999403532_0.8670163790072778","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.6":{"name":"strray-ai","version":"1.7.6","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.7.6","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"716e52c1366d6bc1597a8356e1347f3df0b408db","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.6.tgz","fileCount":1081,"integrity":"sha512-eZCHQLzA68zzMjuQE6j77XjdLssm63ZUuubfF3O6g7LGOWGCky2xsrTsbRIclVPM16RPcLc+ptHVOgPm4zADxg==","signatures":[{"sig":"MEUCIAS7hIrGTMhHS7jArSthDffip9E0oPSDjsX8NPDZpVpmAiEA64OPrtkxbgK82mS4f7RoWIUtVWY6DHzgi+sCa6kjm8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6537864},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"fbd49c94de0444abfcc05beb7a110fd65e51b8a7","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.6_1773058020123_0.5487451697347099","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.7":{"name":"strray-ai","version":"1.7.7","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.7.7","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"4a6217d14127079f9f8c448f17906d513828a9a7","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.7.tgz","fileCount":1081,"integrity":"sha512-peXb7K0zz1UDRx5tnhi0V9gKaDeEv8kcOfxkPbIWFZmpuJRDD4PVGXM3NDFdRZbMKpG7Zn1R36w5W4nEhnbXWw==","signatures":[{"sig":"MEQCIC2OtEjULErzCG4L3Ds4u1DUUa8q9p962bSK8QoKNHJbAiBEMjlSlQa4R02rS55LdYfyOnQAelNGqTRuQLYy3pMOBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6540479},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"fbd49c94de0444abfcc05beb7a110fd65e51b8a7","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.7_1773062523172_0.1471971016434921","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.8":{"name":"strray-ai","version":"1.7.8","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.7.8","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"7d061c17e2316cc683366ef7829f2c75ecd3b798","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.8.tgz","fileCount":1081,"integrity":"sha512-4Wvr71pdSZYpH73ikSr2exPjyjX8XmIz5rj+YmGpHM/xQP423OVtahwPFBc8uJH+AfMMRbPzkYRxgbyuktOhAw==","signatures":[{"sig":"MEQCIGfvIJoKM1oupZGiAbXTPC7gU86AZD+wOIdGatUiMRtlAiAqRvnlg6npdJuRAgTvKm8NUqlAywinJysjCTaXfHCLxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6541404},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"fbd49c94de0444abfcc05beb7a110fd65e51b8a7","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.8_1773065797110_0.7314451251023397","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.7.10":{"name":"strray-ai","version":"1.7.10","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.7.10","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e01dd1bbe4652b4aec0e2f9ef0baf0308886fd2a","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.7.10.tgz","fileCount":1087,"integrity":"sha512-OYMVz5ftH5IwCez8CsWZc+bXUT0vlB6SqQNi6Yj64Ko/ZXH5lCUu0wCWolkFIPkHVMmoCPdxK/TkFdZ9ZUFpxQ==","signatures":[{"sig":"MEUCICaMAIHEcyH5pmWz8L6Ky176RZ3GWmFB7MZzNNgpi9DsAiEAspH+L3rRfMio8ZveK1umH//VomwZCa25GfWNFIAEm7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6635806},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"3ccc1c2c4ce08cfaa00fe28bebe84799a214b8f0","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run version:bump -- major --tag && npm run build && npm publish","release:minor":"npm run version:bump -- minor --tag && npm run build && npm publish","release:patch":"npm run version:bump -- patch --tag && npm run build && npm publish","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.7.10_1773154328298_0.23546088277640842","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.9.0":{"name":"strray-ai","version":"1.9.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.9.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"c6670824ec502a707cc7aaea347bd04324117884","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.9.0.tgz","fileCount":1094,"integrity":"sha512-EYphkCHOxafJ+Ns6LizE4LSXw2bZJgc+TW3peLJ3o6uominJz9xMIpIFlwzo488iyEg18jXr8es+5rz+ZMyaoQ==","signatures":[{"sig":"MEQCIH0Df3kbMPqsu3ivKE/Y+wM3c46wMnUrqaT+pKg+ktV2AiBgCIMzav50Vu9Ztzg6DxpECz93GmT6hf/LWYYmWnbm8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6769661},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a6d90f13536062283bbd446781bd8c0ce5a9f5fb","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run version:bump -- major --tag && npm run build && npm publish","release:minor":"npm run version:bump -- minor --tag && npm run build && npm publish","release:patch":"npm run version:bump -- patch --tag && npm run build && npm publish","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.9.0_1773246923436_0.6175787923922096","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.10.0":{"name":"strray-ai","version":"1.10.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.10.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"8831ed54909121013641e0e5973832d5afe08bf2","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.10.0.tgz","fileCount":1387,"integrity":"sha512-Crn5aOl2E2LXMcKpLtmFDnjfkM6FALMWP+RQepakYe1EIssFdiMYp8HbhXEMq1r3ffvqHHIvD9VA434eWPo3Zw==","signatures":[{"sig":"MEYCIQCVfAIc6T4rim3lP+vsy5UNMrfuGvkZIpTh87h/2+q8swIhAJ6XnW9AIx9k1yoJWwDkfGYoDUfQKv9AHXk/SFc1yx03","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7332924},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"26f5ec32a800b44e5841edcf36badfae71e3dcd8","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.10.0_1773351658492_0.7341725703649522","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.10.1":{"name":"strray-ai","version":"1.10.1","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.10.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5743b5d72948c315ceb0e49535f0b04a77c9d177","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.10.1.tgz","fileCount":1419,"integrity":"sha512-mFyDpKX+4Xclq0dFjgx4zuDBCWCymc38cliDNcqpCojcQOpvWNoX1J9UL88V3WxDg8GZc8RQbON44zBlG04BVg==","signatures":[{"sig":"MEUCIEu5M2a1G2oA7dvpig6rQIeqyHLFrA9YJvnFNpEbZsrJAiEA2R5WGlY1Ocko55VX1r3nan1IPO+xTVYRS7P3Nuu6d/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7152717},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"593ea6e84469489d94a18b1de68f22cdcdc8a1b8","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.10.1_1773430169257_0.21306286681317887","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.10.2":{"name":"strray-ai","version":"1.10.2","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.10.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5771bd5e0622bb6799d234abc5b6288e71855709","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.10.2.tgz","fileCount":1418,"integrity":"sha512-lykDVOnb6l4vFTcoq+vhoco6e4RcTqxImQCV1OyZvY3NrRRFnrmkqvOuCj1vvIBMdsfW1m0MwyTU6Y7VsTF2tQ==","signatures":[{"sig":"MEYCIQC4vp9ZPBDBliLqLJ6uLKmX1Ed1BLh3/9iQRYThqsGIKAIhAOX8PsGyDyGaGaKjGnXsEnVyY9F6SPeL7KsQp0J6XSj1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7137215},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"91a89d554203a689532d110bd0cecaea508d2eca","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.10.2_1773760267313_0.16777059585826137","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.10.3":{"name":"strray-ai","version":"1.10.3","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.10.3","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"6e0dfb58d3ae77144a6a52c355f711a6bf541e0d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.10.3.tgz","fileCount":1418,"integrity":"sha512-bE7EdsialRA3tLi9eWuyPiXA5bDtg3R7Sl4cC2JKnUwm8G148Z0kfik5Sghst8EygKjdGo8em3a7Go5zDBYvUw==","signatures":[{"sig":"MEUCIQCUUq0Z7Rc037/D3R6tKOeOY5NiFHUvKL9K00GgOOewOgIgHZDgW7kgmRdHLAdIGsKDyk+eXhDtSJoluxXu8R3vnXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7137215},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"43f34d28506bcd25e1c551c94134ed990e45dd7f","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.10.3_1773760341204_0.6155061858266095","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.10.5":{"name":"strray-ai","version":"1.10.5","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.10.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"2b63c2836e20b8e7cfb31b774812e6110ff4f252","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.10.5.tgz","fileCount":1418,"integrity":"sha512-MvHkaA+HTEhkp5heTbJaEnB3byiNte71e99P+4XN0tsK2hg7Nh0EFCiY3P2WAFb+owkSaMe5kCPp2HkRTCvC4Q==","signatures":[{"sig":"MEUCIQCSa4uv/Kty+eLRi7M+Ms/G9YboA1Q3I/9AnMzkkrh03gIgO4vaaKWMAA3GhwrOdkyklk5It4gPZN067Q/J2sAXycs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7137215},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"d8ce9baf62d8bb783e260af97600303213a445c5","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.10.5_1773761402374_0.4017002257703648","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.10.6":{"name":"strray-ai","version":"1.10.6","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.10.6","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"084fa06a551b356b339095c414a5e7b921d78ee7","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.10.6.tgz","fileCount":1478,"integrity":"sha512-/+694Eg6/wVFrklIirK2gXRZGkq+PgJVG9XVk2cwKrVpws0ceBGk7NYn400sPWcApOvTs5CNZovP6h6prZCTgg==","signatures":[{"sig":"MEYCIQCFI44UUeF1fm1HlIeAHjj40prPKUF5B09SEpUQNWgiZQIhALsTDbXpWIq/Wn0jglm3logN4Oy3H1sbTslg/s4D+cb0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7256378},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"099a8374412d93eafe4e1f213390c8a84841c798","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.10.6_1773845934821_0.575723691195287","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.10.7":{"name":"strray-ai","version":"1.10.7","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.10.7","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e643d3cbf8f60d8d24f243151a624589ee426e13","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.10.7.tgz","fileCount":1478,"integrity":"sha512-OK70KxM/zuc36hJ6oLqRCe/ND3HSd94bv3UM/CLU+BqSYDAfWVVFEYGnZyx5ojhBkMgbvDuM6cYnyqAuhQjPQg==","signatures":[{"sig":"MEUCIDdxW+vOke2PEHqt9h8G+3IOZL1q1fYe31RStat9kA9RAiEAjvO+4ME3nJPfibjLYGe09X5AQCldv4n7WDtj5ESTWpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7252691},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"85ba267b1db0d6df3739962605758c7c5704f816","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.10.7_1773857180411_0.9202828347574337","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.11.0":{"name":"strray-ai","version":"1.11.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.11.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"a2f451ea2772375e379ed5608d3dae59521e054c","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.11.0.tgz","fileCount":1481,"integrity":"sha512-Md5J0g2y2b11wXgFNB66r4OqTo2ldrUgvL3E9pQWE6qt9SYuqcfopiVL6W7UyIQxJycZZf19XRyPkiTgWeZQ6Q==","signatures":[{"sig":"MEUCIQCeypCKPBWjF2qTnhZgiU1n+UvjbFWI53f2KWSNbmQN2wIgXLmpC1URlg/ed+YrOmPktQvdVbQ5/2BeuC+/JkJgodE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7273678},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"6e68897319ec50f402042310a33c2370cb36b215","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.11.0_1773866312805_0.9875688424422766","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.12.0":{"name":"strray-ai","version":"1.12.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.12.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"542812f885cef1686d185fdb4b2470c90386cd64","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.12.0.tgz","fileCount":1481,"integrity":"sha512-bZtDwteaF3hBRbfH3Sh1Q0qIKPgGHuKEtO7tE7MYECfeceZG2u9eX2+77TZkxu4r6Yxoy1+nMnvNy4iMpfAU2Q==","signatures":[{"sig":"MEYCIQCB3+q5TXZzqSyzDEANGh8g/jThK06oPl4ldXiYlWIwngIhAOy+vNd4S7APuNv5AXtNAZlzISf0jO2ABrpXUQ5QUTxW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7273678},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"60be9a7da4759512b7a31ad4366b8fc8f9c0d518","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.12.0_1773866367930_0.13763564164268782","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.13.1":{"name":"strray-ai","version":"1.13.1","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.13.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3ba29c1d6d657f893753b94dce1774014b02f091","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.13.1.tgz","fileCount":1474,"integrity":"sha512-OL0MMy40zf0L0IuWmR+uEWune+PJKKO068LdPDPhhHOciaO1CtTh0LKH1Ug+4IEp0SHPmqRSlq1fdrGNWsW5Lw==","signatures":[{"sig":"MEUCIAawcEDgDvRxSQHgH6lxgdvD6BoDovyadLljFP84X4TtAiEAyW5mPZCgWbG43i0qwiBsyunB4Re+C+sV84WHl/0dqFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7272287},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"e1b8934b02ec78343da81a7a90b3d92b8b529592","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.13.1_1773934616132_0.14936161602479636","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.13.2":{"name":"strray-ai","version":"1.13.2","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.13.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"22267b860e6074cb30cf2b4c9a7578d2d58657cd","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.13.2.tgz","fileCount":1475,"integrity":"sha512-VSSlolNQk/s7hdNgCvQ03QObhuw0XSIMKP43POYGz3BOhoUySD+4/dx6z3GsAxyDJXb35ALjAlLBH5AM6ASMRg==","signatures":[{"sig":"MEUCIGjKRs1PHgr2UqZNlVyE6hwRcjvqoaRnhhMnzsvg/EX6AiEA4bkFNMPrcWp8vYQQdoj9Scrbh4dHsR4dXyhqpnYEnuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7313946},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"f426a681af2c2ac77009e7a6c35eae8eeb301f98","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.13.2_1773943709546_0.5661847058123661","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.13.3":{"name":"strray-ai","version":"1.13.3","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.13.3","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"7e7af4558edbe2ed55a4241b5eb8db1ffa1885c9","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.13.3.tgz","fileCount":1475,"integrity":"sha512-JIxlSPSY6gFRQYd2V/PepYgYGN+QizH3spJVkE5Hmld/os27fL7cC/auPJY0DKRW7n4rYi6BjTmS36AuZ5qGyw==","signatures":[{"sig":"MEQCIEZehyaz0CprYFBvlrs1bNEIBhyeHgGMx540YxM7Rz/YAiB72Fkni+qr/7h+UEbqwPKezgwRJGEjjogQVfsHhWcDWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7321023},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"fc69242f8757b18a6ad6a17595a7840a7b137a4f","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.13.3_1773945572473_0.6176038442610892","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.13.4":{"name":"strray-ai","version":"1.13.4","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.13.4","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"b5b9280b60c38ab0d458b7283de73bf223b8f8c8","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.13.4.tgz","fileCount":1475,"integrity":"sha512-4owuDDAb4QysfleLwtL4zVjEzZckGdgarWyaFr2Efp+BIRNEybnEv+mZvlJznUKmJbqy4Id9dhOCaMARiKIPTA==","signatures":[{"sig":"MEQCIDe2Qa0neysbDV93Q9YWVElW3VKPl1r6m2Xl+WAUaSzjAiB0DyLWa2jOAtE7BznFu5dwJN1LJ2i//hcxYShSHe45xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7319386},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"cda659ec31a28c5697ecc23c1f5361cf4e064395","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.13.4_1773948718864_0.8013472632157199","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.13.5":{"name":"strray-ai","version":"1.13.5","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.13.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"fe88635e8a6e868f1bd3bb24c0dd188144074e0e","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.13.5.tgz","fileCount":1475,"integrity":"sha512-wxqzMT1Da7/swaNguwTnTfEsY2rsGyaCADNhm2wJAeTULSwEHVJ80BKVG6CIn32P9u93cXGO5qBOBRz9CIyHCQ==","signatures":[{"sig":"MEQCIBDU8pk1pbfQE4plfOES6AfZPK6QzwCNQ/RcTaQC7FVIAiBb+NVv+Ovgrxe3a//+NoZs6ymTnadkLsHgKb7+OfVVRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7329159},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"ea53c9465bc4cc0c0816118a41591214730f9e99","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.13.5_1773970849684_0.2645634623004398","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.0":{"name":"strray-ai","version":"1.14.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"8e78b861697450efae0c117fd87761cbd849d06e","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.0.tgz","fileCount":1642,"integrity":"sha512-WN3YzCzdEtltQryghhIdYFhuj4Aw9kxxTPPZctHiWC/r2ipUuhcJzXCkdhIZRtGBpsoK3Ra0TeVktx4swsL1RQ==","signatures":[{"sig":"MEYCIQD1jgDeE2TouTi0LJjAf1QQ1HWQ8RfcJz3NfPctbA1tWAIhAKkWWBc8JJB12iYGTbrOfyL8wGRiynPZ1g/XwMIVShHW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8746840},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"98c0e6c093bbf4f8a40e20b8c1aa34dfe7fc61e0","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","docs:reflection-index":"node scripts/node/generate-reflection-index.js","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.0_1774290438788_0.7999999170073937","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.2":{"name":"strray-ai","version":"1.14.2","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"575013e16948894420feaf0e6bcfada5e598b945","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.2.tgz","fileCount":1528,"integrity":"sha512-OzZHftxuLNsSpRu1WXapoww1+yLh40qO/0R1CafBOiW1bfT/7x8XL5APeDCosUfLfHR/Xp2D5/1b1X0HI2J/tw==","signatures":[{"sig":"MEUCIQCZXQ4+9NpzkImrBIzwOr1MA7C7NCQWG827DC57qzNnWAIgKFwgeFjINbTr3NWF/LGvMF3NWpX7eH5BFlDapEY7fJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8302047},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"01571ca2d080e783273698bcc972e689e15a9017","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.2_1774540213608_0.5308262741797152","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.3":{"name":"strray-ai","version":"1.14.3","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.3","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"afc8dab14ba8a3b733ebb4370630005eff7f633d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.3.tgz","fileCount":1539,"integrity":"sha512-kkFSo4bRpXNzckwAZMqWXTXFsHm1H7Z0H+Fe99PzmFtWEFTTAsIvCrrnfhkwa246vztqNhDFjqrUZYnQ5+Vltw==","signatures":[{"sig":"MEUCIQCt1iuajK5FoULces6s9SycqF2BKZJXaG7UAh1b/DqQRwIgK+Q4cyld956INYtPnL9uHqWxjBeJS0MX+ZEqvRHEhLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8325247},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"d6b92f00f81832e527951bfd8ff257c7ee01a98e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.3_1774540826866_0.19382485560826335","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.4":{"name":"strray-ai","version":"1.14.4","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.4","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"6a7da7bfac99010664a11ac33a5c322376616b79","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.4.tgz","fileCount":1539,"integrity":"sha512-5xTp/YRJsqWdVDj/JtpepiczFa37/eMiC4yBl0tauLEI949mM2RJLhXuY/t0GRBWejFZpO/OogML85LqNKHzBQ==","signatures":[{"sig":"MEUCIF0wu1x2nn9PQsP0TowYQXPnuD7UIiFr88f9+E9UWGPdAiEAux1gHKikxYfuMdRNTZjxL+vzQX6xC5vlVVh9WFPOwu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8256880},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"4f653c59c2b95634706de931635f92d02beac346","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.4_1774552721090_0.3900547181980194","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.5":{"name":"strray-ai","version":"1.14.5","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"dab64d9c3efeaf1239a657b1442cde3d8bb94a91","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.5.tgz","fileCount":1539,"integrity":"sha512-Iwd8xudv0q8h4aPEn7UtRkA4WgroSwCpluq8xed/b+5jGcX9a0C6uqKXHAKFuJF5DpP8opnprq3jULXu5qHkhw==","signatures":[{"sig":"MEUCIQDarTokyYPX5GlFYULAxpkRRXWwaLpMr3ZbN6QbgtVyogIgV2H6pgQRjR7mpoFwwYBgy9IGnvPTQTOBorDnyKTPFDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8258076},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"9faf49a5381b3bc85fe4439b1417112c6bcd9a74","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.5_1774554696522_0.41786067321314135","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.6":{"name":"strray-ai","version":"1.14.6","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.6","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"078b6217f41c1410e54be8306d72f3061856decb","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.6.tgz","fileCount":1539,"integrity":"sha512-RHN8BsfB4hGQRV+KGRYcZLA61a1dzdPGXwSHhXP2A6x1VrW6ROkuUGIu+rvOAfWFuV9+Ax7WCyXpBVZxHu1CAw==","signatures":[{"sig":"MEQCIE1LYBwTPGGMCc20R4tFVWGxxSHK0FcOuMb+JVQxlXzSAiA+uUChPRMZe9wc8QrIMM3T9OzaCG1q/83nqzShpBEiOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8261023},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"63ec5fbda71305cfbdf913a1ff3ad88dbc830e49","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.6_1774555520244_0.06421961030366918","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.7":{"name":"strray-ai","version":"1.14.7","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.7","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"a178486893fb3d68a8adf599accc021376fa593b","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.7.tgz","fileCount":1539,"integrity":"sha512-QxoJl5kElhLkL0eWgzKtqRjlx7uJ8dn9oqshn020dd02GHXm6/cqO9QvvcheSZOz4WNtazMWx0aWVIn1AD381Q==","signatures":[{"sig":"MEUCIH+jxPXuCp7S2loSodAegqUosjhwiR0ZNR9MpMsQkjnNAiEAnvh7sK43WYzgnshZPm2xgQJMm/DnG2EhFs5sK3JwY+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8265740},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"54e6df71d7921b4f59a84f13cc21c13475f68af0","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.7_1774557077590_0.030749252077030942","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.8":{"name":"strray-ai","version":"1.14.8","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.8","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3a028479226fd63b6c261805b3335324ac229ea4","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.8.tgz","fileCount":1539,"integrity":"sha512-L202zYZuY01PGE3MvDt0f/ASFIp8NcLMOdkfow0XU3DZS6IX0TTYDC+YdwHYRfUF7UD3acgYseFXWD5acuwJpA==","signatures":[{"sig":"MEUCIQDUFzSIaNdM+19FXgUR1XFy7f/P3KKzxfYV9h03UxBrcwIgG3PENc9AwgwLajSQP4YgOiyhrgTjg431W5B97w40CDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8269021},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b1c8f26b19ef9adb3cc2d69c2d7dedc699a4e01a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.8_1774575755719_0.09966984892362785","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.14.9":{"name":"strray-ai","version":"1.14.9","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.14.9","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"94929e3f86b74af6a880f99b09402b4de5646778","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.14.9.tgz","fileCount":1539,"integrity":"sha512-amV7Ly/45eulTNOY0CI+ckdwUCvvIK1zcFYKlcUkrRiVyIq6F8CNSUR5F7zM2kUtHcYL6YHe9C2/wJljWBXVLw==","signatures":[{"sig":"MEUCIGw638C2JoPqGMQt19M44qbZZdP9yFNWze5fi2hWaLJcAiEA3EnZ5H01hbRwWJSutEOfH28lAYlECIti1vnEb5dfi5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8269021},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b1c8f26b19ef9adb3cc2d69c2d7dedc699a4e01a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.14.9_1774575794502_0.0796842626081764","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.0":{"name":"strray-ai","version":"1.15.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"327b452f41a27f22fa7c1fd4f9a38f60c4956dad","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.0.tgz","fileCount":1539,"integrity":"sha512-USiFJV59yhuyaVAkBWqatKNvn2S69toCC3IjZ2sDPcn+/G7Ct6HP0OKf/bmyuXOggOKURrzV+hwb7edyx9K+WA==","signatures":[{"sig":"MEYCIQDpqbxTO996geVReDzvKk7dNFyQCJq2QS8kb6vI9bnxRgIhAPHBJJbFG1yiID3YiC0JNnYRwm22O5HSTPAop6o/dTPW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8232676},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"eba1892ff93ccb5313d91647f4390375bc49cdbb","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-routing-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.0_1774617647609_0.8912206896966348","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.1":{"name":"strray-ai","version":"1.15.1","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"6ad8966935e99e90ae236a874aaee7ac1514bd23","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.1.tgz","fileCount":1552,"integrity":"sha512-n71Wr7kZ9fHoIhtCkPpMqIJenRT8DYPHYmkWQ92MNLIimQGKLL2YUo5jdyZBvyQTjLJasQf+GtA0RSCoYablRQ==","signatures":[{"sig":"MEQCIC8Apifp4u3cuhXVgePpCL6eeCAb35GBsjJgw4mtwMq4AiAJLKc4O13YY6Aq/a3Phup3fxTBXyFmUjcwlGJL3eY96w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8293523},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"2d84baf34d60e6dabd0036c8133e8e4b517ef6c6","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.1_1774630308478_0.8720183724506232","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.2":{"name":"strray-ai","version":"1.15.2","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"8b4a08363dda6460a728c3c67d613a9d868f7211","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.2.tgz","fileCount":1552,"integrity":"sha512-63HFI9kmDP94JeflOgGoZACqibfJ9ly6JFaYYzCUJvKTLOuYo7PmA1dgU4JHdGvF1qLwBNnShW0QAPhbuMQfig==","signatures":[{"sig":"MEYCIQC7iD8Ogb2MzSqkGQ0i+HljsSxRbNZwFWIlnOKd8FToVQIhAPP7rFotZHKqR8mUAMr77/nRBnT6vBkifbXbY/KV8LnK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8293523},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"7273c8d53f276bf1f952eb813c61086a77c1a6ab","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.2_1774633592430_0.5773451182999054","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.3":{"name":"strray-ai","version":"1.15.3","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.3","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"cd563ed3ed0dda9a5a436a4991c452b7face4efc","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.3.tgz","fileCount":1552,"integrity":"sha512-5ffxdZHhDE2DMGsYNluUfKsFL2gNDnMJj5JYukNRtn1PpNEVQFw9CqQLwZWO8q8qSzqp3e+bmGWG8PW1lhD+6Q==","signatures":[{"sig":"MEUCIHw2eF76n74wM3TcrVZYdUodbtos/EDoLGCMc5GkC4YfAiEAxGYVAtDFn587sRZ21JKTtMu92EaORq8tidY9V2DLGIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8293523},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"21c87d4e13a62063689f027561d24fa56e0d3773","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.3_1774633654058_0.7540808059501829","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.4":{"name":"strray-ai","version":"1.15.4","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.4","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"2d051cd324876c7fa8f118883452cfbf63fb0f22","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.4.tgz","fileCount":1552,"integrity":"sha512-kRGpOk0zsXXpyfbAKHmQprhJOZOGBd9qmaNHf92j8RNvK3i0/AV6KnqR1CiIjCnkkweSrkNTBG6l0ZWkKHLTlQ==","signatures":[{"sig":"MEUCIQDrnP8JzT7zpfUHR4PBW3mFdOKjEJFNGooEN3mnwY6PGAIgNNEyEWWgn+J/OqociWXP/jjdnajwwfSjH4sEtjx/BN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8293523},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b44f4ad4d8902088ed2affaf40a55c300b7e45ec","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.4_1774633733228_0.6258678204864718","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.5":{"name":"strray-ai","version":"1.15.5","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"560541d6fc538307417ed412d510375a34d8bcf0","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.5.tgz","fileCount":1552,"integrity":"sha512-+x6GbQxQi5W9uioBDIG25cAy8oed6lCiLMVP3+GlTXOruH/0vzT+jmNB9lVwDGzunDHbwcPBcvM1VjwIt5Sicg==","signatures":[{"sig":"MEYCIQDRCEbHqZIKRss4FWkT1LEfxqGQxZPatWoy8A6uoS+uFAIhAMzYbvw7Ntgsjpsk4o36NWVfMLQGzIa/ShILuGWsE5VU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8295038},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"ed2f5e9dc7f058f7f287c28b40f49e9e97be69c8","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.20.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.5_1774643629195_0.5983925301130675","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.6":{"name":"strray-ai","version":"1.15.6","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.6","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"ea1dfa51b5809be650b539c3dc72cc42be4ab859","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.6.tgz","fileCount":1445,"integrity":"sha512-M0uI0/SBU+leCrIWehJ3p65Yao6f/hrLECTWmG1moMqbi6bIQhkzv+aG6lvRv2VMswW1oaDTpm0kJtAzTxryOQ==","signatures":[{"sig":"MEUCIALviRl2iRj7XDj/4peDq+TnM5OGCZZDLOVYDxucGoHIAiEAylFgLTtTyIiwXhRwjgqqjPutIK4+W+A1bANuv0HTYLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7156258},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a9a3fb04c28d116513f4daf4354ed1672902e419","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.20.0","eslint":"^8.57.1","vitest":"^4.0.18","express":"^5.2.1","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","eslint-plugin-vitest":"^0.5.4","@modelcontextprotocol/sdk":"^1.28.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.6_1774665784697_0.05316440268124434","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.7":{"name":"strray-ai","version":"1.15.7","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.7","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"30248a6ed004e3489bb844749e65492a0dca16e2","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.7.tgz","fileCount":1445,"integrity":"sha512-lYY8wiMhdVQG1xY/fVFhYjOEW6PgdhJ3iXR4D4aUGF7DBpK+XCzyQTG8ci/0oar7zjE4N0nDoUyF+jiAaXyt3w==","signatures":[{"sig":"MEUCICwhYEu09q2bRLlkiB0qC7IYb53LokMj94SY06M/E44uAiEA172OaiVr50AuGJKZYjBQlZ8faGpQxJT4TsRV61CZ/i8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179604},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a3e86202b8e64c6207a01e177d1f7caac8fd6c7e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.20.0","eslint":"^8.57.1","vitest":"^4.0.18","express":"^5.2.1","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","eslint-plugin-vitest":"^0.5.4","@modelcontextprotocol/sdk":"^1.28.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.7_1774670871619_0.06792056527662527","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.8":{"name":"strray-ai","version":"1.15.8","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.8","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d811f6f5ea494e5acf3d00381831971cc27725a4","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.8.tgz","fileCount":1445,"integrity":"sha512-xjBxJTem2H8rvZwuRRHa+0lxU5bSsoD7IjC+lXue69K/sKczOA7CiN7TqAfz6WxFB5FE8nOD9lS+xjIJunHQEg==","signatures":[{"sig":"MEUCIQDXIHTMwTWOxMlbHSHFzcoYb6pOMK/niChdLzbxvdsHwQIgaoCF2XViYLU+EAlEBKu9J+aIUPWPdyAhfXZYk8UAB0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179604},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"37430a34431c340eb5272e0214872346c2e5c1fc","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.20.0","eslint":"^8.57.1","vitest":"^4.0.18","express":"^5.2.1","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","eslint-plugin-vitest":"^0.5.4","@modelcontextprotocol/sdk":"^1.28.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.8_1774670902360_0.7127897988730898","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.9":{"name":"strray-ai","version":"1.15.9","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.9","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"34fab004e811bf041cba9a8552ee9c37c7b4c35a","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.9.tgz","fileCount":1445,"integrity":"sha512-hk8YKMqDuYh03b3Yjz6sYzLN3U4qxDbB2/ZHzwMLHG8rFe9gwGBdA3zP+LV6d4uhJBRRSqsVoDv8zuc45cUSxw==","signatures":[{"sig":"MEUCIE9mM5Q6sqtzFG2V7maxzKfTb5nAzg5BvCKn6Qt9mQbPAiEAvkZk888Oyss9sQx7JdN8JXydfZTCtCIjghXSr5iya3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179604},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"1bcb0245c3345a25d1c5355dc472a7de952b785e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.20.0","eslint":"^8.57.1","vitest":"^4.0.18","express":"^5.2.1","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","eslint-plugin-vitest":"^0.5.4","@modelcontextprotocol/sdk":"^1.28.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.9_1774670933574_0.04576578046187563","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.10":{"name":"strray-ai","version":"1.15.10","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.10","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"010d15c2b3c25fcbe95497fec23a817171f61c4f","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.10.tgz","fileCount":1445,"integrity":"sha512-NzK03xHR4LGD9w4dzP8P0kc4i2vW2OUXQYyeE2PvV8jWv72Z/rnNgSNGehH8L6OBQHUUNvJsh3FF7M73GjaE3A==","signatures":[{"sig":"MEUCIQD77WS41NJvPOIm/dOujiEpb2aUhRmZpNsEjSOACQ94qQIgcyBfRkDhF1sQ0qY8W/U0Q3Hn7wfaB+Vejgr2qjVlQLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179606},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b0dd4876f1a1d6c70637dcf3f6b07940627d2810","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && npm run build:copy-plugins","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.mjs","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint -c tests/config/eslint.config.js src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"npm run release -- major","release:minor":"npm run release -- minor","release:patch":"npm run release -- patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","docs:changelog":"node scripts/node/generate-changelog.js","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/test-governance-pipeline.mjs && node src/__tests__/pipeline/test-boot-pipeline.mjs && node src/__tests__/pipeline/test-orchestration-pipeline.mjs && node src/__tests__/pipeline/test-processor-pipeline.mjs && node src/__tests__/pipeline/test-reporting-pipeline.mjs && node src/__tests__/pipeline/test-cli-pipeline.mjs && node src/__tests__/pipeline/test-processor-mcp-server.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts","docs:sync-readme":"node scripts/node/sync-readme-features.js","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","build:copy-plugins":"node -e \"const fs=require('fs');['.opencode/plugin'].forEach(d=>{try{fs.mkdirSync(d,{recursive:true});fs.cpSync('dist/plugin/strray-codex-injection.js',d+'/strray-codex-injection.js');console.log('Copied to',d)}catch(e){console.error('Error:',e.message)}})\"","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:skills-pipeline":"vitest run src/__tests__/skills-pipeline.test.ts","docs:reflection-index":"node scripts/node/generate-reflection-index.js","docs:changelog:from-tag":"node scripts/node/generate-changelog.js","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts","docs:sync-readme:dry-run":"node scripts/node/sync-readme-features.js --dry-run"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.20.0","eslint":"^8.57.1","vitest":"^4.0.18","express":"^5.2.1","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","eslint-plugin-vitest":"^0.5.4","@modelcontextprotocol/sdk":"^1.28.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.10_1774670993919_0.42496227276467624","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.11":{"name":"strray-ai","version":"1.15.11","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.11","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"2f8640b6115e805c6b1323e8b15d55c12e5a39df","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.11.tgz","fileCount":1456,"integrity":"sha512-6idXteE7nb2qsp9hVHYmaEL+wRlCoesp+gBC0gG/Lj+YKR5g6AB+38RZmjIKaJ+XSPBh6we6liKin805XG44IQ==","signatures":[{"sig":"MEUCIQD+7Aby5eRf80N2EkueUahBtrh5KLAnmtL0IeuL0jobhwIga2ooIYH5wJ8Snmdua+lkmkncGO1p/LUAzB7Ge3iGbMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7193697},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a2ae8e93c603751216ab6ee6579c39a83c5fb881","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","@types/ws":"^8.5.10","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.11_1774732045990_0.9672123597178666","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.12":{"name":"strray-ai","version":"1.15.12","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.12","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"542ca999ae2291adc78a95c66fd5c372e69b7193","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.12.tgz","fileCount":1456,"integrity":"sha512-Hjc0qI4zMymgY0xicmzjd/kvrOz1shwMGopcgEAwXY9YbziuDo5c9HScsGmY+h6PKXu3LRnGpaYg+IDMdYmDQg==","signatures":[{"sig":"MEQCIAEYqGRjy5eeO16nzAuJMEKrDIpzwF/dE81sS3R8Qm+jAiBwEN4uf6eV1d+L4qi7DDkHcIuS5/W3l5x4xjmj4xL82A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7185661},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"35b158283732a0cca912a64512a9d53ff28a5fd5","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","@types/ws":"^8.5.10","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.12_1774734117850_0.050291411767449334","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.13":{"name":"strray-ai","version":"1.15.13","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.13","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5ab6b8e8025a780b4a69984d6cf01b9de4ce67d8","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.13.tgz","fileCount":1456,"integrity":"sha512-2gITd/G7UwE8O85hM5tPjRhAM9c2+W5YmI2QDyY08vqZL0o+6vjY1FhgiqxWE37/8qxVlgiqD4dWNQy4hgTEFg==","signatures":[{"sig":"MEYCIQDKopqrA3kx15IaQls+u/jOLquGvwHlCWicCDDMt4HmugIhAM8fqnL1Cvl3x0T0xDZPHrvOv28CUrsjsRr6vWZaadX9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7181769},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c055785f3d13f8548b1db9b2f26f23540001272e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.13_1774735891063_0.037364438548129986","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.14":{"name":"strray-ai","version":"1.15.14","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.14","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3e6c9a1ae1cf1437bfcf8eaf6014c4d770615df3","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.14.tgz","fileCount":1456,"integrity":"sha512-kug6o5zmAjmojhIOPyGHiG744sxHg38PwwQnr/TczSdtWNiiWdxGIhdi+tohe80za1BR0iL/yEUltfJWUNYybQ==","signatures":[{"sig":"MEQCIBBTCnI4PwI1RG4LM5htvdyYXm70LoHrlTAHF6yGCl9uAiB+H5thhAkWHUCOvh+0P8WTY2q3haqLm++y6dy4FwmFig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7181769},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"3c1e6f647fd30f26bffe30968e46b2ae49ef156a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.14_1774735930725_0.39886775910815997","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.15":{"name":"strray-ai","version":"1.15.15","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.15","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"6ac370db6b0c40eb08355058838a217b56b864d8","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.15.tgz","fileCount":1456,"integrity":"sha512-dhFBkftKOMSOZOSo168mq2HVvDpDXVhQAP9WdIs8bb843ulsclnaKMslGfSseAf273rASzb7mQ4tq89bSAwHAw==","signatures":[{"sig":"MEYCIQC+gtLpfWR06JCx6fvF1MAskIhstSUVg5hCXssYTXMopAIhAL8wCnnnagcKKuAGujcKMvNmiNvNO2jZsICe5mTaHOhu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7181769},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"ed0e2669937a55c87d42eb38009352ea46086a68","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.15_1774735986289_0.2669498279181943","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.16":{"name":"strray-ai","version":"1.15.16","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.16","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d947c30dc562ab40fa1d0f204d25e87522fc14aa","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.16.tgz","fileCount":1456,"integrity":"sha512-7fZlx8taNwrtbm2T74zzz8pMEUKXizE1w8Qbcv3r6RdaoLEBPvEsdYC3rQxh32iV4+1dB4+hEiS9Gie/3jsz8Q==","signatures":[{"sig":"MEYCIQD64w7xyi/YwFB4/w7C9BvsIqXyRcQK7CPOyYbMFwf+UgIhAIXLWB8I+NMOTo9VdRnBvBWivwSyYm1y6ZV7WpmJQTAu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7185793},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a365843e91e2588d8ad2b132959ebe9c8bce0814","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.16_1774738326610_0.8240906933393592","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.17":{"name":"strray-ai","version":"1.15.17","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.17","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"664a09c90b96136f6cef0942eb041da59ca4db54","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.17.tgz","fileCount":1456,"integrity":"sha512-mSYm0JIIJFQJQtEK9l/j4QCUhHK65jm0KM07czQw0r8jCP41RuIAAZebJkeyhxnORzYAcZz3F1WDUusFsmpY9g==","signatures":[{"sig":"MEUCIQCQExXwBtfV8T9+9uD00KYMRRxAddfP9X7qgCddtz2pywIgKJGN0nZl+BPZoUnlzDhMhfVkA9M5b4yA+m+E+Hgd75s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7204298},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"264886c338285863616bdb6446b2aa6ba10b3a84","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.17_1774742832517_0.28535460363956666","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.18":{"name":"strray-ai","version":"1.15.18","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.18","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-analytics":"dist/scripts/analytics/daily-routing-analysis.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"df1b02ded1abe10fa46a368d8d45569fac586aef","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.18.tgz","fileCount":1456,"integrity":"sha512-nc4Q8X0cms4PK1Rl6l2k56IjAQzK3cr3mr+DJyCyV8eSewKQzyFCOy4PVhLHQM+4wDjXneeZfVPjly9XI412Bw==","signatures":[{"sig":"MEYCIQDG8dFiR2JWqD7odIGjYh4NleqjMiIc0AzsoVL6PYt0JwIhAKTF0ohDNrdncPy8xl7KVQovv/V1HrFbHzGtBdH6/JAi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7217499},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"0af058e66ae67c0e7ba8cce5bffb5c7a6b2dafb9","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","analytics:daily":"node dist/scripts/analytics/daily-routing-analysis.js","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","analytics:daily:apply":"node dist/scripts/analytics/daily-routing-analysis.js --apply","analytics:daily:preview":"node dist/scripts/analytics/daily-routing-analysis.js --preview","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.18_1774797737217_0.5408986154565563","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.19":{"name":"strray-ai","version":"1.15.19","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.19","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"2ea0aa77fcfec940a20c30f12ebefa51057a80e0","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.19.tgz","fileCount":1456,"integrity":"sha512-lg7brDASviRnDobOHOgyV828T8o3NYhwSkBBKr2h/MWJYFrDKo0wbAvIwHYWNXktmVCgDBPBbpcAoKXwRva8Xg==","signatures":[{"sig":"MEQCIEe9CtbzRjh2fI3CM3YpSb88pJaFNIvm1cxVpUuyqi9UAiBDkE5w/61OJOsUyxPofs+MpykWu7NoVqMC3cqre2GJUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7260575},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"7d3f3ba77f124a160c7ba7b4a455c27a3539e9bd","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.19_1774820088367_0.08183207054190711","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.20":{"name":"strray-ai","version":"1.15.20","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.20","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5ea0956673263095995449e7d850de1e8840cab6","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.20.tgz","fileCount":1465,"integrity":"sha512-WMoFDVdvYVPWZVAWa9VJvbk8ebRRzJ7dlICQ0egdqDyZh0VZpLbhC5kCFa6pRCO9KkkbJVQxqmC7YZDG6o20Eg==","signatures":[{"sig":"MEUCICbT2ktDbOYwMhbYkDnq7LGxer8AvlyBFduiYnfy8ltgAiEAvPP999bE5775FtL/X/iFkamGPMlcNUQ7pPzjEfIrjnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7330747},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"cd351277372844420cd06b9a1d2d27227022f245","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.15.19","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.20_1774831636752_0.2767361288327963","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.22":{"name":"strray-ai","version":"1.15.22","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.22","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"9894522c562d82ecff42167fda2fb22058158add","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.22.tgz","fileCount":1465,"integrity":"sha512-HFi5yKT3YFi4fBI++NpViDqUHW4UWsA9Y9Lvb9mYVWaxJVrcpoWbKJHctCGgmqB5kkb51Sn14rG+o7Djx9JatA==","signatures":[{"sig":"MEYCIQCb2bLW+3iXGhwD3Z99RxIUtoghuZk3OTIqShieEVbUBgIhAOfXn1Jma6bI6oC2ZlrBDjG/ZjZk/j2g32cKZ9wjgX01","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7330882},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a1ce577add73d012190c6973432a4a835f4d9698","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run pre-publish-guard && npm run prepare-consumer && npm run build && npm publish","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.22_1774833183257_0.6834109972445832","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.23":{"name":"strray-ai","version":"1.15.23","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.23","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e0208241a4fc9597469c722b2eef45a479f4ecc4","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.23.tgz","fileCount":1465,"integrity":"sha512-+QDF2Rh2/5URWg8CeSm/+2EHRmz5btaO2Eui06FJayQSTQlvazyWY6uWQi9wgU5EOJ4+7/HmpR3gcQba5CKcsg==","signatures":[{"sig":"MEUCIQDsI2jHTeJI/rlIYMLd3LVYJjD+3dKDyZLs9f7nbXLXZwIgKPB0c5t7WC6J1RHlhf+GjE9ltna/mCc9uw7glqyzUME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7332695},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"eefa6de97b762b30120018520f556fbdd47031e3","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.23_1774833865594_0.4771766276895464","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.25":{"name":"strray-ai","version":"1.15.25","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.25","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"1d6d8764fe2773b334073085dd0f43b92657b3c5","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.25.tgz","fileCount":1465,"integrity":"sha512-Sf2U1y0ukkWuXwZ63G0PrCRrcyMaKSMEAJiWsWfBPN2zMJRFdvj25dXvR22gSP8ugdNLTRMtAC1pJs395ZkufQ==","signatures":[{"sig":"MEUCIHif5tFTCLtajI5OLP1Vc3laLzcq8AXPl+12fV7jabULAiEA3OqltsUkBmYrZCbGCRi4Ajn8msrBg5oVSS/hCy1OurA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7334404},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c7dfe5eb3d318453a26e6c5a704e6619468f4637","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.25_1774836244130_0.6729001370868866","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.26":{"name":"strray-ai","version":"1.15.26","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.26","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"b8eb5fff82ec252f11b78e6b4107464e887617a1","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.26.tgz","fileCount":1465,"integrity":"sha512-EX0lF4YTnPdW9uZEIhxvhrN9/+FA47fBy7o3b2Cng2TUb+s+wyQ/2n0WtMYzKfBFh6rVP8QYPEHBf6D0TK4MBg==","signatures":[{"sig":"MEQCIEOmLQhTKGKA8Pa1Iv2LsZo6I4LFbnBravyTd8jeTUXrAiAkgIbRIkG32jcE8kBFgejftZJdgFb3Cr1/6B0zqFzKdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7334767},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"730e6170179809314768f36421add266e5e59fc7","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.26_1774839085423_0.5540583059598962","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.27":{"name":"strray-ai","version":"1.15.27","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.27","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"4297ed2ff1441c563ccb66f5c9642e89b08b83d5","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.27.tgz","fileCount":1467,"integrity":"sha512-qjQJ9sy8k+FKaRVMs+zvE4KiWD2hNw48UwbyuoYP8Ybga+9wjiJ/ePUEXYuzsLYNkhqkJymTrcToxLWq0uaX3A==","signatures":[{"sig":"MEQCID96ilpJ71z1Ye4Fo6ob6t+fyHnxwyJSLvskZrOJ5LwdAiAsjyeRDBgeRoA7w/5jN2FzOsHQ9jN+41hhMjhO21iQpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7378754},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"9b2763ac5d17286df7f278211fb24ac8cb6025da","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.27_1774840312637_0.6375974424656545","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.28":{"name":"strray-ai","version":"1.15.28","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.28","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"520db6012726c08a2eb4993da5a5f09373d31467","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.28.tgz","fileCount":1468,"integrity":"sha512-M9GyPHCIRxzITHeQpijS3E3gT4clpjAnuJAeHMjaNLtRsGuKfMmMAKwQofLzaxeFDnd5fmE/6pZUOH8g2TtHqA==","signatures":[{"sig":"MEUCIEZs/9p+sqVPoqPJ2VUSRNPOVv4iQcLJzY1S0taBfFkWAiEAgc/zhJKt4dnTJUerJF8dOnlXCejCKcwgUE6zRILX5w0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7404995},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b4bcb210c66e3d002bee2df6ef76a32304b844c9","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","fix:modules":"node scripts/fix-module-compatibility.js","postinstall":"node scripts/node/postinstall.cjs","test:plugin":"node scripts/test/test-stray-plugin.mjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:modules":"node scripts/test-es-modules.mjs","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.28_1774872355904_0.06335235597935296","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.29":{"name":"strray-ai","version":"1.15.29","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.29","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"282b8e8338936465ae3e76d1011720d5fd232f7f","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.29.tgz","fileCount":1360,"integrity":"sha512-03XgvmMHcaX0JFOmaIpO1dvg5wvIAsa4nGwT48IaPILZwawEYru1G4K0HcuOJ2sPnB926rkJh/Qli9wo2Y2faA==","signatures":[{"sig":"MEQCIEgyuDkwDaK9qCl2icf871vILyQTA10r0tf4w9t3swNoAiA6bWxiaV2cFqvxZFeHlFF+M/SHzc6xlieZLn5j/S7VjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6800238},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"661e6c93e3bc691851db1563df868116dd1f5cdb","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.29_1774880082411_0.5442122029265117","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.30":{"name":"strray-ai","version":"1.15.30","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.30","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"cc20b744390923db6549bc4758de6f447238feb3","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.30.tgz","fileCount":1360,"integrity":"sha512-mhd66VtJ7R9DdoC93z3fRkuN0WxZK3Yqq9SsuDkyligndnNqeXCUp27ObKNrz+v2MVWwL2MZgivaH2KQNHe7sw==","signatures":[{"sig":"MEYCIQD8KfVx3fKNVTUWhSSRCw9y2WXE04Al7BqWNFhlRFm4RQIhAMxFLA85eZUIcfaTKh+YvQXuaHSkIjsQdN0WRLT2f5az","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6796729},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"7b658fbdb9a9260fc3a850ced6d6d681c0ce66c8","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.30_1774882426021_0.4640408529439033","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.31":{"name":"strray-ai","version":"1.15.31","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.31","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e425d011343a204e1f3d1b7ff2b41f56948ec25c","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.31.tgz","fileCount":1336,"integrity":"sha512-86uxowAMdr6k7/BsmYiKYs7iVGatwDIY+J8N+kzlZJ6pu1A9Ofys12GaIDgW45lD/JW6navR0vq1i4olNH5dYw==","signatures":[{"sig":"MEMCIDgpHo44qaw203bT9DRO0CE7yVgdio1CIDmMcQt56GcVAh9erTmPRGMVZLbQGpIVH0lXHTdP7rqBw4zMdWsklO6m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6739678},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"d554876db1a4577a130dcf67c7737fc959825f9f","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.31_1774882571805_0.369873707840364","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.32":{"name":"strray-ai","version":"1.15.32","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.32","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d48cb4c4a9a866b162437994a6cafadb002d4d74","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.32.tgz","fileCount":1336,"integrity":"sha512-vcPY06jJtzCNRoLNzxy5Z1N0g5MdPkGo5HgdDb7w6NuqrF6cmP19jZG1HuUkAcI2XvRoiHfDyuDvP3XAME82TQ==","signatures":[{"sig":"MEUCIQDLezAHylQ7na2mavM/Dzup9p3aKTUxXwe+mCAjRcfHFgIgbSHN946wcieiJI9lIRa8lo6Fh0yvPZAjlqTUoi7vRrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6739678},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"d68fa822727953b1e04820d044996c284a560d73","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.32_1774887475945_0.7682708653467811","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.33":{"name":"strray-ai","version":"1.15.33","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.33","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5305b6c650a480dd419f4765bf3d58ac94829524","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.33.tgz","fileCount":1336,"integrity":"sha512-qGP41jc+QWRpwQ2cquwaSX58Zun/GAOOs+uAQnr/ugHzfDMCRLaURDXRFnsH98rkzJ3RNtr3g2ggw6Jxv8cVnw==","signatures":[{"sig":"MEUCIDp9dT71CECZt94Jk7yPSpHY99bg5oY6kk901LLx5sfkAiEA00Dwpqrvh3cvfBVeyZtLbUmt4iyIQF3bmsbiBWDmWxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6739934},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"9179fa5107f34a39af4878f2af302fdac4b3df63","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.33_1774888715421_0.6242752551383131","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.34":{"name":"strray-ai","version":"1.15.34","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.34","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"71e26abed3bb5c06aff5511c60027e782b860f7d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.34.tgz","fileCount":1336,"integrity":"sha512-HYrZHyMCsE2MEhDRjs41eSN86z2FDc19ZGDgeHzX4H0Ln05nxEARZqizst8S++91pLU7atLBqH/cqQkt+x/zaw==","signatures":[{"sig":"MEUCIGUQEIHGeY8HiELML38SD1klu38TqKqJRWxSNw//cWyWAiEAu4UNJsJmHGmAY4S7jg157E8ZMvr1ywpf81CQoVnVlCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6751483},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"221df1b05cb4f2979d90e6e0130bac129aa6818f","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.34_1774902472237_0.12250109950332333","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.35":{"name":"strray-ai","version":"1.15.35","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.35","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"f365045237c0d4eb9431f0926591f104acc3d2f8","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.35.tgz","fileCount":1337,"integrity":"sha512-Yi8ZVB+Abm8elezjDNcq1U/OGCKyyYLWZsUxqP23t3uADah2bu1S21ri3ouB1kIJsq39O3dF4V2P/nJeaKOGfw==","signatures":[{"sig":"MEUCIQDToFxBQakVCitDttP9ruBqFa2P7nF2trMNutD9JWlRwgIgCWFBUEn8wAkPZCoLV5TNJtHgx9um1q1kcm4jKeESui4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6758946},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"766119bc24e7d87b6c95e0e78738f9f05c1236c9","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.35_1774903637350_0.5759527319409872","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.36":{"name":"strray-ai","version":"1.15.36","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.36","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e87b7dda9f544350b5a6f85cd0ad44637cb814d6","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.36.tgz","fileCount":1337,"integrity":"sha512-kpEB1teCbLZaCGUoETmNy6q6YUwCH0voKpr6qHXTEjqSLy/8BvhsajC3yoZWKKe05b7EpzKn8RiZexduLIVWVg==","signatures":[{"sig":"MEQCIATFhY4ADVxEap9+InpfKu7ENvDZyo8p81ogmA7sCVKSAiAKZU+6dlZnpzlQ0Ck1iwpnmX68rH8fkBhv6iQRRrWydg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6760231},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"fa9121d2187fb729cd3c0f4026745a5e239dd2c7","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.36_1774906359206_0.9494793151287568","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.37":{"name":"strray-ai","version":"1.15.37","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.37","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5ec68b46942faf90102a04b6a4991535f3e089db","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.37.tgz","fileCount":1337,"integrity":"sha512-uU+JABwi80GeOCO+t7+OzZ738j842TdlxhAE/UYEzcTSqBnBUF5kIUklB+mzEHlH6nsh9Dob2lc0XQuGfHbhVw==","signatures":[{"sig":"MEUCIDV5A1O8EmjjrAeSCcs/anHhRfNdMI4MHBTkwdi9phNKAiEArfq4Wwo/I3IX20cWJYAdQtmWs7WwLRPKl5Jw67ovmY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6762829},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"658fac590d6a5f4645f6245e79209960afe4f509","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.37_1774910162665_0.09048560578897358","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.38":{"name":"strray-ai","version":"1.15.38","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.38","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"9e98184f2412a2a1f5bfa44f5a74b2e6f3b2237d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.38.tgz","fileCount":5821,"integrity":"sha512-08w4YxM5TuLRFeqz4Z5vTL2MXG04ZkVrAJJ25JQp3Z8oN/b0gpzdTaHaEg2UHRxTkj/ZsRPj874JKmZVJmTDDg==","signatures":[{"sig":"MEUCIDD3td9M4ny5620ylxkZTcAI67LQVbbNbPW1/oq5A5itAiEA2mlv21FbIdEKzGfnpBDcpnPnJ2x6pu5vibiSTc8EjLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72341347},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"788883ea271eb3159633cc0f58bb98c8ce51bd5a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.38_1774972625107_0.6646973679678752","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.39":{"name":"strray-ai","version":"1.15.39","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.39","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"04b494f71cdf907eedab2b8cb13c9db664ed803b","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.39.tgz","fileCount":5821,"integrity":"sha512-yYkFauvGgSgbkJnWw6jvnOSdTvc9xuS1v4dTHRVa98enQmd3r/OTgalAjRBd6fOI/kmYsw7nAPptePV1Bdyh1A==","signatures":[{"sig":"MEQCIGmWUmoSut2Fv0+v1vKP8s4ab1taOFbwzp+AvoiZcPFoAiAMw+Vx6XHrW11yJGZw2CYH2QZXJXJmZoJqGCBdqYa4+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72341347},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"2a5b4d7cd927c374940dde24dac11eeca6ca1886","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.39_1774972798534_0.8718329699659344","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.15.40":{"name":"strray-ai","version":"1.15.40","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.15.40","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"0f66eea260f890a8ec184835db2a824ae257671e","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.15.40.tgz","fileCount":5821,"integrity":"sha512-myUECo6B2rKBE51y2Ixiol4S7vSGjEQLNMyqmRAC5gl+/jO1EN4d8268ph7mmsLZcOgIewIY0PNUJe1LjxDDww==","signatures":[{"sig":"MEQCIH7KHvZsA+O5UJlQdDJ065RgYIj+jwE5MFTNeC5tnSw4AiBaNRUaQFLNqrfOjqrgbgPpv0epXu8oWaPdBHJDoQ75QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72347383},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"505ac31402a2b64e1d8ad1fe36e339bb27798371","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.15.40_1774974546860_0.25435464784963324","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.1":{"name":"strray-ai","version":"1.18.1","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"aceb0229f8acff02245b10c54c058479a22829c1","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.1.tgz","fileCount":5829,"integrity":"sha512-3z4Z6Y9XUHVTEcqRKArZyVNK2jZXEHO6H3wAlGT8YkjcqzUmnPEQF9E7a4N9KVz4fbVeOt6on42oPG4VC6H7GA==","signatures":[{"sig":"MEQCIE0goc2iIH9ZjqN67J2oen1EeyJJSYsl2zldN8kjmZBcAiBf3MtrZ80i0j5swBIHp78FG+JWztg8Em6LAP3ED9lZew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72457165},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"034891c185cbe3a46e9c9d9fa977295f1c1ddb45","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.1_1775054006452_0.6480313654518439","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.2":{"name":"strray-ai","version":"1.18.2","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"4274de9d5bebe7b883512ec2a01478293636f1ab","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.2.tgz","fileCount":5883,"integrity":"sha512-VEiUWe31Zr/fTY+55T0PlDnK6uB0dthjrtmRu0l2VyEQIY1wewSnWWwi1Ar5f8Kuos+8+vo107vK7lXJWyuUKQ==","signatures":[{"sig":"MEQCIBSTuW4Ol81gIhdMlalVs6r9HbhdCE3TVH2K7A3bSIXgAiALXe0sERAt1+ptvT+lMuf02eFNjARs3t/lN0I3TYp0Ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72646193},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c28617badf967d3e6ee3f8b3e410f2bb712e275e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.2_1775055827147_0.7132972727279772","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.3":{"name":"strray-ai","version":"1.18.3","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.3","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"0762b881cf47bbd0dfc70d1374942f710042a8af","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.3.tgz","fileCount":5887,"integrity":"sha512-XjPB51t2LdS9RUOzZo50SsEVBXrmVRMkHvoe0RCBPN+5ct29zH7z0s8oIS19zLwdxFY1kQwsVhF0Q93dGvWvYw==","signatures":[{"sig":"MEQCIF8+NQVioBCaEPJEuvTJ254uYYewZ1fbti3gcxnheeQbAiAMVoXd0yBnPnaMYv0R9HlF2fTgnN4rb7J+2bNMjreHzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72681670},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"6198b74ab21fdcc868ee49adae8ebddbea0a0d5e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.3_1775060001448_0.8078921815525875","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.4":{"name":"strray-ai","version":"1.18.4","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.4","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"bab9515d97a53215ee2e6f234b397ff8eb8467ec","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.4.tgz","fileCount":5887,"integrity":"sha512-XHp9smPZG5oGfBGTdEXmP69T83DY/MewT85U9MJNACCpzIo1OHYEiAMbLArMVDzyR77Nj0cZFLk/YOjdPwCkOg==","signatures":[{"sig":"MEQCIHEvuSP/YFQDU4EkWlMwejzXkThj6ppNgWxzuHCL8bQtAiA9+Ey6e1QpiAMJA2wo2nO6vSB9cxhuMeFVQqIRPtU70Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72688018},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"2c38937b953f94a35e34f3e7b5c9c2ff0306ffea","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.4_1775060188110_0.10680949839668852","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.5":{"name":"strray-ai","version":"1.18.5","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"734ae918f1d3c543e92c2b3d3722d4200d8c98ad","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.5.tgz","fileCount":5891,"integrity":"sha512-HTCWiTP75bbljCweQ8GzvtB2Xy9neGU7Nap0n7ZfbK3bqXaU2bKiM2PhXHCJRdm3niv73ACj2rqgYhZbZJrpGg==","signatures":[{"sig":"MEUCIH7488IqsOYOTc3bck9fwUKZU7nEtslubMWR0p9iLwEoAiEAkoNbXpYQcZ35K7V8+MZVhBAv3WTHHtSeuLibhh6uODA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72711717},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"8d6f5123a2312fd20022e744a9f34eac42f24c48","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.5_1775060735302_0.4128945392323262","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.6":{"name":"strray-ai","version":"1.18.6","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.6","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"a80749da1f79236c17f9da1cde35e6025f91263d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.6.tgz","fileCount":5891,"integrity":"sha512-jTNOxKM7QpDiNNSN0PJ794zzyEmTaF2oG3ZjC/JdzXgbdmAl5kRhixSqfdtjRZ4fVKUNgi+TcnR7v8FqDyU7+A==","signatures":[{"sig":"MEUCIQDoU6MoSCwJmqSFDZnZ5+b+HiuSW2byZ0nex5yj559sFwIgZRon2X07uBj1tGycf9JlhlQJIP3u8X+FxRg2zB1Lwqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72733707},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"f1a1c69f9202f34fec84b0811fe3a18ab32a9e49","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.6_1775135481531_0.38522016403402515","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.8":{"name":"strray-ai","version":"1.18.8","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.8","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"82759a82b9e369dc9dfaa1f69769d06096fd184c","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.8.tgz","fileCount":5893,"integrity":"sha512-3lLT3stWJCmH3TNkPODWsHiZ2l1fPCWHXGXuqlmkUfKDUY5CDnzV0M7MiHdUuTepz1700S6d7xlppB/AZGQOWA==","signatures":[{"sig":"MEYCIQCwqJ0T8yls2cfJQPcfIfafyKUVvvjdekXHkV1ET6vszgIhAImn5RyFx0dTNTta4sC5g49nQta/XprHzzt6rxyDZfeZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72770924},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"4a0b521ad4fdc2a64f5bfbd5bea3ed4689b60bf9","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.8_1775153232246_0.29451696804265204","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.9":{"name":"strray-ai","version":"1.18.9","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.9","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"ceac76bcfa63dadbc00239aabc9837e000dde73b","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.9.tgz","fileCount":5893,"integrity":"sha512-rZn5tRPP/brC7HsEQnJHPEmKhSXORnhRMWstickv57qqryYFDDHWWzNN4ZcsYf6M3WmqJgS5iCaYPrECUofIJQ==","signatures":[{"sig":"MEQCIA3IHbK7tbvtiTTrITONzyViXOEyGF2LDzY+2c6x49KNAiB0mVgoMpC8JTOjyR97e2Hmr5Vc7VzLZWiGgaiMzko0Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72773863},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"90d5e0ff0ecf0d5d50ee3dc0991e16620ed66a73","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.9_1775154612384_0.1127011702077727","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.18.10":{"name":"strray-ai","version":"1.18.10","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.18.10","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3148429ef831295878d77260dfa489292a365c9b","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.18.10.tgz","fileCount":5894,"integrity":"sha512-8qX4kQXHMY6Tfjt0vfzMnWH7NKzOF+19NR44P9WHg5Jc266e36vdc+PSVCvRGVpRE0iZa/tNAPl4qoRNGWxCBw==","signatures":[{"sig":"MEUCID19/pfw/FJYchRDvVk0MnWlv2BMOpqRaMuVg/1/p1wyAiEAySh4mA0O3+qGMFOlq+EwuJVE6unB8NnA3hs4IGGDT7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72779247},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"52d2f492e831b3762bad29019702ddc1f72fd071","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.18.10_1775217453215_0.8461359841495573","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.19.0":{"name":"strray-ai","version":"1.19.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.19.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"deb56ac914acfc1cb2faa8a5cb3f04ceabfc6119","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.19.0.tgz","fileCount":5940,"integrity":"sha512-skXwAEI97c34EMcSB+fcEhdW9zOWsxo4X2K9KtnOJrwh8du4Dx78nYQmmHjxo3VVF+MlR3n8YsMCDAOgoVRJPg==","signatures":[{"sig":"MEYCIQCLpy0AtvxN6aigCDReVTmFY0BEJL7xMMRn6r71Pp7WQAIhAMknpdKq/1j155KzDv6x7g9jLPPxgIPoXvIxDkv/KfE9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72851096},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"f600f36119d23534dbe782188e4e551785663512","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.19.0_1775401807983_0.6196898638671657","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.20.0":{"name":"strray-ai","version":"1.20.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.20.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"59e935d8d7e968c3ee18ba65e94c34b17847b626","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.20.0.tgz","fileCount":6036,"integrity":"sha512-lrzLawHq3OSAy7DBUnV6ZA3VuqyL6vbiQjt2/WRrwN2tmkjceefrO1wPO3c5rv9DlwRauWKkPpziKsO0AdEIkw==","signatures":[{"sig":"MEQCIBRg4FYP1RcAxBR6VBF27Nd8gCCMAep1EZt1gKMsdTD/AiAp1m2Mo7OlatOBQl8ni+WdxUXEV4UchfaGZ4pofX4ZNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73233598},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"3d2993d8d84c08681c870d69d9caaa156786b489","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.20.0_1775577468978_0.11979243402706641","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.21.0":{"name":"strray-ai","version":"1.21.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.21.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"131a777442c668360d92532b5707e48ac98b9505","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.21.0.tgz","fileCount":6036,"integrity":"sha512-4ps+DfzD7Wcsmzf3c+L4ttm6uEDXIgIrJmzpPejc2/un+4W14h6T1mVTNlDodmgil3HC6sZ2mmMXNXi3kGkOGA==","signatures":[{"sig":"MEQCIDc8/tbQmCil66JnzcyH16Z2FJoCQwHskAcGuAk4ND/bAiAPOciRpwyvk07+uboaCQp42redgnvijZzO8O6beWLhtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73233676},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"47cfd25054a5abd56f69b1e66a7223cd4bcc523b","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.21.0_1775577558698_0.43710014171000866","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.0":{"name":"strray-ai","version":"1.22.0","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.0","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"004c29ec197b264ecf2d975181eda24cc8685a23","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.0.tgz","fileCount":6036,"integrity":"sha512-R/Udl5mCpfsWoNiPevubaWGsNL3BGCK3hrDWsUK2NExHvLwGSjteJ7dTIu03nPoqxdoeBWNZWU+5auSuATYBXA==","signatures":[{"sig":"MEUCIQDh0axpeRXvd1uC6pkU77nuRSAhNfg8LQghUFKw4LXfwwIgWh6wXG1nqcHsw2baR+iygkgSs9JS+0WIWsNMFFgkLe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73233803},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c06fe682ff1bfaadca61e2f1b1ea25a7fe917567","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.0_1775577751306_0.4625424902975117","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.1":{"name":"strray-ai","version":"1.22.1","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.1","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"c7a62aac399137186490ac8b3e77dc9b7faf989d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.1.tgz","fileCount":6036,"integrity":"sha512-1+DE5hVrbGIufu1pXEwKPLIifEf405OuBbc1um9dqCsHNM6uGVdx69ia6OoYrvK/S+CkvUceE0cPV5qDh2J2jA==","signatures":[{"sig":"MEYCIQDbNoKDPQsqyWziPul02ZEcbwllsMffv98FSkNjrIcjgAIhAM3dG4x8UbiAaNkw6Iw6bXCbPYk8x1QmNRLisewc0kbZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73233860},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"25552f862a304b27dd3ce6894a720f342c7e00ea","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.1_1775577839752_0.9539589242607205","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.2":{"name":"strray-ai","version":"1.22.2","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.2","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e89f8f9cfcb429481a1a804c08d537a8c7704ca3","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.2.tgz","fileCount":6036,"integrity":"sha512-xNww4UDV3nfAjGUSlKu+REmNhTlWCt6ZynPXnOUw8BxY3cC/x8/2pKkwf2Y9IlwwAIixI483UrbOyRPZEycD2w==","signatures":[{"sig":"MEYCIQCvTXf+gxsIPqakgx78T8bAndyEybnE9gcOSciC9SuLtQIhAI/aeQeoUIlRtN+A/Imx7Z1zz7KTTNQfawn9R15cMjQh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73233860},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"f2b62311d54b1f231614f5d5e7a137024c249f8e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.2_1775578059179_0.8887367180133565","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.5":{"name":"strray-ai","version":"1.22.5","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.5","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"30b8eff7659e7ebdc351b00512016abebdc0a543","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.5.tgz","fileCount":6040,"integrity":"sha512-JPdnPkRo9MfOeZd5ca24SD4JhklmnqMEPNTnze/zpUX5Y2AQiBXzVrNAYF9EX4hi35NUkQp+5nTqT3e30sKuRQ==","signatures":[{"sig":"MEQCIAF7HFihK796oQvsB5Fc3WMY2TuGOkz7WZxbgZp7yvNLAiASqS8tNr1r9T7hZbh52Ba1XcQT0I/VAHKRshyXW1UyHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73248317},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"4b5af43a6b330ad6eb2f991c341865a748703ecd","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.5_1775782810665_0.41660130556828046","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.6":{"name":"strray-ai","version":"1.22.6","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.6","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"23697d96ef61e96e830c642e008ed0ac0e755427","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.6.tgz","fileCount":6040,"integrity":"sha512-pQu7yXDrHpXLSlcWhZ6Ok5uhA7praedYjkxv+GReQizz6U/VAjbugyB3cGtm8llsjduQ7hfefMHcdoaikmvB8w==","signatures":[{"sig":"MEYCIQDKnYEv9lb0Nj9NBe17iId5obJyG7XvyLp0nMk0QMcsGgIhAPzcSNbgvjrjvXzT7eZRLiqi4DeCxO76eH61/Apt584o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73248239},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a1eac760e70ca73618ece4140c0dfa612cddf859","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.6_1775782857761_0.6554628883041846","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.8":{"name":"strray-ai","version":"1.22.8","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.8","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"7547e8d3d29edc4f68a8dc75e2fc49b7b60f5f1b","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.8.tgz","fileCount":6040,"integrity":"sha512-f+AAWGT2XwxDAVGv57nbjsmjRm8en+OAM+7RCrC5KXYI9R6BFVHsi7ZiQpq5DXIDY+cm2pxZT3wQTMCJUUDyHA==","signatures":[{"sig":"MEQCIEojyTjYw3665jw7Ew1B83riuLI+7ORMTMQuCCBUTRWyAiBlO27s/wHuVX/AtgVC2MwAXTsO+s6dYFmgxlxEGrB7cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73248251},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"d3b42f0c2bdbec4c39adac87f3597e31074ffec6","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.8_1775783191414_0.6375906459717844","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.9":{"name":"strray-ai","version":"1.22.9","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.9","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"b878f37e40197004b27c07b23cd50013c2bc2a2a","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.9.tgz","fileCount":6040,"integrity":"sha512-KLU2HtGcYAVycELMpeuHK1RY5iH6Cc9GWa88hN2C398ZdkOUDJWMeHxUuSDFp1GeFafggIN0lW7C/1LfulAK5g==","signatures":[{"sig":"MEQCIDKiOiZymw3J/jhOp4jqbevAc93XlkGjrs/vUX98I4jpAiAC3ZABkkpFA54aMMXIHtLRw7af+f/pWje2FhISXFEWSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73248251},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c2ae5c05454b42bcabc86db93c4c56796161c1aa","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.9_1775783233622_0.04535374960572125","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.10":{"name":"strray-ai","version":"1.22.10","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.10","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"58b238758c9d98a257ccd5677617c89658f62896","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.10.tgz","fileCount":6040,"integrity":"sha512-ufERjWXrM5qscb9am/8Wo8G4SBvaXbuxhPW3dS7sYfZjHMmrqpzMaOUjuOLY5BWuqe9SDs/8A5GYTLIV7BpjYw==","signatures":[{"sig":"MEQCIEzfsUP/GFh3RkEwVsqGImJrZfGuEpAurbBXViqfXrH3AiBywN2B3OdkK/yMjC3YByloAxk+uUY9lZvJ0uG1yEcANQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73248212},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"a6cb56cccfac4cd3bd65cf84ca14f7538e63d1e6","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.10_1775783395091_0.3389378537886467","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.12":{"name":"strray-ai","version":"1.22.12","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.12","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"caf08d066387c0e335c3e167be6a212b6b1c71de","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.12.tgz","fileCount":1498,"integrity":"sha512-tnO0D0+IJqJuln+Pw0joiVtLdgKksKkJZ1Vqt3Yg8YzBMpACFJ9WVRvNYIzgd3zkvZFlCOKcm8cEft+dgjsVYA==","signatures":[{"sig":"MEQCIGWI8bTWVrCSYbos8af6PuOq1+eQXUP5yBO6bTQVu7sJAiAyKEZ2/VSBET5YrXgfWL+R2PEnVjVWPs8ofOQbnxyiNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7591026},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"474b82c5c750cb09f7ead32607562050c19ff357","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.12_1776121484669_0.5732039360648566","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.14":{"name":"strray-ai","version":"1.22.14","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.14","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"97b45191c0cee8f2407c66b0b47fe1cab05497f4","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.14.tgz","fileCount":8653,"integrity":"sha512-NQY82Xn27btIIzCUrsBhmCSsiUxqh7b5tLCu/XI5wNcNFEsQ/LbQSF8phUFTe0l7bIldAwairmSrC5qh+IWQGg==","signatures":[{"sig":"MEQCIBQCHlQxjaNVn3hW+Mu7xOnplSFZKy66/U6RXEbA6ZlVAiAzX5Qyz7/0pVsmGDkKQUerV/n+jTQ/4C0oalQDHcx35Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9765370},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"353538ca5fcdd375bb58c9dc74b4cd0f821155db","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.14_1776863626380_0.7233634728603142","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.15":{"name":"strray-ai","version":"1.22.15","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.15","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"15ff59d40230a43db97aa4041afb65cf1945f712","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.15.tgz","fileCount":8665,"integrity":"sha512-P+G3sVT7XrDnZJAOKB+MO/xqS+/xUt0uKp0j/hRFjMJ4eaCbniY8I+lXr8a2nYmlnTiR6U8C9PhDYLdU2oQhxw==","signatures":[{"sig":"MEUCIA1tjiWDDcW/Cn+BttGVy0TLL1VpZz9hjrEqXbljRrUjAiEAz5NULNCkI9qQ96Z3zsG10tKZV/Eez8Wm3RyQxmZhV0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9829936},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"f923265a197b49e48bd774302e6281590a57c23d","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.15_1777308756308_0.49780921223043784","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.16":{"name":"strray-ai","version":"1.22.16","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.16","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"20a8240d09e795cb03aaf4cf0838861b74858128","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.16.tgz","fileCount":8665,"integrity":"sha512-szK46nVSi9dmygysRTpbFVQz/57UnUaSf9aELaMeBY1ifSW0y5eSSz4SUGsbIcA3TLPs+29EynR5Ck1mrhE73w==","signatures":[{"sig":"MEQCIDWXTAcpsCSFv+QHwEr153E/X1IpAmO+MFsegFNpok6/AiA9YhiuNiyBhEUX2QL3purJUCLjvgwOeA1az2Ied6P5fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9827014},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"02e958b7de412e4b8c663ad111c6583b7d418c92","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.16_1777312011344_0.2993837976923037","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.17":{"name":"strray-ai","version":"1.22.17","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.17","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"1e4a87d389fb7c508312b1df8f8f949f52eb2b46","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.17.tgz","fileCount":8666,"integrity":"sha512-9maLlUTUde98yKNPlEPWnah6d3yYRlbTgKd+RjDmzgofWn0ZXQSype9fVJVAgsva+08goY6bmEy2HEmy/VO8Hg==","signatures":[{"sig":"MEUCIEyjPHI2yooaLkYLNOgznYbmhHoDkvcAatBzIxtfUmLVAiEAxmK6k2mgJ/2pulY6IvUKdpkMa3Pi/F14KWEgrWcY1p4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9830946},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c17ca67e9084000877207f2d8da00e4e6eb15c00","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public && cp -r public/* dist/public/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.17_1777312363902_0.76090985636783","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.18":{"name":"strray-ai","version":"1.22.18","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.18","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"68ff39c552c91675b31c0e93254656e7d0d866a9","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.18.tgz","fileCount":8677,"integrity":"sha512-HDVHKXLPX0dWtx7eVAnJrTJ+Wg9hFheQ+LWEqIg+G2InmRsiO0c0fTpdysWL4+6rsewCQNEcHYW3ZFhJ3QVgNw==","signatures":[{"sig":"MEUCIQDCE7xQrLHBMRF7lFded0/cgL0xhdZm4MFbRCky54FiDAIgUMAmyu+co9XBt1gIOTBbjTRIiClL6rxswW5I3/UIFi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9942238},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c17ca67e9084000877207f2d8da00e4e6eb15c00","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.18_1777312943590_0.41213522310303774","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.19":{"name":"strray-ai","version":"1.22.19","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.19","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"1c1dd6dd80fea62649977442dc8326b36d1b69e2","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.19.tgz","fileCount":8684,"integrity":"sha512-muLVt2ksyv0dBvV5Ae1IFFiduujx/w2+jimkm7Gt+1PvWdafbnC0rOiYK/0Z6CHfsRBzciieW6ejXvh8AnujVA==","signatures":[{"sig":"MEUCIQDQhTYDdWcfCWhhzkSCp11i3TApkVrlKxBsFQIJLjZ+PAIgE8rJYntoqCO2nwum8ulslPyoW8EqpuuElbGK8ZZK2KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10019559},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"47b6d55a6d1c9bc723f53d072c9fa05db1a4270c","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.19_1777315250111_0.5682328926529299","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.20":{"name":"strray-ai","version":"1.22.20","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.20","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"6052e22419536b28dc24f29dc0e5591ffc0cdc26","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.20.tgz","fileCount":8684,"integrity":"sha512-beajVz1gH+ijEBr0EjfiPDUrD9a0G39eaGckx4+A3WD+CvkS4cE7cxQVNHCza8qZMcJe5tpP2HbwIPoQE+gYaQ==","signatures":[{"sig":"MEUCIHKPzPJYhnyLqXUvRUW303uxSFkzrER4/n3/0swtFYMKAiEAwfqljr7L2iGzUK0wFPWwV9HP4wWq8ID3t0dRXNDnwtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10020753},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"e9df0f85f83594db7c92bf2c657a194cadddb576","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.20_1777315367071_0.840416368357505","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.21":{"name":"strray-ai","version":"1.22.21","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.21","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"297e352fe092e5ffa62fd924fbd95aa65f57c777","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.21.tgz","fileCount":8684,"integrity":"sha512-VU9LhySwOk1XboaTNvyfywX1fEisateRT+Hv2fPzzD/PxKXRQe1tnfwwZFM0FoiKkTDmGZFzD4Qqw7QBOxLVcA==","signatures":[{"sig":"MEUCIBnpj3Kdk1XVgATX7EQqH1rXBvtHlxkcFjGTFuXgug/mAiEAtKJPgnxwRjlwhRw6fBhEEYYW/LgKisGppovWJwnWhgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10020819},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"5ba01dd80de567989ba44bb740db3f89ff97271c","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.21_1777315432875_0.2453811401553243","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.22":{"name":"strray-ai","version":"1.22.22","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.22","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3f32e19248d8602d4d8855b10cab2b9a2d6114d4","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.22.tgz","fileCount":8709,"integrity":"sha512-PnbmjyQNjb/VjNPjS6iWGqk3bKx/6PVfqrSduwIi6eDV0mFdxhDk90ADJzFcWWwEyWfykXRVlks/KSfjrCmr5w==","signatures":[{"sig":"MEYCIQDvcxEeIawmdprjjt4C+ouA4nzlEj2BuCLxZqjJ/+jV6gIhAPHelK257zXLkktBgVq7OuOQKnyMrlU5UoDzMHBubE0v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10178341},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"3bcbb89692a86ea4d6f55a2989e826d6bf10f76c","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.22_1777320347921_0.656321276331578","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.23":{"name":"strray-ai","version":"1.22.23","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.23","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"8f9735c82615b5b04eec6c04bea4f6a44c9ea82b","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.23.tgz","fileCount":8708,"integrity":"sha512-J4YqwCeznoU2EZx7KCMekfZszvYvMn0nQ59YNmwKYDENyQPRApPTSHrvEgX5tcIlRfaDL3ONfUj2SG+LNQkjeA==","signatures":[{"sig":"MEYCIQCxc3aCr5QItcPRHbNHNEGAfrDCqLPhIGZRX/ombg9QMQIhAPvLsza2ZhfEomPROMJ+C0yU1XKSUOnkDBNWMgOmWYXy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10178509},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"7c512366b4e3a1b0ee8976915790a95dc6890f8b","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.23_1777320411665_0.7934822454223163","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.24":{"name":"strray-ai","version":"1.22.24","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.24","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"67906ad3e4d260857780c55cb06ee34a7cfb27bd","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.24.tgz","fileCount":8708,"integrity":"sha512-Q1UP0yAfY9RLebESgSX4ULEzmwtBf4XO1Lt+Xj21aNMoPPXSoqHnhcT6BL/vKPVD11Hu2gKz/wLqByD5kyvSQg==","signatures":[{"sig":"MEQCIB914UM1jq2TshklbqD66pozFFBvopZaWsB/mCXbVwqVAiB84EmSIGduDIydD4JNPk0IpGCbF5K3DSwy1vlXVVQ3dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10178711},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"f3cd8cceece2fc46220cc35f57480e99c1d2512e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.24_1777320487935_0.2752439880239439","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.26":{"name":"strray-ai","version":"1.22.26","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.26","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"90bc599dfcf788afe93fc92589ac12f41eaf6719","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.26.tgz","fileCount":8710,"integrity":"sha512-+yR9b80MttqZGxCOvby4iNY6qOKKnIht3U+K/ntCiDtJhd522YHRF6L07i+qkfUqlYLE7nNorlPzgU/Uo4MKJg==","signatures":[{"sig":"MEUCIBeCfUYccPpFfFgS5NtHs2a47pZyilp2oLkkxFV/snOyAiEAl/89GFQ3QIDDzj28EXUOk9ggwGJFuC14DqFXwrAVgRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10249833},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"cf995a7da4a55549d24832e63babac1b79ec46a6","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.26_1777338722293_0.24540383568186064","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.27":{"name":"strray-ai","version":"1.22.27","keywords":["ai","claude","opencode","mcp","agent","orchestration","codex","error-prevention","seo","multi-agent","framework","development","automation","testing","security"],"license":"MIT","_id":"strray-ai@1.22.27","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"7109e735950a084d0aee5f2d8475033d9617df76","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.27.tgz","fileCount":8710,"integrity":"sha512-ACla5wdELw2A8yzsMQQ0cYqVduS/FGI4FzbG8AZFw5Ywu90Ef/fs1vUTfu8zGBW/lf3u2mi8Ol3enaMB5TmCiQ==","signatures":[{"sig":"MEUCIGoNCh9XrPwlip/0XZ2KX1Vpxiwu5R9TRyX8BKoiyOPaAiEA46wwp+IZ32mL85ge5fp4fS8X8KrIggf6/K1sUVhT5TI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10249833},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"576c7f7f4fb2871c1c33440fdd3f6f91d6334c7c","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode and Hermes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.27_1777338777412_0.45515754905783123","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.28":{"name":"strray-ai","version":"1.22.28","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.28","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3f3a26c5d70c5539655a9f06c366cfc4956d97f9","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.28.tgz","fileCount":8716,"integrity":"sha512-crG7vyg+BgiPjOrQ6OCXmggjgJh2acyO4G1WIztbweW/8DrUWT5jLiFnld0P5vlJzkTJP5c3nuehyYFBKbm7Sw==","signatures":[{"sig":"MEQCIFFlSqFU4p3ayeBpAQEdQN+98jRRStvtVSmBDALL8mbEAiB17VcWOeRkbtEOb16qy/EkUlJy8BtsOk2zWmceSWC9ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10274054},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"0d7660ffa4fd99bbc76c920c9d19ae1c047bddbf","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.28_1777402433143_0.12218361887150375","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.29":{"name":"strray-ai","version":"1.22.29","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.29","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"4f71ef0c268aa6eb0d91b34e92640376de2369d2","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.29.tgz","fileCount":8716,"integrity":"sha512-ZI5yt+mrXDUCRpA0PFH5a3CxJSEfRPx8mCSQh3JZNmTNLsF8N+8TP+Tq07alWdUopaKPxlHCyaVlQ2RXtyv5Kg==","signatures":[{"sig":"MEUCIAauK3JAlOmyinNy93hkzAy/yCVJuCt2Vp8ovyae/a3MAiEA1Z7jdwYNadcRFduMSs01ZGrecTYlmfJN6NqS+FHLIbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10274054},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"dd350412bfab02166c1ff52897c49f2b49687a39","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.29_1777402536104_0.3399957644370306","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.30":{"name":"strray-ai","version":"1.22.30","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.30","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"452862349c616b9a212d747bda09ac6cbc35cfc7","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.30.tgz","fileCount":8716,"integrity":"sha512-PhYTwmXYaL6TMCiNfziyTHrp4OuipgNyOFvi2iFDqZ8PYru2VcgnV4M7VgI7gdfBfuoD7zJ9WLPK8kzMqswklw==","signatures":[{"sig":"MEYCIQCqwErtYD9KHQO4PG61v29Huh2n1SpsYZB+YoSDOEul0wIhALsduLMgbnrPN0CpLmu7fGyiHjkE5NQjI8r3aPJLbYWq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10279523},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"dcb5bf018e196d2f66354151832f7c3bdd87c876","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.30_1777406875936_0.40738228556105227","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.31":{"name":"strray-ai","version":"1.22.31","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.31","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"1d83f93f13171b3dadd693db17c33718909496f8","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.31.tgz","fileCount":8716,"integrity":"sha512-Bz/h4axC7lNWZiy1p+ugQf6O1lwBgpnfzC5y0ksCheQsT1d5yrAAHiQM7RgldPsQXYSjqPk01Zc+W9zZ9unsZA==","signatures":[{"sig":"MEYCIQCPAWtL0pQ8n/oXEODfYUsI3O5ocXiZocTxrtSIkswgHQIhAOFze7+0Lenzzd4048yXhpjJ8OAqyGDNGDtqfVfS+s92","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10279654},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"2d71dbf675573b8e268a7d5065afc53e2924a3c7","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.31_1777407085082_0.29886263441673155","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.33":{"name":"strray-ai","version":"1.22.33","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.33","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d6ef3f55c0b2ffa75ef18794bf38711688cd4166","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.33.tgz","fileCount":8740,"integrity":"sha512-Ss+5J00VTU5wRxJjRv+manmlj1c70NX6L/kzcXMbKP/TpiT6i0BJMelv+AV7HjVvIi1c1ODHnHsiIHgHUWyxBA==","signatures":[{"sig":"MEYCIQC0OQ5t4y3rQgQkpmgj3opKx4VMw1PqgZY39x3pyRC4iAIhAKiUX4/ASo3r6kmptLD8boJTdCDFoKOl1i892mwzpRi6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10254090},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b90315d47f059972880dc5fbcf6751c15d9eaee7","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.33_1777461182945_0.8142192186045125","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.34":{"name":"strray-ai","version":"1.22.34","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.34","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d6eab8ca601013744d969ce5ea68cb9314df7fac","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.34.tgz","fileCount":8740,"integrity":"sha512-8T7eqS5ICnX6Akss8yRA3I5Aa8X1SEUNtksl1uSS3tuUyyydTzeyZme5LA0LlFvRfm2WpDF1xxF/98PSW73TaQ==","signatures":[{"sig":"MEUCIQDAcgcorVh+jRRq/hQt8bgkUSkRuewKIdcolkl2c0ys6AIgc1y1f667KtH4nAa2d0VzCk8vbBX7dXjVv8wmV0ksgMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10254439},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"ce3893a408a835aa11bfa29bec1f2e5ae040b7ac","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.34_1777461341879_0.4342854819183084","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.35":{"name":"strray-ai","version":"1.22.35","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.35","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"de82daa3050c6d8cde1f8e2723b3be55152e9350","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.35.tgz","fileCount":8741,"integrity":"sha512-CJu846Wa6xzdN6jUjtYcOQ1L9sGVNinyPMbKuSHe2EaDVWqPvM0Zh3yZrr+QFswvwOmUvhsqcRf2D3a6mm3dww==","signatures":[{"sig":"MEYCIQC4peLMl/Naib7Hp7f6PtYma+AovbETVUYB/xcK0FeuYQIhAJnRe3ocdECFpblajO+EkgJvst57O16XZuimWnk9grff","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10254926},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"615b16d0b5c637d37abdf2697a4189ea8e1ebe70","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.35_1777461419370_0.985179336006069","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.36":{"name":"strray-ai","version":"1.22.36","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.36","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"8fc47e2131947012460fe08a630d518b48be6f2f","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.36.tgz","fileCount":8741,"integrity":"sha512-B9UxHe2JCsbqHKHGfDj0oV698Tfe3L3XUWGoG/I17V4QwOahc7xyLQVxR007ojRARb6cRPUcO0k6K1xX5rD9BQ==","signatures":[{"sig":"MEQCIFcQpXzUYJQ21LPfV3POmRKHevzji8bPsqSqPthdbYJIAiAHd+ZyFCZInsmgsBASsRs3BTBrRKc1OceXp3suTU8UNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10255462},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"d27069c05a780dd53a0471009d1c7f8fc5e6864f","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.36_1777461478915_0.07287384743154557","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.37":{"name":"strray-ai","version":"1.22.37","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.37","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d0fad66499499b21ef026af2b41ba37d965335bf","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.37.tgz","fileCount":8741,"integrity":"sha512-ox2rQb/nYSJx5mfGVYTCK2ZPkU0EPST8KXJZhISYJrcuXDNKhDpWx4RTQodw2lOASjYS5g/MymDN4mMSRoccqg==","signatures":[{"sig":"MEUCIQC1573JjbV3yCf96n5lQFCy8QelGyDtZAYYkCjYUuSQaQIgHV7eYMzjtgWDyqJDiBuhWpHwAwfvlEHmwfyRWwHstVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10256066},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"4d1035b7a601d778f191b90ae930f4c95a3b48fd","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.37_1777461537849_0.4239884900524653","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.38":{"name":"strray-ai","version":"1.22.38","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.38","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"4d2e01f66d24a4ae5bedc1a597d039aac4b60d8b","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.38.tgz","fileCount":8741,"integrity":"sha512-JdFrXXijqMH+QAhIjL2sn3t6IV9KuYEraasiQLOw2O889wiKQ07dOgTfFt65+jib2RrnnG4DsPK+3MAamjisTA==","signatures":[{"sig":"MEQCIBiYFKjDY5U257joAV38BAyAo/XCIyndzfJlPlD2ZQIRAiAxkh5XhiBrP2y8+GI0sqdJZG+L2ZCeey6pDP5Qg7j+wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10256240},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"50be108c7afbafab53e4f4d768210a88665561f2","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.38_1777461588600_0.6432465111049952","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.39":{"name":"strray-ai","version":"1.22.39","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.39","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3c40ee0f97d178b17f6f1ffe50da9a0e008e45cc","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.39.tgz","fileCount":8741,"integrity":"sha512-k2fnYEb8MKFIIOep1VvHVlbz7JsPHLIMzSbBx6D0e6fmv7rDPvuKEyeP8YcqjwoEjxWDlo49HkRvsXXtL7RvZQ==","signatures":[{"sig":"MEQCIAgrqdQAAYwZaPd3xDsiQAqJZd6rhG2GI14qzY0z8cIZAiBCrQNswefFxz0S+LLPoDBOso/eIZ1FEOGhSQOm8IR5Sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10256448},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"0e730bf4902920b34153f3cb17551f6530cfb62a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.39_1777461624003_0.46964960605770645","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.40":{"name":"strray-ai","version":"1.22.40","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.40","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"50ecf16fc821161abd91ef8a23c18f68977e3224","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.40.tgz","fileCount":8740,"integrity":"sha512-+4hhoUI4s0BgkZ7Gb4dSj4CXxuP3gDLWSrVnD+846tjaSolpYP+G9cbVDqUMd903tAtjckXpFlc6TogbYC/Pmg==","signatures":[{"sig":"MEQCIEneDxbKwrc+798272CDrieSoPeQjwWCBmq5gTz6DR1tAiAYn0uPWLGRkuZQQt+FMllaTbjiFQaFvBdjNAmuh/1S9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10262476},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"81f18c6283c441b5c18bfaf252c5c0ca2d9a1152","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.40_1777462666571_0.9758346074224138","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.41":{"name":"strray-ai","version":"1.22.41","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.41","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"01144d87e7886f6e578adcac74c9f9a157a6fd7f","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.41.tgz","fileCount":8741,"integrity":"sha512-XTzXZkYHzGevYDcaxiezHRKa/TWqvKOG7kj7LJTfNICuqFg+kOUeyQJ2WjK9bqGkr/5beJcGVWyBFwEJUvqMSg==","signatures":[{"sig":"MEUCIC/EeX9nvnRDlalykmfBiuzSSiwyHe/e4qfPA9IGDcfnAiEAvANOawZIqLkZnPLxyNFnYnkzr7UUD8ixKN5nQQmLYjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10268946},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"9aa06c66d3e5eda81113a3c002b2922f5dd2be7a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.41_1777463221114_0.7122104105106462","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.42":{"name":"strray-ai","version":"1.22.42","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.42","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"ae696050ffb2b724038242f2979198064f7fe7df","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.42.tgz","fileCount":8741,"integrity":"sha512-9qfuZvHe4HAfjrWY0mMu143gTckuqx0/+DnA53+CT3t431boRdmuHg4bT0XryNEzDfGH34tiyvFawvv0kyDjNg==","signatures":[{"sig":"MEUCIQDiM5nunBnOpRh4eY4NsNrZwFNE29nnu8iTj60iBya/GwIgTDijHiHgoKguqkb+7tz+JdfMgsy0d10f5LGpJ3tIoeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10281236},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"54cc57fe2af1ff18ddc287532587ff876adec699","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.42_1777465467874_0.6145659751826023","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.43":{"name":"strray-ai","version":"1.22.43","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.43","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"eea240199f210e0c038bd1ef2d9993228e882770","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.43.tgz","fileCount":8741,"integrity":"sha512-obEjxP2v6RdZ/2dwt8cjEx0KllRAANjQEdOu0w3c0CYQYBM0Aj0HZZlTCSHUZpNj5tw+xo4ICXwtsnyUnzxWrA==","signatures":[{"sig":"MEUCIBLD3fqiO9s/YaBOHTHd5vPBaUENHVwNATraBtpLTS5sAiEAuazRLsxDwkwztzVz5LdUTLk591z508YJPoDUPl2OUao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10281444},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c3ec0b751509168fd0fef12d88de54cbd9aea9ec","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.12","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.43_1777465516909_0.8613181708478665","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.44":{"name":"strray-ai","version":"1.22.44","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.44","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"e547dca29d4e68fb45dc587364b0aa82c6b43023","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.44.tgz","fileCount":8782,"integrity":"sha512-wKZhjcbVVsxm3HDTx71+6RMlhr2EomqcyhFXTy30XoxSchxJhRh8Pjljh6jiazD/ptYHabpRq/1+Y92m7g0iWA==","signatures":[{"sig":"MEYCIQCEpmv0ABxpuBCJJrWNIQp6HcF/Pb468eZdqOcIBD0dKwIhAO/W59kmRNdmhdP8gbEVofyv+aqJIL+phWRlykQqOxKK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10476939},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"521b1596a165a432284083daac80f43431246096","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/plugin/mcps/","plugin":"./dist/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.44_1777475560282_0.8084072627994736","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.45":{"name":"strray-ai","version":"1.22.45","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.45","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"2b50f3f82c8c0973b8bb6c50b4322e7cb75700b1","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.45.tgz","fileCount":8786,"integrity":"sha512-obzJu+iYGWrqcszHuhwRGz553sjm8FTagAdyvw1t/ka6IvG1YpMlbgqiuFK1YJRwo1g2TIYeeRuIsQdLPypxeQ==","signatures":[{"sig":"MEUCIGj3fIGzbMTl13AT/uLiNGGJ7GyaeJ2iYSi9Rku+2vd3AiEA24T7V/3Vc7fX7sfLML3c3hD41VUCfFbZd3MeK8x1aqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10543355},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"476670fceaec662225104e1a2a26d8417229a159","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.45_1777485590655_0.8157940726193185","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.46":{"name":"strray-ai","version":"1.22.46","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.46","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"63d9545236f4aa15b7a2488e079645b0f83e8b14","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.46.tgz","fileCount":8786,"integrity":"sha512-fJesIcsOG28WzRIjzM5wAdl6eiO09wl6c5oKD4veRF8WAa69Usg5cykcWaO6qbZeK8W5vGXOLA8/0g0rUEO5ZQ==","signatures":[{"sig":"MEYCIQCIodOdrne3yH0maFNrU3eUM0/db5OZ70PntWhKibGlQwIhAMwT4z1BOdlJpFoWP9SLy6ivY71li9pUnL7kVgZnYf+s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10543355},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"15b4f735b2588bd2663c57910df42de1f971954b","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.46_1777485663268_0.7753882248775799","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.47":{"name":"strray-ai","version":"1.22.47","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.47","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"b9b3388ebadbd8bde499275cf41ba31aee23bb77","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.47.tgz","fileCount":8786,"integrity":"sha512-rCsE1prKJivfUH0GTwFE7+8T6EZYzpMCb5iZLPNL3odlj3hzkNMqhYekjMFBz8Xku4IPDuVax+OQ+JU+8rjbog==","signatures":[{"sig":"MEUCIQC2VN6yEzoOBTrMtMR6ObPaSTEpFchYpLNTY9VnU8B9agIgJgcynpBRozolu4vvNTCy25orrOA2OjC+ydq0QoF9g3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10543741},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"22f9ddfd942fb6c4d1f53b6146e29ed514ddc488","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.47_1777492562745_0.7492501426570273","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.48":{"name":"strray-ai","version":"1.22.48","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.48","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"1d5377bf8c187aa9c8b9b5b85a3a25ac0be07ab0","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.48.tgz","fileCount":8734,"integrity":"sha512-Wx3+D2pZvScj8UX8xCYi5SVM5i0BGhNWZsfm3m8kxufHLTmmO7jZl4Z/ygCn1vBUkm4i6hM6G20ENFnUSK5SiA==","signatures":[{"sig":"MEUCIQCz7drLXTEJsvxwI0J89Slt0GKTTwMbEkfzywvxVtysGwIgYGoNvJQYk1tqhW8KANWxsaET8VngIrxm9n2IOmg629w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10361171},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"e2f722523f6466c50a3268764474a6eddd7a1169","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.48_1777492880250_0.7057283539135986","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.50":{"name":"strray-ai","version":"1.22.50","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.50","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"55813b9c0c0d94ef3d524319b8cde4c95ca08494","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.50.tgz","fileCount":11163,"integrity":"sha512-KV0KEN3HcL/OMsaGIEdtj1HZFHFQzm8dVv92GwChVT90b/OewNy3OkcJVKEo+OuuqITohLaGYWXNwKnjlcnr+A==","signatures":[{"sig":"MEUCIEVNUFkwP3pcGIPwOn4433uR7Gg4gzEHUGCmAgOAp6SKAiEA6ktn8IJse8RfBvcnHYeoIcYlxetCy1g1MagzSTWuXto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32263489},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b5c6100ec4ea24c9c9ee4fc7c2b06b2cde96458a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.50_1778080425548_0.1319497519475108","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.51":{"name":"strray-ai","version":"1.22.51","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.51","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"7bd76aa417d7d914877761fc60126f60c2d08887","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.51.tgz","fileCount":11170,"integrity":"sha512-un7N27N9Vsbf7lnm9lSXznNvnjRe8NsuTs3Jnxbl2Klt6YxeK0LAbRxbjVlyKyMVXDD4uOxIgD4CRkDoFGnxTA==","signatures":[{"sig":"MEQCICsp9ju79iNQXkH2aaMHc7m5g8UNQpHD1+7qkCXjxl6rAiBbe8VEOqrIziuB8psY9x/YI+Y7MS1DMNP0oopiYek13g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32304521},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"3d96823ff9ad34c3538a12d1c8871a0f39f53d26","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.51_1778081153349_0.5837210789094502","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.52":{"name":"strray-ai","version":"1.22.52","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.52","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"b250ed5811e6f941a92887c949e8440090f842c8","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.52.tgz","fileCount":11173,"integrity":"sha512-hroRpCprEC/QYK+Vh2kcSy5HrRtzlhk9IyyB5rBFnVzFdW8nhnF+HGFM7pxNkcdSnIyVveM1AvpJZCigjUqQ6g==","signatures":[{"sig":"MEUCIDx9ZuJ3Jh7X3etYMwrxREuNUUi76aIqa/To9e1/c6NbAiEA/1Cok1kGspO3b15PUDpu+bh+BlL4b3bLy03/Rt+Yx/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32319780},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"ce3b70eba16157edff1811e3936120f4bdc56b3a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.52_1778081418517_0.6333507760267452","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.53":{"name":"strray-ai","version":"1.22.53","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.53","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"1795d273f35aba7d4fb82a9108534b3ea1811677","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.53.tgz","fileCount":11212,"integrity":"sha512-+2CQiX9mun0CmvLE6kuWbzcDat4worIvXZ/a07TPh9EM883BJERMpQWNVmbp8f2+72XPOPESGVaLKwIv6hCtoQ==","signatures":[{"sig":"MEUCIQCCmE+t8c+FqMHyEfF7ULdyGKd6iYj4M8Ilw4/JRiKisQIgNbsPjXs7tNJ80b6fHxPYrwdKOV+5I/X6XvbyL1sYpwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32542356},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"6ddf31de530327dfe64d5029d96f26a1e1a227ca","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.53_1778084531669_0.15669017166633004","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.55":{"name":"strray-ai","version":"1.22.55","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.55","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"ce28882d602b50dc7e6efd67ec3da7d72059d3b1","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.55.tgz","fileCount":12072,"integrity":"sha512-4AI4+AOYb/MmXw13roHGhEn0xgl2QlgWIsfp4MqC/81FCaIOiL02QBnoNqT1iP8rt+GPEsF7f73gfn67PQeUYQ==","signatures":[{"sig":"MEYCIQDXzp3ksg1FArEgN47CIrtiwD2+6BjTCRXjCi2H7u75ZgIhANpd+cK3N2r4FCTsj3eAfczw1jI6S8KS+AordLHXttHI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36473592},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"c343767200f8a53d188e57fd62616c7a845dbe11","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.55_1778271543203_0.9116253533494327","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.57":{"name":"strray-ai","version":"1.22.57","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.57","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"13a76c1029768cd6c659b22cc286d8c90891e18c","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.57.tgz","fileCount":12524,"integrity":"sha512-x0iRvTmHp7gV8+MHLgt4h2XjEBCSlyfJSSmoEh4qh7pw5D9ePq2pKeZ4cWSH53SqnBeqEjfKC3NyYoTisnk5wQ==","signatures":[{"sig":"MEUCIQCYQRHDFzx1Oc+flKynPfKm6duYgMYGSbHd7jdtqUDg9AIgMQRaHLjCWRUSZjTfIMIgU7Zib4xLpo3J2VxEeqHXWBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39877993},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"170472e475d5485d2a4055c9903408a0bdfca4cf","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray","repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.55","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.57_1778508775433_0.7990427517362586","host":"s3://npm-registry-packages-npm-production"}},"1.22.58":{"name":"strray-ai","version":"1.22.58","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.58","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"a98edfbf40d5dde08baaf9be4507cacb10238b54","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.58.tgz","fileCount":12524,"integrity":"sha512-OpfkvdW7T754NKno8IVEmaf02i+aihN27LvFtaY+OGvB/K46LexnQTb9FeO2YtodmZGtkKP5xUDf/ATGWA4C3w==","signatures":[{"sig":"MEQCIBkm9d1VVXdgMtql0yzO5em1Ej/FWsVrccVVi5wrxONKAiB2U2eiHtkep+l93jcwC+1kfip0eRZgkxxjyARU5cdDjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39882269},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"2361dad8f91be66f63d41d468bed8989dfb65f29","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray","repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.57","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.58_1778511192099_0.2669131065306114","host":"s3://npm-registry-packages-npm-production"}},"1.22.59":{"name":"strray-ai","version":"1.22.59","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.59","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"ccfc70e3420d3b24b4569da7af85c4d59411c682","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.59.tgz","fileCount":12580,"integrity":"sha512-A4en7+8i5CIPoIyaKNloUwHYiYwPYf2LD4iMXZa+C+jObhUYPTHtqiq3B3RXGb146dWA4TbAFvNaV1G34EX1mQ==","signatures":[{"sig":"MEUCIQC/Yq9w+9b0LB35i2tDypYo3e0rIT0Y64ODkqVu/3Ru7gIgIi3Yj/Owx7ePB2f7qMUJ/kK9220uE5mjonAjj9XFQJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40731471},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"28183e3201f8095c40951ad8885fd2050947c772","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done","clean":"rm -rf dist","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.55","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.59_1778516238422_0.596251562784629","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.60":{"name":"strray-ai","version":"1.22.60","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.60","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"b5d392b94f0c0f9842602cf190a267d65fd15e45","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.60.tgz","fileCount":13944,"integrity":"sha512-FW4xuk7fXLw2E9k/tGWWP9zLNirDgm5Ae+nT0kVqet+tUkQCUDZTEgCG+pkOLV2vGD1ky2sUjCT5gzH9AYkOew==","signatures":[{"sig":"MEQCIGyV4m5lHUgiGrR/LWxn1pRHhjp4TAWHU8/tYO7xiFzMAiB+G+F8kYxnqaRSF8psT/9/M9j/PSzhxg982WWZa2sWyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61719104},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"2763b0bdd7483d316b6294c9b5fc61a260708608","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.59","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.60_1779200654939_0.7411725511962339","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.61":{"name":"strray-ai","version":"1.22.61","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.61","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"5c2e7fdcd9e1f86c4d52887e14c513e9994300ce","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.61.tgz","fileCount":13946,"integrity":"sha512-SHIuNqcEfMiCS4VqScN3SOopT+8MVjxnElaErsM9agSVvNEck1iuYY1Xc25R7vc5PlcBTVcs7ghwMP3GYR7hgw==","signatures":[{"sig":"MEYCIQD7BPtyFOUDVz7pw4br6B2lfiKGtf3wjM48TSycGBQ3XAIhAKVVtOFYqn1UXOLx0ljATpd72vC2DOGD2sq++NvPA4s/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61762839},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"0c5ddbb8121fa938c398eed5e347fa0bf9b916ed","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.59","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.61_1779206487597_0.23174905637689802","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.62":{"name":"strray-ai","version":"1.22.62","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.62","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"80973030def76dd10e33aa844d8e55c92102372d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.62.tgz","fileCount":13949,"integrity":"sha512-aG8tzm7+3LpUJVW7IkDktK7xcXycRk/n1cQMIdGdJHI3N4X2yVB1Z6shRVYGUjrvppSj7kPscdeRGsy5ApyidA==","signatures":[{"sig":"MEUCIENSohgrAch5Gy7kQkg8uw4jlrRAfQUUmZS7RXcgQLuRAiEA1vQjSsKbnkFYqMNhVZWs4FHqeVfQwDxPwnXpF5dFZDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61814041},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"438c4ba415c9d06e2795cb8372245191868c2b7b","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.59","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.62_1779208074174_0.11349558926884495","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.63":{"name":"strray-ai","version":"1.22.63","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.63","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"be486314b2daac62c0b8bb47c1e6a76f31fc2b8d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.63.tgz","fileCount":13953,"integrity":"sha512-PXlPz19C3SJv0KCZ198euOtzJJLJSEbgvxqqMuhhTsnoYn+2vh8F6N2FS0Pi9CjH6OM0KuwfHBf2LIe0kEu0RQ==","signatures":[{"sig":"MEQCIGyK32bBfGnMIEsCgW1UjchB84en61YNDyBDteK7byEqAiATx2v41yKL0YQyZ5qx/jPasWS0rzuIatBNSqDZqkTXmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61880662},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"b72b18988c6eae9124693ac25095fe19934ae912","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.59","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.63_1779209160418_0.23790188455563444","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.64":{"name":"strray-ai","version":"1.22.64","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.64","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"d0edcd156c038d9824a0d570326fed10102f3250","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.64.tgz","fileCount":13959,"integrity":"sha512-FVA+BTWErIdNpQ8yphnvWeNwxUpgk6diSGNeJohUQ5sRtoXJAlhOSxrG6job8z1OQfw89SbsqmgqVJiMS7YH4w==","signatures":[{"sig":"MEUCID/hKYc79AAu9LNmDmPxzMMg/5KVcyXfTGImoRNN2DIXAiEA0GnP3b/HFBRntVtxURcROSKG7pdVaWirGfCJN1Pi9iQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61982033},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","gitHead":"80b6873e3399d39b70176daf5d9a720c9e4c5972","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.59","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.64_1779210249910_0.519482095809531","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.65":{"name":"strray-ai","version":"1.22.65","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.65","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"547948035df086f0bcbed6542b5d90a94d5a7f03","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.65.tgz","fileCount":13961,"integrity":"sha512-dEAGxmliKO6Zkj1R4DznGg7GGFhgG7hWe0uygYkjUL0kzcxud+z+APwOFWy2vI7F/Kmjl5fDVLY+Etl2hyDc6w==","signatures":[{"sig":"MEUCIQC7i5i0aYBYMXihtZvRNNt0TU7IBkQNgvEh++zCRW8KPgIgeTFZW4rXn7FyVT9WA2n+uvr8dEjCgr6137cZPg0erj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62012124},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","strray":{"dist":"dist","notes":"Used by server-config-registry and MCP client to resolve correct built artifacts in both dev and installed consumer scenarios. Prevents accidental use of stale node_modules/strray-ai/dist builds.","version":"1.22.64","cliEntry":"dist/cli/index.js","frameworkRoot":".","mcpServersPath":"dist/mcps"},"gitHead":"5a98fb5d92394ecf6feeccf10e4d30f855576a6c","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.64","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.65_1779212845844_0.047413352304692236","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.66":{"name":"strray-ai","version":"1.22.66","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.66","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"4227f4e524c675fc19eeb724a6a2c178b2b2aeed","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.66.tgz","fileCount":13962,"integrity":"sha512-VSVCkZ1mssm/a08cCuvWD7zz/a3tCbewgF9HxuDiprlmV+ozhKhPN0oh3+TSsbPCcWLzjgDXgWvANBLfxyxH9Q==","signatures":[{"sig":"MEUCIQCRk6JQAUC2aibt0DX4bCoXm3vF+tbQrGJaXFT6U+moCQIgZxCowXQFLwFAFIPEI77k2QTRJhdL+z6mDwCkko7lM9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62029708},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","strray":{"dist":"dist","notes":"Used by server-config-registry and MCP client to resolve correct built artifacts in both dev and installed consumer scenarios. Prevents accidental use of stale node_modules/strray-ai/dist builds.","version":"1.22.64","cliEntry":"dist/cli/index.js","frameworkRoot":".","mcpServersPath":"dist/mcps"},"gitHead":"32f4fb28d552adfafb3b006617498b4a3e480d31","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ 0xRay: Self-Healing AI Governance OS - Enterprise AI orchestration for OpenCode, Hermes, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.65","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.66_1779214587849_0.5290285455500381","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.67":{"name":"strray-ai","version":"1.22.67","keywords":["ai","claude","opencode","hermes","openclaw","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","development","automation","testing","security","governance"],"license":"MIT","_id":"strray-ai@1.22.67","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/xray/xray#readme","bugs":{"url":"https://github.com/xray/xray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"ee1f6210c5b41f81358f94d70811217b1427a07a","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.67.tgz","fileCount":538,"integrity":"sha512-/3gpgul07j+y7LlEH4ImTGTDsQNW4pEQe6JPURJTie0kk/q23D0lgS0thUyhrDstOGSZ7dgyZ+wq3eqNkUjzDg==","signatures":[{"sig":"MEUCICpWDqK8u5qAHjrPS1t1ebRmaWcRqqdDgSjqdr6jLc0BAiEAvLwFwS4wNU1Yu0ajNrmH9+v2ri8h2KzdXTAlCXmOvqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4550585},"main":"./dist/plugin/xray-codex-injection.js","type":"module","types":"./dist/plugin/xray-codex-injection.d.ts","gitHead":"36b3ee93d79ad0bf602f4f629ea818f486589c1d","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && (find dist/plugin -name '*codex-injection*.js' -exec cp {} dist/plugin/xray-codex-injection.js \\; 2>/dev/null || true) && cp -r src/opencode/ .opencode/ && rm -rf .opencode/strray 2>/dev/null || true","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"echo \"[xray] Use 'npm test' or 'npm run test:comprehensive'.\"","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"npm run validate","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"npm run validate","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"echo 'Legacy agents test entry retired'","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/v2-deletion-protection.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"XRAY_FORCE_MCP_GOVERNANCE=true XRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./dist/plugin/xray-codex-injection.js"},"repository":{"url":"git+https://github.com/xray/xray.git","type":"git"},"_npmVersion":"10.8.2","description":"⚡ xray: Self-Healing AI Governance OS — The clean v2 three-subsystem architecture (Inference + External Governance via Dynamo + Autonomous Engine via thinDispatch 7-flow in the MCP orchestrator). YML agent surfaces as SSOT. Zero legacy.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.17.0","vitest":"^2.1.8","ts-node":"^10.9.2","@types/ws":"^8.5.13","@eslint/js":"^9.39.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.0","@types/jsonwebtoken":"^9.0.7","@vitest/coverage-v8":"^2.1.8","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.67_1780402278797_0.2090125630954709","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.68":{"name":"strray-ai","version":"1.22.68","keywords":["ai","opencode","hermes","openclaw","grok","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","governance","cli","tui","hallucination-prevention","ai-slop-prevention","terminal-ai","ai-assistant","plugin-system"],"license":"MIT","_id":"strray-ai@1.22.68","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"3d2bcb46144c98b50c3915a65970ee38cc4704b0","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.68.tgz","fileCount":5519,"integrity":"sha512-UWV+eyqKqJ69wWIj2FacqE4a6CH84JDdsm9xFiljuS/T7vSckj+rQ7GgYIX/57onVlrg7Uy6zCb14tP4KzEy1Q==","signatures":[{"sig":"MEYCIQCgUQZrvqnJ+HP/qjRY+ZcetRHMW+oJQlKc78UlFOnfOgIhAJhnkR5TyOnczhXNGVoOpqHq3sJUKYUZl3KTGWy5vpTo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6934841},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","strray":{"dist":"dist","notes":"Used by server-config-registry and MCP client to resolve correct built artifacts in both dev and installed consumer scenarios. Prevents accidental use of stale node_modules/strray-ai/dist builds.","version":"1.22.64","cliEntry":"dist/cli/index.js","frameworkRoot":".","mcpServersPath":"dist/mcps"},"gitHead":"3ca8ec97ed804628046d21acdc793dca7f34a64e","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"Multi-agent orchestration and Codex governance for OpenCode, Hermes, Grok Build, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.65","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.68_1780444664375_0.6250570920237501","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"},"1.22.69":{"name":"strray-ai","version":"1.22.69","keywords":["ai","opencode","hermes","openclaw","grok","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","governance","cli","tui","hallucination-prevention","ai-slop-prevention","terminal-ai","ai-assistant","plugin-system"],"license":"MIT","_id":"strray-ai@1.22.69","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"homepage":"https://github.com/htafolla/stringray#readme","bugs":{"url":"https://github.com/htafolla/stringray/issues"},"bin":{"strray-ai":"dist/cli/index.js","strray-integration":"dist/scripts/integration.js"},"dist":{"shasum":"ea72537609f32537224c4cfce3ae0f061b8df84d","tarball":"https://registry.npmjs.org/strray-ai/-/strray-ai-1.22.69.tgz","fileCount":5843,"integrity":"sha512-VqEiKWfCyrHj4PzRHJjpu2a1x+r1BO+N4PS2K2ipIKdu8ZYZfbpIJVsu5EnWfqZROrdU8h82HV7qwGTt8H9WEQ==","signatures":[{"sig":"MEMCH2/bWKokmR+LFa2U3wE+x5v/l6qg1Yz1qf5x8atAeWkCIFfqS1Lng2wNYCLYkYtwVrNELBXLkvHJzK9UGAKwMzF0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7654287},"main":"./dist/plugin/strray-codex-injection.js","type":"module","types":"./dist/plugin/strray-codex-injection.d.ts","strray":{"dist":"dist","notes":"Used by server-config-registry and MCP client to resolve correct built artifacts in both dev and installed consumer scenarios. Prevents accidental use of stale node_modules/strray-ai/dist builds.","version":"1.22.64","cliEntry":"dist/cli/index.js","frameworkRoot":".","mcpServersPath":"dist/mcps"},"gitHead":"01e9aa1922c1a322c152a9b2143e3d9806eeb71a","scripts":{"lint":"eslint -c tests/config/eslint.config.js src","test":"vitest run","build":"tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/","clean":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","publish":"npm run pre-publish-guard && npm run safe-publish","release":"node scripts/node/release.js","version":"node scripts/node/version-manager.mjs","lint:fix":"eslint src --fix","prebuild":"rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo","test:e2e":"node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js","validate":"node scripts/validate-stringray-comprehensive.js","build:all":"npm run build","build:run":"node scripts/build/utils.js build","setup-dev":"node scripts/node/setup-dev.cjs","test:root":"npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts","test:unit":"npm test -- src/__tests__/unit/boot-orchestrator.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts src/__tests__/unit/state-manager-persistence.test.ts src/__tests__/unit/context-loader.test.ts src/__tests__/unit/pattern-analyzer.test.ts src/__tests__/unit/complexity-calibrator.test.ts","typecheck":"tsc --noEmit","ci-install":"npm ci","preversion":"npm run version:sync","test:batch":"npm test","test:quick":"npm test -- src/__tests__/integration/boot-orchestrator.integration.test.ts src/__tests__/unit/config-loader.test.ts src/__tests__/unit/state-manager.test.ts","build:clean":"node scripts/build/utils.js clean","postinstall":"node scripts/node/postinstall.cjs","release:dry":"node scripts/node/release.js --dry-run","build:verify":"node scripts/build/utils.js verify","config:setup":"node scripts/config/utils.js setup-dev","safe-publish":"npm run prepare-consumer && npm run build","test:unified":"node scripts/test/test-unified-framework.mjs","version:bump":"node scripts/node/version-manager.mjs","version:sync":"node scripts/node/universal-version-manager.js","release:major":"node scripts/node/release.mjs major","release:minor":"node scripts/node/release.mjs minor","release:patch":"node scripts/node/release.mjs patch","test:consumer":"node scripts/test/test-consumer-readiness.cjs","test:security":"npm test -- src/__tests__/unit/security/security-hardener.test.ts src/__tests__/unit/security/security-headers.test.ts src/__tests__/unit/security/security-auditor.test.ts","validate:full":"node scripts/validate-stringray-comprehensive.js --full","prepublishOnly":"npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f","security-audit":"npm audit || true","test:pipelines":"node src/__tests__/pipeline/run-all-pipelines.mjs","validate:quick":"node scripts/validate-stringray-comprehensive.js --quick","monitoring:stop":"node scripts/monitoring/daemon.js stop","test:agents-all":"npm test -- src/__tests__/agents/","test:full-suite":"npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:agents-all && npm run test:infrastructure && npm run test:root","test:processors":"npm test -- src/__tests__/unit/processor-activation.test.ts src/__tests__/unit/typescript-compilation-processor.test.ts","enforce:versions":"bash scripts/node/enforce-version-compliance.sh","monitoring:start":"node scripts/monitoring/daemon.js start","prepare-consumer":"node scripts/node/prepare-consumer.cjs","test:integration":"node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs","test:performance":"npm test -- src/__tests__/unit/monitoring.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","monitoring:report":"node scripts/monitoring/daemon.js report","pre-publish-guard":"node scripts/node/pre-publish-guard.js","test:code-analysis":"npm test -- src/__tests__/unit/codebase-context-analyzer.test.ts src/__tests__/unit/dependency-graph-builder.test.ts src/__tests__/unit/rule-enforcer.test.ts src/__tests__/unit/codex-parser.test.ts src/__tests__/unit/codex-injector.test.ts","test:comprehensive":"npm run typecheck && npm run test:unit && npm run test:core-framework && npm run test:security && npm run test:performance && npm run test:session-management && npm run test:code-analysis && npm run test:processors && npm run test:miscellaneous","test:miscellaneous":"npm test -- src/__tests__/unit/blocked-test.test.ts","test:core-framework":"npm test -- src/__tests__/unit/agent-delegator.test.ts src/__tests__/unit/self-direction-activation.test.ts src/__tests__/unit/ast-code-parser.test.ts src/__tests__/unit/orchestrator.test.ts","test:infrastructure":"npm test -- src/__tests__/infrastructure/","test:security-audit":"npm run test:security","test:dependency-scan":"npm run security-audit","test:integration-all":"npm test -- src/__tests__/integration/","test:performance-all":"npm test -- src/__tests__/performance/ src/__tests__/unit/performance-system.test.ts src/__tests__/unit/benchmark.test.ts src/__tests__/unit/analytics.test.ts","debug:inference:force":"STRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force","test:session-management":"npm test -- src/__tests__/unit/session-state-manager.test.ts src/__tests__/unit/session-security-validator.test.ts src/__tests__/unit/session-coordination-validator.test.ts src/__tests__/unit/session-migration-validator.test.ts src/__tests__/unit/session-migration-logic.test.ts src/__tests__/unit/session-health-monitoring.test.ts"},"_npmUser":{"name":"htafolla","email":"htafolla@gmail.com"},"opencode":{"mcps":"./dist/mcps/","plugin":"./.opencode/plugin/strray-codex-injection.js"},"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"_npmVersion":"10.8.2","description":"Multi-agent orchestration and Codex governance for OpenCode, Hermes, Grok Build, and OpenClaw","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","express":"^5.2.1","commander":"^11.1.0","strray-ai":"^1.22.65","jsonwebtoken":"^9.0.3","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^4.0.18","@types/ws":"^8.5.10","@eslint/js":"^9.39.2","@types/node":"^25.2.3","@types/express":"^5.0.6","@faker-js/faker":"^10.3.0","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strray-ai_1.22.69_1780497540657_0.672555291517102","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has been renamed to 0xray. Please use 'npm install 0xray' instead. See https://github.com/0xRayAI/xray"}},"time":{"created":"2026-01-15T01:03:50.906Z","modified":"2026-06-05T22:13:33.220Z","1.0.2":"2026-01-15T01:03:51.154Z","1.0.3":"2026-01-15T01:06:02.803Z","1.0.4":"2026-01-15T01:07:39.438Z","1.0.5":"2026-01-16T13:11:16.062Z","1.0.9":"2026-01-16T14:23:49.566Z","1.0.6":"2026-01-16T15:26:36.719Z","1.0.7":"2026-01-16T18:56:56.707Z","1.0.8":"2026-01-16T22:05:28.271Z","1.0.10":"2026-01-16T22:17:28.137Z","1.0.11":"2026-01-16T23:06:03.604Z","1.0.12":"2026-01-16T23:22:12.511Z","1.0.13":"2026-01-16T23:53:38.711Z","1.0.14":"2026-01-17T18:09:24.990Z","1.0.15":"2026-01-17T18:10:52.121Z","1.0.16":"2026-01-17T18:11:15.421Z","1.0.17":"2026-01-17T18:12:10.449Z","1.0.18":"2026-01-17T18:17:14.963Z","1.0.19":"2026-01-17T18:22:15.693Z","1.0.20":"2026-01-17T18:29:38.763Z","1.0.21":"2026-01-17T18:30:27.811Z","1.0.22":"2026-01-17T18:35:02.946Z","1.0.23":"2026-01-17T18:35:52.320Z","1.0.24":"2026-01-17T18:41:55.251Z","1.0.25":"2026-01-17T18:43:12.290Z","1.0.26":"2026-01-17T18:45:02.260Z","1.0.27":"2026-01-17T23:55:06.945Z","1.0.28":"2026-01-18T00:55:11.299Z","1.0.29":"2026-01-18T01:33:48.268Z","1.0.30":"2026-01-18T01:52:33.148Z","1.0.31":"2026-01-18T05:43:15.002Z","1.0.33":"2026-01-18T16:43:30.166Z","1.1.0":"2026-01-19T21:19:57.643Z","1.1.1":"2026-01-20T02:19:00.096Z","2.0.1":"2026-01-24T22:15:38.126Z","1.2.0":"2026-02-01T00:47:17.894Z","1.2.1":"2026-02-01T01:56:43.248Z","1.2.2":"2026-02-01T02:04:47.971Z","1.2.4":"2026-02-01T02:45:50.752Z","1.2.5":"2026-02-01T03:16:05.900Z","1.2.6":"2026-02-01T03:20:20.028Z","1.2.7":"2026-02-01T03:48:09.311Z","1.2.8":"2026-02-01T16:27:00.446Z","1.2.9":"2026-02-01T20:21:57.602Z","1.3.0":"2026-02-01T20:48:26.048Z","1.3.2":"2026-02-01T21:11:57.425Z","1.3.3":"2026-02-01T22:36:57.782Z","1.3.4":"2026-02-01T23:19:49.953Z","1.3.5":"2026-02-01T23:28:12.573Z","1.4.0":"2026-02-16T11:17:11.913Z","1.4.1":"2026-02-16T11:30:38.483Z","1.4.3":"2026-02-16T20:48:48.103Z","1.4.4":"2026-02-16T22:48:17.723Z","1.4.5":"2026-02-16T22:50:37.743Z","1.4.6":"2026-02-16T22:57:54.102Z","1.4.7":"2026-02-16T23:05:33.948Z","1.4.8":"2026-02-16T23:09:49.154Z","1.4.9":"2026-02-17T02:05:46.267Z","1.4.10":"2026-02-17T02:29:31.398Z","1.4.11":"2026-02-17T03:43:44.823Z","1.4.12":"2026-02-17T03:52:10.198Z","1.4.13":"2026-02-17T04:17:50.161Z","1.4.14":"2026-02-17T10:36:49.263Z","1.4.15":"2026-02-17T10:40:23.238Z","1.4.16":"2026-02-17T10:55:50.130Z","1.4.17":"2026-02-17T11:06:05.382Z","1.4.18":"2026-02-17T11:16:04.566Z","1.4.19":"2026-02-17T13:03:37.829Z","1.4.20":"2026-02-17T17:07:33.272Z","1.4.21":"2026-02-18T01:17:36.896Z","1.4.22":"2026-02-18T01:36:15.338Z","1.5.0":"2026-02-18T13:04:19.332Z","1.5.1":"2026-02-19T01:09:58.685Z","1.5.2":"2026-02-19T20:12:15.473Z","1.5.3":"2026-02-23T01:59:46.956Z","1.5.4":"2026-02-23T02:08:22.269Z","1.5.5":"2026-02-23T12:35:18.407Z","1.6.0":"2026-02-24T20:57:51.392Z","1.6.1":"2026-02-24T22:53:32.312Z","1.6.2":"2026-02-25T11:51:12.678Z","1.6.3":"2026-02-25T17:01:19.898Z","1.6.4":"2026-02-25T18:27:20.090Z","1.6.5":"2026-02-25T19:52:14.801Z","1.6.6":"2026-02-26T02:28:22.246Z","1.6.7":"2026-02-26T12:43:27.519Z","1.6.8":"2026-02-26T17:10:06.908Z","1.6.9":"2026-02-26T18:20:41.295Z","1.6.10":"2026-02-26T18:47:18.634Z","1.6.11":"2026-02-26T21:11:16.240Z","1.6.12":"2026-02-26T22:08:44.934Z","1.6.13":"2026-02-27T13:00:57.246Z","1.6.14":"2026-02-27T14:21:40.248Z","1.6.16":"2026-02-27T15:22:48.668Z","1.6.18":"2026-03-02T11:56:30.789Z","1.6.19":"2026-03-02T12:51:52.151Z","1.6.20":"2026-03-02T17:38:50.446Z","1.6.21":"2026-03-02T18:31:48.200Z","1.6.23":"2026-03-02T23:06:36.769Z","1.6.24":"2026-03-02T23:07:48.493Z","1.6.25":"2026-03-02T23:14:52.745Z","1.6.26":"2026-03-03T10:54:36.475Z","1.6.27":"2026-03-03T10:57:37.528Z","1.6.28":"2026-03-03T14:42:10.956Z","1.6.29":"2026-03-03T14:44:24.137Z","1.6.31":"2026-03-03T16:56:32.421Z","1.7.0":"2026-03-04T17:30:00.729Z","1.7.1":"2026-03-04T18:21:30.943Z","1.7.2":"2026-03-04T21:13:59.018Z","1.7.3":"2026-03-08T16:27:56.387Z","1.7.5":"2026-03-08T19:50:03.755Z","1.7.6":"2026-03-09T12:07:00.321Z","1.7.7":"2026-03-09T13:22:03.447Z","1.7.8":"2026-03-09T14:16:37.390Z","1.7.10":"2026-03-10T14:52:08.502Z","1.9.0":"2026-03-11T16:35:23.852Z","1.10.0":"2026-03-12T21:40:58.794Z","1.10.1":"2026-03-13T19:29:29.506Z","1.10.2":"2026-03-17T15:11:07.564Z","1.10.3":"2026-03-17T15:12:21.585Z","1.10.5":"2026-03-17T15:30:02.574Z","1.10.6":"2026-03-18T14:58:55.054Z","1.10.7":"2026-03-18T18:06:20.671Z","1.11.0":"2026-03-18T20:38:33.102Z","1.12.0":"2026-03-18T20:39:28.183Z","1.13.1":"2026-03-19T15:36:56.320Z","1.13.2":"2026-03-19T18:08:29.845Z","1.13.3":"2026-03-19T18:39:32.791Z","1.13.4":"2026-03-19T19:31:59.214Z","1.13.5":"2026-03-20T01:40:49.957Z","1.14.0":"2026-03-23T18:27:19.014Z","1.14.2":"2026-03-26T15:50:13.883Z","1.14.3":"2026-03-26T16:00:27.129Z","1.14.4":"2026-03-26T19:18:41.342Z","1.14.5":"2026-03-26T19:51:36.750Z","1.14.6":"2026-03-26T20:05:20.549Z","1.14.7":"2026-03-26T20:31:17.821Z","1.14.8":"2026-03-27T01:42:35.991Z","1.14.9":"2026-03-27T01:43:14.788Z","1.15.0":"2026-03-27T13:20:47.793Z","1.15.1":"2026-03-27T16:51:48.708Z","1.15.2":"2026-03-27T17:46:32.682Z","1.15.3":"2026-03-27T17:47:34.288Z","1.15.4":"2026-03-27T17:48:53.452Z","1.15.5":"2026-03-27T20:33:49.588Z","1.15.6":"2026-03-28T02:43:04.952Z","1.15.7":"2026-03-28T04:07:51.841Z","1.15.8":"2026-03-28T04:08:22.647Z","1.15.9":"2026-03-28T04:08:53.796Z","1.15.10":"2026-03-28T04:09:54.134Z","1.15.11":"2026-03-28T21:07:26.231Z","1.15.12":"2026-03-28T21:41:58.092Z","1.15.13":"2026-03-28T22:11:31.329Z","1.15.14":"2026-03-28T22:12:10.970Z","1.15.15":"2026-03-28T22:13:06.516Z","1.15.16":"2026-03-28T22:52:06.855Z","1.15.17":"2026-03-29T00:07:12.772Z","1.15.18":"2026-03-29T15:22:17.421Z","1.15.19":"2026-03-29T21:34:48.585Z","1.15.20":"2026-03-30T00:47:16.962Z","1.15.22":"2026-03-30T01:13:03.526Z","1.15.23":"2026-03-30T01:24:25.909Z","1.15.25":"2026-03-30T02:04:04.351Z","1.15.26":"2026-03-30T02:51:25.666Z","1.15.27":"2026-03-30T03:11:52.869Z","1.15.28":"2026-03-30T12:05:56.180Z","1.15.29":"2026-03-30T14:14:42.663Z","1.15.30":"2026-03-30T14:53:46.340Z","1.15.31":"2026-03-30T14:56:12.034Z","1.15.32":"2026-03-30T16:17:56.284Z","1.15.33":"2026-03-30T16:38:35.784Z","1.15.34":"2026-03-30T20:27:52.540Z","1.15.35":"2026-03-30T20:47:17.643Z","1.15.36":"2026-03-30T21:32:39.405Z","1.15.37":"2026-03-30T22:36:02.890Z","1.15.38":"2026-03-31T15:57:06.455Z","1.15.39":"2026-03-31T15:59:59.611Z","1.15.40":"2026-03-31T16:29:07.876Z","1.15.41":"2026-03-31T19:52:09.126Z","1.17.0":"2026-04-01T14:14:56.017Z","1.18.0":"2026-04-01T14:26:25.597Z","1.18.1":"2026-04-01T14:33:27.493Z","1.18.2":"2026-04-01T15:03:48.171Z","1.18.3":"2026-04-01T16:13:22.547Z","1.18.4":"2026-04-01T16:16:29.302Z","1.18.5":"2026-04-01T16:25:36.297Z","1.18.6":"2026-04-02T13:11:22.536Z","1.18.8":"2026-04-02T18:07:13.247Z","1.18.9":"2026-04-02T18:30:13.514Z","1.18.10":"2026-04-03T11:57:34.267Z","1.19.0":"2026-04-05T15:10:09.054Z","1.20.0":"2026-04-07T15:57:50.029Z","1.21.0":"2026-04-07T15:59:19.737Z","1.22.0":"2026-04-07T16:02:32.421Z","1.22.1":"2026-04-07T16:04:00.769Z","1.22.2":"2026-04-07T16:07:40.249Z","1.22.5":"2026-04-10T01:00:11.840Z","1.22.6":"2026-04-10T01:00:58.816Z","1.22.8":"2026-04-10T01:06:32.443Z","1.22.9":"2026-04-10T01:07:14.690Z","1.22.10":"2026-04-10T01:09:56.397Z","1.22.12":"2026-04-13T23:04:44.909Z","1.22.14":"2026-04-22T13:13:46.644Z","1.22.15":"2026-04-27T16:52:36.531Z","1.22.16":"2026-04-27T17:46:51.646Z","1.22.17":"2026-04-27T17:52:44.142Z","1.22.18":"2026-04-27T18:02:24.005Z","1.22.19":"2026-04-27T18:40:50.506Z","1.22.20":"2026-04-27T18:42:47.346Z","1.22.21":"2026-04-27T18:43:53.286Z","1.22.22":"2026-04-27T20:05:48.250Z","1.22.23":"2026-04-27T20:06:51.906Z","1.22.24":"2026-04-27T20:08:08.251Z","1.22.26":"2026-04-28T01:12:02.596Z","1.22.27":"2026-04-28T01:12:57.660Z","1.22.28":"2026-04-28T18:53:53.573Z","1.22.29":"2026-04-28T18:55:36.356Z","1.22.30":"2026-04-28T20:07:56.253Z","1.22.31":"2026-04-28T20:11:25.442Z","1.22.33":"2026-04-29T11:13:03.151Z","1.22.34":"2026-04-29T11:15:42.249Z","1.22.35":"2026-04-29T11:16:59.588Z","1.22.36":"2026-04-29T11:17:59.238Z","1.22.37":"2026-04-29T11:18:58.175Z","1.22.38":"2026-04-29T11:19:48.937Z","1.22.39":"2026-04-29T11:20:24.240Z","1.22.40":"2026-04-29T11:37:46.814Z","1.22.41":"2026-04-29T11:47:01.407Z","1.22.42":"2026-04-29T12:24:28.128Z","1.22.43":"2026-04-29T12:25:17.176Z","1.22.44":"2026-04-29T15:12:40.548Z","1.22.45":"2026-04-29T17:59:50.990Z","1.22.46":"2026-04-29T18:01:03.591Z","1.22.47":"2026-04-29T19:56:02.998Z","1.22.48":"2026-04-29T20:01:20.560Z","1.22.50":"2026-05-06T15:13:45.822Z","1.22.51":"2026-05-06T15:25:53.764Z","1.22.52":"2026-05-06T15:30:18.826Z","1.22.53":"2026-05-06T16:22:12.026Z","1.22.55":"2026-05-08T20:19:03.414Z","1.22.57":"2026-05-11T14:12:55.668Z","1.22.58":"2026-05-11T14:53:12.497Z","1.22.59":"2026-05-11T16:17:18.740Z","1.22.60":"2026-05-19T14:24:15.245Z","1.22.61":"2026-05-19T16:01:27.819Z","1.22.62":"2026-05-19T16:27:54.430Z","1.22.63":"2026-05-19T16:46:00.729Z","1.22.64":"2026-05-19T17:04:10.233Z","1.22.65":"2026-05-19T17:47:26.260Z","1.22.66":"2026-05-19T18:16:28.177Z","1.22.67":"2026-06-02T12:11:18.976Z","1.22.68":"2026-06-02T23:57:44.604Z","1.22.69":"2026-06-03T14:39:00.947Z"},"bugs":{"url":"https://github.com/htafolla/stringray/issues"},"license":"MIT","homepage":"https://github.com/htafolla/stringray#readme","keywords":["ai","opencode","hermes","openclaw","grok","mcp","agent","orchestration","codex","error-prevention","multi-agent","framework","governance","cli","tui","hallucination-prevention","ai-slop-prevention","terminal-ai","ai-assistant","plugin-system"],"repository":{"url":"git+https://github.com/htafolla/stringray.git","type":"git"},"description":"Multi-agent orchestration and Codex governance for OpenCode, Hermes, Grok Build, and OpenClaw","maintainers":[{"name":"htafolla","email":"htafolla@gmail.com"}],"readme":"README.md","readmeFilename":""}