{"_id":"@farmslot/recipe-harness","_rev":"49-3814639aa17450c6302783644fe41297","name":"@farmslot/recipe-harness","dist-tags":{"latest":"0.22.1"},"versions":{"0.1.0":{"name":"@farmslot/recipe-harness","version":"0.1.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.1.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"bin/farmslot-recipe.mjs"},"dist":{"shasum":"57612ee4c9c1c4465cd3e745a9c832218a9972c7","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.1.0.tgz","fileCount":60,"integrity":"sha512-0M1OB1oGT3XfMxndzV2urwHQm0RVy8/YGSuut8YYZsKG8JBOa4EnqNADu+AYBUWmVCdmiJiCbTEnt6jKp98cQg==","signatures":[{"sig":"MEUCIFZEtPjRV1QCQRU1TGp9mqTkohWCiftcbu53ZbhMnajJAiEA4cibKC/CIoqQEql7H1RmoNVNTh23ouUYUOn8z9N6HZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246221},"main":"dist/index.js","type":"module","_from":"file:/tmp/farmslot-publish/recipe-harness.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"}},"scripts":{"lint":"eslint \"src/**/*.ts\"","test":"tsx src/recipe-harness.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"yarn build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore ."},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"_resolved":"/tmp/farmslot-publish/recipe-harness.tgz","_integrity":"sha512-0M1OB1oGT3XfMxndzV2urwHQm0RVy8/YGSuut8YYZsKG8JBOa4EnqNADu+AYBUWmVCdmiJiCbTEnt6jKp98cQg==","repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"_npmVersion":"11.12.1","description":"Reusable Recipe Protocol v1 runner for Farmslot.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.1.0_1780331263666_0.8054119038073835","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@farmslot/recipe-harness","version":"0.2.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.2.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"5b84a9838316bb575add74f4f1061fc354668f17","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.2.0.tgz","fileCount":84,"integrity":"sha512-7KWrdPiyRYE/4auy3t/4DaAD/gLv+gWIDNOaA1+dx1Zk6ZZ2S8y5nzfs0vvG7mM0wuuhT4f6TTlw+i+JyvVzcg==","signatures":[{"sig":"MEUCIG72fftkZz3fXPa69zoNnxL1F0rVb4IHbWhbhD9978bfAiEAg6FZHWVah1lLTnpS5Pc0t2wI9KdHYzAUV2j0Kpzs3BI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256430},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"a354840ef1c8e7e08a3b2c0a3c05fae2ad6fba62","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"yarn build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.2.0_1780366212766_0.876967784628627","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@farmslot/recipe-harness","version":"0.2.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.2.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"bin/farmslot-recipe.mjs"},"dist":{"shasum":"92ae3e077f0d24fcb74f1633b15934219b8cccdd","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.2.1.tgz","fileCount":92,"integrity":"sha512-JYLsy4gakQkUcORTcFN1otajxa8mQQE5ochRxSQQ7b6N21RBOtxIOVQ2y5eOMXUN0/QntJAO9dBIfp/icRZbWg==","signatures":[{"sig":"MEQCIAOKvd1YtRers4EhUvh5xCzcN7Rb+is3pkN74s5FiZUQAiB80lxHhQhYpDJnRfolPCBzbue2ILOfdRgzvD24rXy2tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309111},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"d14e4dd6bd3d7586ac38b868bda45a961abf7faf","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"_npmVersion":"11.12.1","description":"Reusable Recipe Protocol v1 runner for Farmslot.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.2.1_1781069116015_0.5571316201328966","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@farmslot/recipe-harness","version":"0.2.2","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.2.2","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"bin/farmslot-recipe.mjs"},"dist":{"shasum":"e55017c12218b3b667d89b43d6ed5b835a0f87c6","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.2.2.tgz","fileCount":92,"integrity":"sha512-gobttrdi7LXdBarLVkAx7i1Z/NmcYunRZiMs3mAEXoET9PEqSCQIvoaUBzMVrzd2lo5/ahByxyMarVcxIrNJ+w==","signatures":[{"sig":"MEYCIQDh7cC6rifPkmflz09PKwvScfWdz6zBEXDONiol+WwKNgIhAJ6v9uU+otjTHUDL56erKazMlOe95GuoFJ8AVlCkjWbU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309106},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"f63e88fc7bb9f9ef4643e1edd161d5533d5861b1","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"_npmVersion":"11.12.1","description":"Reusable Recipe Protocol v1 runner for Farmslot.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.2.2_1781069640975_0.06344917028360664","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@farmslot/recipe-harness","version":"0.3.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.3.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"1c1af9736651579764ed434dbbffa02ba0ba3110","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.3.0.tgz","fileCount":109,"integrity":"sha512-aeC2Aflkq8DVVmUjGEiERbBgGkm96m+oTtK/tdlEzTSAdk4hqzihjC59i9TKxRp4PxkKHvmBRoQOkKEedm1Hzg==","signatures":[{"sig":"MEYCIQDvsm+pPYaKfo7AaK7fp6HooFp1HIAx2a00foYw9aOISAIhAPbJWF6Wm+nK0DI7YCFjr+4sMkZ/BnYJgdtGN6K5jzBx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338754},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"14d4d3bf3da1a24968da629d361ee3a2d7655e51","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.3.0_1782482489393_0.8012788378934439","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@farmslot/recipe-harness","version":"0.3.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.3.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"6fa43e76185a1ecf60fd59b59f5654c10f5ddb7f","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.3.1.tgz","fileCount":113,"integrity":"sha512-ZkihnCXV5PqqgS8gyP0mqxPuRmO0MPLYcR2jgaWbdX7sIGxDDHSWFqY3/lkGAs9ktWByCoT6mFwk2dJhwZ2I6A==","signatures":[{"sig":"MEYCIQCvuDsdfaNRG6CboIRSfbQ3XOzSiN46MmgqCaGbCH7gNQIhAKvdtDwBI4bF9ra91zdFAKdukVHLUQ2EWpAQ7hhsWl/O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344202},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"c3bf6f4657a748bf249d53ae5a76345644dcfa3c","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.3.1_1782485362518_0.814431091635532","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@farmslot/recipe-harness","version":"0.3.2","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.3.2","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"24a74cbc61d564ac50d964ce91c59f2cf96f7d33","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.3.2.tgz","fileCount":117,"integrity":"sha512-aJHPdx5VI+taMji3SFk7QqjUs2Pcom/AU4rEwah5MXiUe8/TugzScLvH1ImlFyeXQtN1qh/SL1IhedYQ1/wtYg==","signatures":[{"sig":"MEUCIBAgWN1svHGEZ0Ee1GbPfsD7gL2yhNG90MvbbiXmpOnyAiEA+hol+hd4KsG5Y4G9612sPOjtF4rGI1qID555ivA+yUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":366516},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"c5d870da3d26d43ca2d5414c9b3f238ad8160ae3","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.3.2_1782836715833_0.4684022316737275","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@farmslot/recipe-harness","version":"0.3.3","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.3.3","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"d7c23e29f22b1f7fd840f841e3bd7268406360a6","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.3.3.tgz","fileCount":129,"integrity":"sha512-rHdnhxgbYSsev2JvOZ6vbTKNidu32whBjW4asJTlubYinumFzbrV9/ihKWydGh20DaVcIgKC3aoc6ZMJopgEDQ==","signatures":[{"sig":"MEUCIFvsTVK4oyu/r03PdHlxXNYKmMzd6YogNaEgiikBl0gdAiEAjjPCiXTb3ZYm3d0qsfPQcNq0cZukEkFbyEFpNRz7ocw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446053},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"96d378215369342ef483ba0929dc9e6ee1ae47e4","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.3.3_1783057258257_0.2845090069962082","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@farmslot/recipe-harness","version":"0.4.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.4.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"dcebf8a6510955a49df65a9de4e6ab1c67ae4b48","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.4.0.tgz","fileCount":133,"integrity":"sha512-USBegchWNcKbTq1ba2BR+Fd9uiA42EjZTAVmD0N/cOQLD9dwmjRCRAyvFBWmYfxZ0x/4waStfAGD4G+b27G1FQ==","signatures":[{"sig":"MEUCIQC+WGnLkEjE//ptco9mzaYD8c9A2F25F7vmJftG8IPp2wIgLnc1Ln4E1pGD4pVXJX64ciVqqxjqjLxuwMLXUx4pz44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465329},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"6dd7e86c659b011a60afeb58f12a8751cee162f0","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.4.0_1783447736600_0.49972930895304724","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@farmslot/recipe-harness","version":"0.4.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.4.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"da4e4b7efc18f70cd0058a4665978a325919a0e7","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.4.1.tgz","fileCount":133,"integrity":"sha512-vzf7Uah60dhP3fzTtl2H11IwrMaEuAUiHy9V83ATksDtH6zgRn/PRR1hZlYTTNHnbeKsU7jDHP41EYEMyHPUww==","signatures":[{"sig":"MEUCIDnlW+USbOoxfYalY9I6hNEpTPVA/nj3NXx7bhs6fucVAiEAnsqyNzoN5zk10C0Q+IO8dtwsrVD9iiJmT2VbjbEChfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470117},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"7b12a5d2d13131a3c53572f59b23523662023547","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.4.1_1783528772578_0.831865056331569","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@farmslot/recipe-harness","version":"0.4.2","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.4.2","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"39fccd2a3435871b557c913013991273b1c0c97f","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.4.2.tgz","fileCount":137,"integrity":"sha512-vUSqAKQkKwujKFjFCd9DlNvvV5FD2h76mUG/Ku7P5q2t5Qe21VnS2LGybJqA4UAUf5uhmZC1+yTfXip5HtzqAA==","signatures":[{"sig":"MEUCIAUS+ZkpHa7dpbERUVtJj8Gno3kWvAsXuSvB4M0v0KFeAiEArUPbFb1ZZE7UEQYKUQb5+Ms3b9WbUvRQU4gvUJcH3wg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488224},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"39a194edaf02533cd72052d354a793c15918a118","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.4.2_1783595134148_0.9670960757683942","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@farmslot/recipe-harness","version":"0.4.3","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.4.3","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"f58705953e79d9b3b7b83b474a9278564425036a","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.4.3.tgz","fileCount":137,"integrity":"sha512-BILVNqt77gW+/T5uSePry/INkh9OvBTrbGAix7iXumJOF9246zsxiSnqh9/17ZQhks56tVl3SUWOb9qDv9zWqQ==","signatures":[{"sig":"MEUCIQDccLdticpDxpCm0jTjLhGnhgqOMp0V3Fjp221xOzw43gIgdyEa5reaY39FMg0sWOlBXOBOmWt34+90FOGnPycIlKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488772},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"b12dbfeb6a02e4ed5d6aa24eb326ce9a495e40d3","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.7.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.4.3_1783598931132_0.11507184037066964","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@farmslot/recipe-harness","version":"0.5.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.5.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"bin/farmslot-recipe.mjs"},"dist":{"shasum":"1b7fa5107dd67fcc9d49fe9abf11ff1e62d0e757","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.5.0.tgz","fileCount":141,"integrity":"sha512-JFWjWeP18dxjXMdw1enOZ1gl0xzTS19RFdLLWftBMScqUnz0ztIPyXBLs7Mjc+25sgkGCRxlLnv9tcs+p0D6xA==","signatures":[{"sig":"MEQCIApoJR3QzQOyJ4Cae1XGKyexOhrfhyK9KZAXoZdlPZ5yAiBbp++07dNZRjWwiWzos0t6oMUzkqwqc4G9bHCO8gb5XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532439},"main":"dist/index.js","type":"module","_from":"file:/tmp/farmslot-recipe-harness-0.5.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"_resolved":"/tmp/farmslot-recipe-harness-0.5.0.tgz","_integrity":"sha512-JFWjWeP18dxjXMdw1enOZ1gl0xzTS19RFdLLWftBMScqUnz0ztIPyXBLs7Mjc+25sgkGCRxlLnv9tcs+p0D6xA==","repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"_npmVersion":"11.17.0","description":"Reusable Recipe Protocol v1 runner for Farmslot.","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.5.0_1783858410898_0.8568989940801119","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@farmslot/recipe-harness","version":"0.6.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.6.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"ba9ac3d2c10bfb2aad680521718e462c039c4030","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.6.0.tgz","fileCount":141,"integrity":"sha512-rXu0h4yRreJ2JA7tkQQTOSevmrqkx8JTR9WXV/89j2hALynkxxl/PkneV0lERCgztMIjPCB9r/8UqXTSN+bYvQ==","signatures":[{"sig":"MEQCIBVkc/8Ty++TebdG+I7NqBjVYrWRcbpFKY7pvUrEg6fLAiAx4/YUGAqj5Rb9ynurtzMeXB2j/lBs2AnB7H612d/htQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533684},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"5f6f762f6c31e0ad51e9436765baa791696bbd1d","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.6.0_1783976109936_0.5257599841853133","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@farmslot/recipe-harness","version":"0.7.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.7.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"478822c3dfb3de97331017c8ab970139329cdc48","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.7.0.tgz","fileCount":141,"integrity":"sha512-4TiGJbmG74eK335gefxhCnkK/KtefzVkMHh+jUwoivAdVXD0aTEW11UiVoazJyHZUFsbqKDVOG4fzn6RpkhYIw==","signatures":[{"sig":"MEYCIQCvVr8E6K22qge2PSoiWJIerwVOm4Yi52S4TWX2udaauAIhAKbX/kYCisN7ULB1B1VeKIIB0htK2hRGZh9QsxuDiuF5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549877},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"7c2f3bb6b4fa9cb6efb0a2022373c4eadfefe310","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.7.0_1784440866192_0.5080114195858787","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@farmslot/recipe-harness","version":"0.8.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.8.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"4d80af4d63e64d77acfa692aff03dad6fb367c69","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.8.0.tgz","fileCount":157,"integrity":"sha512-/rWdAivJeAbh7+eWr9aO8o1LktcfMHxlGfBYKOJn7R5H1PZeuh+7a10OagigM5HgwIBMVvUylEXT53lA08DptA==","signatures":[{"sig":"MEQCIGifM+ggudtzspZQwrI/jXoQlUFmQY/5OkWF+3mbu09gAiAWDVfZYuPgNjgM1NY8oO0YHmBCN8hDREnWrvcdKZgwrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":612323},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"90a91eecbfda86ba5a89b4467b84aecb0dbe7af1","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.8.0_1784514584593_0.14846944059856582","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@farmslot/recipe-harness","version":"0.9.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.9.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"07ab759472baf4c92a9a55ad650eacce48659474","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.9.0.tgz","fileCount":153,"integrity":"sha512-OE4QJA93n+zDK4lRbHkroZdjiYomzVPgyIRZCj/TUdIrdRQXi27FzkaqXdJSwr2a/a4KYotpj7ldDLFUdFJyNg==","signatures":[{"sig":"MEUCIHcdtZb8RR29fBVpoPPNYyRPYh5aPd581OfWeRUHnjJuAiEAkD52RHIK8yTiYEuAIxWXRt1WS4lFFb92pNUHfofiCNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":520287},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"d30082da635cb8819cf1cc6e8d92724eacba6795","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.9.0_1784748208077_0.08120238433965454","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@farmslot/recipe-harness","version":"0.9.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.9.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"57f0e2ff5cb1b4b9f3a5a9992654e7cfcbd387ec","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.9.1.tgz","fileCount":153,"integrity":"sha512-DpBdUYI7JYHFqkocViPlFObm9hcJxI1wICWkR43x7xAtAiQtQnswAZ8QFmNAw3X3nN+eirLPT4qS+N3LNxcJhg==","signatures":[{"sig":"MEYCIQD0EMkHEIs2vr+pYQQ4rxOEAxVI9qAD9OEVIvHRDKUjHQIhALNlymR5yrif1fpk6ILZCFAhxmgYVVXN71/lDOOH2EqM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521806},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"8ca879f2bc9c02c409347c122ffd24d7027b6d8d","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.9.1_1784803934734_0.4946748188493839","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@farmslot/recipe-harness","version":"0.9.2","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.9.2","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"a6f5d98d41e463427b0f3769a174e025c816fd96","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.9.2.tgz","fileCount":153,"integrity":"sha512-nElmKeymqGBoYuFX5N/41S6Zsmx8siOEMwMZDRsi5+zeuSNkgw2iRdOk4qKCQcE9HwiwzsDKMhNwV+kkq7R42g==","signatures":[{"sig":"MEUCID+C+YnA3Xps/9JXF4nTBtHKY3l35Wo9B3eE9hL6LlzsAiEA3AxiyE7GBuqe9FIQOUlqT/T9LTYnvOWNTEoWn9nVwgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530160},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"7d3682666fa4efd426d54085481fb20cc4d653b9","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.9.2_1784878523691_0.44304246921132595","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@farmslot/recipe-harness","version":"0.9.3","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.9.3","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"9a4572684e59b527e7768826ae80aff6269c67a8","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.9.3.tgz","fileCount":153,"integrity":"sha512-p5hxjjmpeJ3Atn+YzRLU4hBDKqQ5+lxiQFgoev1bD0s9LLVu2/9XsWHisTi4Xkp7iRQOjw8ddkIP4eQvT1bFRg==","signatures":[{"sig":"MEYCIQCeVnv/+bvwmwZTQuhTAIidLdfnk5HMmUS+D4lNPUfjagIhAKKQAUllV6JAmqzy78tdPDSEYAQHNOUrmZno4plnTZKA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532009},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"44463ef2ade3f4dbcf3acd1ece2bcbf23c6c9694","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.9.3_1784880333700_0.9850879083610458","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@farmslot/recipe-harness","version":"0.9.4","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.9.4","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"444c9f115f7540a8c60b47858ad83257d7277307","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.9.4.tgz","fileCount":153,"integrity":"sha512-3iF1D7WLg62hzwbVMyveDxGyYIhz8xuLfBDPaa0iectmOhAuYXhrRkU5L812YyjtXt7AUhnaNME19QQWwJAFBQ==","signatures":[{"sig":"MEUCIF0yWACMhS72ljuXuVI5JCHT+UWbIEcjp9JltDmjCPXpAiEAtZQ49528+94e8XBnK7q7TBESACJGJCwBOliS6fy5UuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533807},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"d0a96a25e7aab12be0ce84e504f43cfa242386f2","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.9.4_1784881207551_0.9657560868594643","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@farmslot/recipe-harness","version":"0.10.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.10.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"7001b0c220505645ead2b81bba8e5f5c7e618f04","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.10.0.tgz","fileCount":157,"integrity":"sha512-qt2I6Tq8RjnpbqgErTcU5Co7kYHQnepUJ5X4fgN/hpv9ANJi58fjRfpqk8OHtkiPCEqgcrwRPeP0mkUqs34dJQ==","signatures":[{"sig":"MEYCIQDQZaRfSMSjbGQUXM9WGpeTwK9NeciT3mopiQxPMD7qbAIhAJncPcQtxtM47+sq447ysk/A4Z3wiBQjSdE1jq4ZG952","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534984},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"5f4d4a13a0a56b02a6d050d81b9f40111c98f9d4","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.10.0_1784921032605_0.24152233202651763","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@farmslot/recipe-harness","version":"0.10.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.10.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"17980ee31b0a0a10e8e846fd3285f25cf2c59eb5","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.10.1.tgz","fileCount":157,"integrity":"sha512-HDzrTxZ3f46W4Lu7RAT+xwEophHUQ3PSznyMArPR+n2xAxuareDL4/0HU2VxcLcjZ60to6drNUHBXNn9wIA8pQ==","signatures":[{"sig":"MEQCIElw6gnpSMEMKASGEIWyevg4EAfcvs4jXO2wU1IiiVohAiBVx/fzt8emUBff2dzzM20PYF8Z+LFg1WYCkqU1NQEqdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":537642},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"e14bd6323f6f6bebe9926cd3be057edf65438723","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","commander":"^12.0.0","@farmslot/protocol":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.10.1_1785393852974_0.8505497686770127","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@farmslot/recipe-harness","version":"0.10.2","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.10.2","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"bin/farmslot-recipe.mjs"},"dist":{"shasum":"9c0135835a60694dd0b5d221b1f0fa9492dbccb7","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.10.2.tgz","fileCount":156,"integrity":"sha512-K/BhpL7xewsQgu+g2mpncU4saIjr3Or57s+a5s32wcN12cNwZ1g9wuUuohHjVXSw/OH7K27EEeiUnhXsnjL9fw==","signatures":[{"sig":"MEUCIDXkDmzJcJSfOslvpOTeKhCSsW2aDmf/c1FKQM7NYMH4AiEArXybXpWAgDRChQmDVYX5bXJcr2EuZdt8OnNnVn/VSJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"_npmVersion":"11.17.0","description":"Generic Recipe Protocol v1 runner. It executes parameterized recipe graphs through registered actions and writes portable evidence.","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.10.2_1785407515319_0.9614750442854643","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@farmslot/recipe-harness","version":"0.10.3","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.10.3","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"bin/farmslot-recipe.mjs"},"dist":{"shasum":"b8e485af6c2dce5c9ceaa5a9ef1e7e54682ae3e2","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.10.3.tgz","fileCount":157,"integrity":"sha512-gsvrw9inW4f/AMgka9h7GO4/cE2H0eo/8C545Y4/xphqeoAIkwkydJPnREiE8VVfl62Wv7+ScstBbqrcp99n+Q==","signatures":[{"sig":"MEQCIQCKgRkba8b+jI5Zi5DsQERlwckJuhq9LkzkA3KikV1qXgIfc52w/I+CDLpDDbWpv/LZRfXbqNBy7BBak1YVvVq/LA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":539173},"main":"dist/index.js","type":"module","_from":"file:/tmp/farmslot-recipe-harness-0.10.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"_resolved":"/tmp/farmslot-recipe-harness-0.10.3.tgz","_integrity":"sha512-gsvrw9inW4f/AMgka9h7GO4/cE2H0eo/8C545Y4/xphqeoAIkwkydJPnREiE8VVfl62Wv7+ScstBbqrcp99n+Q==","repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"_npmVersion":"11.17.0","description":"Generic Recipe Protocol v1 runner. It executes parameterized recipe graphs through registered actions and writes portable evidence.","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.10.3_1785407857556_0.30640772361037083","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@farmslot/recipe-harness","version":"0.10.4","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.10.4","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"4f489322fca0c2e9f3e1edcf7fd5d3ec102f9354","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.10.4.tgz","fileCount":157,"integrity":"sha512-hZ+z/hFQs65lTPGbiFryaqyejEugUhliiAoWb08uMWEvT/G5Xr8mpxyTrvmdNYKtHxDFCVNneuvy3XEYiHq3LA==","signatures":[{"sig":"MEYCIQD+yAUlBfynLpF//yT5p/6aSBO6uWBh3mVv1DmE0wuzQgIhAJ20Oe2G2V7v9rk3gw85PIsUl3wU15sPBJjizyyin+sq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543124},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"c593ae042098e01efcf4346f1c8ce3fabf531a0f","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.10.4_1785434499825_0.2019024577503059","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"@farmslot/recipe-harness","version":"0.10.5","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.10.5","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"5c974ada5ac118b29ebdaa5dfb47c368ad7d4721","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.10.5.tgz","fileCount":157,"integrity":"sha512-oRK2xXDuda337nRQvcDVNXSoqCeXdC2lbnPvDxPAS9FWzLFTwW+gJBol/XyjKcQgEhZ+mMvUJIzbtxv8C8xUMg==","signatures":[{"sig":"MEYCIQCLw5pScp24klFq6advdz1I9N+iK/uh46sfCtk+XFaVXQIhAONHY9kq1YJM1LyJswkx9SlA9pIXaa/32uFbLKZwPkLa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":550749},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"2b31813acb60d289e471be11bba5b3a889703216","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.10.5_1785471109527_0.6775865033166046","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"@farmslot/recipe-harness","version":"0.10.6","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.10.6","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"329f9d685f9f9f22a0dde07ad580cd7c500e26c5","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.10.6.tgz","fileCount":157,"integrity":"sha512-SmbYrD9dhoUoYC5ZvClxGaXUisbjc94I/anhyU4nvwBI9EVOAoiwZeH5Avw1yiUiG/LaDRrBLuLI3HBLufkfOA==","signatures":[{"sig":"MEUCIELwRmZS0IAHGLuy4ldDb+uq6l1EhA6wCENkiaZcHB9UAiEA2B1J2/VYV4vwVhvTHqYWqrXFFDCc6MWYKOzOKsknAjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":550946},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"aa2eb670a62fb499b6ef36698e3713135b0dc08b","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.10.6_1785501104740_0.9607770239382234","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@farmslot/recipe-harness","version":"0.11.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.11.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"1558fe9a6603b4512c4b5cd3a02536adb2896e00","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.11.0.tgz","fileCount":165,"integrity":"sha512-bbWUMb97Q6T3L3XKJVaaTOmhRLJ+FZzYD2MxQoEnmrtDH++hqDACZRS8stF7F5mchfXF+a1PQuzJJK/UtpasBQ==","signatures":[{"sig":"MEQCIGGxqTgQFhPad/HnRY6nRb2XLm8fs+9/3QzRu2tTgl7YAiA6eyoB+XtnKphBX8MpjFaXUmCD5T/sFLENlh6Xmr0j9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":569987},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"2f7afa4127f8ebe472ffa4fdd424faadf83eba94","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.11.0_1785554601953_0.9777738218670793","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@farmslot/recipe-harness","version":"0.11.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.11.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"ddc9af5378f757a07dfb6b4e9aadf2dfe827881f","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.11.1.tgz","fileCount":165,"integrity":"sha512-yeVlgFIoRT+eMOsNkQTS+Nc5aCngu9cAWKSN70Hl1cfo41cb8OD4qy8o/06r8Phsr5SzP5Obg5BKvWjak9u+Sg==","signatures":[{"sig":"MEQCIDfMoJruwcVbPtzML7+ak3Ed5lg1vBPNxmLH3I0EJkXZAiAlQTbon0FnmpU/9RHoxDPkwFuCCFdj/GptYhod3ugivg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570165},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"668fd32c4eaa4a57a5b3d1596b5c638ad5312c96","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.11.1_1785579377425_0.6428314216686319","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@farmslot/recipe-harness","version":"0.12.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.12.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"9bcbf81ed126a8e41f8542471d41fec370afa9d5","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.12.0.tgz","fileCount":169,"integrity":"sha512-TXDU5FDnQoLhvMRxAswCq5Ez7w+4VehSKUqh/irP7A9QvoqUEW1SKAUZY7ryowoc8uz3T8INvYcJVwZStc0MCg==","signatures":[{"sig":"MEQCIBFtZYRqPvSqIduKkNeDLfobmALXUGE/W/eQUlDmBA4sAiAuPV0ibNlwJOvbe8IrZMcVwepyThpmTDANyrDUkClAxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587670},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"aff50b79d342a884756a26d740a7a99ca55b8ab4","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.12.0_1785643944250_0.525240349113542","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@farmslot/recipe-harness","version":"0.12.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.12.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"d4da2995db89e3617bc6f55b5944de34932ff416","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.12.1.tgz","fileCount":169,"integrity":"sha512-gkdyWRx932MC0oipSkVv5KAKVDHqNNCC3M6oQep2Y6IorDhdIZhUavWAw3giT26P9w/ZByfYo0fSfm1FP4mrWw==","signatures":[{"sig":"MEUCIDVPyFVrJCda/9fzTVysA7n9M/OCw2X//9ycKYLVnqYeAiEAkwlpPpsynkFReMeriFvCc1JMSXim7QY0Zrw14Azdo0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":590157},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"b155e85db84dc79fb69261d8fd2b06f4b3cc5df3","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.12.1_1785661994291_0.031976072455989435","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@farmslot/recipe-harness","version":"0.13.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.13.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs"},"dist":{"shasum":"66e6205a8223e259ce927d10da2efb7aa7876441","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.13.0.tgz","fileCount":173,"integrity":"sha512-ST9pJYxxJJhwS6aUe6S5eiWCPxL4qQ0LZJ0VJFOZJKAYdf645OxUJJ5HzdC4hY4qxfBFiFeNSLdGEqIg0Le5+Q==","signatures":[{"sig":"MEUCICC77KIoORGhxmq1N6kmBXqtkAss3L8FdGuNm7+Z+FKMAiEA19YBpYYwsCtqnJ9aZi9EAEmMFPN2J9PQ8OTCAfXhu2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":595256},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"8d36821c632db74d814e181da5ec981b7a486b74","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.13.0_1785671299553_0.5380515859342483","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@farmslot/recipe-harness","version":"0.14.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.14.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"db4efa318f8ebb0d220708e2d143d10e567a1772","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.14.0.tgz","fileCount":179,"integrity":"sha512-g6+2nTjQnCY7d723An6SPcYD+mJTACvHlSK/lb0mSfd+/P2w0TJveWi9W6Adqq3/h401utk4EtIz6LcU6rk5MA==","signatures":[{"sig":"MEUCIQCN+wNbzgkPU3GppFZnek46LUbe6Srk8wqweDyZ6qQ8NAIgB2LyM5IZi2F7qCBby68+t5LTQsd6ZEvDQVjOOkPnn8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658295},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"d0ca900cf09d82417f499912080a5beeab5fb11a","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.14.0_1785763239811_0.8106227976740183","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@farmslot/recipe-harness","version":"0.15.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.15.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"b6f2b064e5c8a8d890282b4bd9b335274b2c02cf","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.15.0.tgz","fileCount":179,"integrity":"sha512-of7uaqDWtVCDHu+lzzo+8fsq6n2OTwNWVD9RRTJ0NK5rsaimesK2+7q+RbethbprCR8q3Drm8okHFqtBVldtsQ==","signatures":[{"sig":"MEUCIArjuD+8AAiz8FoFYnjdwfQcGtnWCAJGy/UuM1rdoIr3AiEAxYUu76aRfyIzGhATGn266PP6UdB8EGsPmOeypoy+v98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658453},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"2c8532df3a730abe2c0e611e3b6bed453bee73bf","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.15.0_1786679519271_0.2802023710961137","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@farmslot/recipe-harness","version":"0.15.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.15.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"f4d2bc5df9ff2befcc501633a09aa9bbcba1f3e8","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.15.1.tgz","fileCount":179,"integrity":"sha512-uushkt0mE/G0xGVLiGYECfQUjqcfwwsf0Wn46KUFYokPWAjC6OFee5eT3Av57JfY4XVyH5aa4N0od5ntxUuVwA==","signatures":[{"sig":"MEQCIEo4zPVl0IkyN3jsK6VcbNVqjdWFuSgF2P+l23hRqIDSAiAuTk8DRTj1kdmWbkDsjP3a7L17UCOV+QXMjatCgV3TRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDd5Huzvdve2SmStJ1P9v4/i9KzW9gEfQgpmEI1JF1atwIgYb/h7ekw0iA3MQqjuDPddwuxWKMLo9g8VAPVMH/m+p4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":660379},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"3ff2b4ff6c7419dbd6eeca4f22f1b51ddfbcf4d0","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.15.1_1787883057724_0.33725209533650924","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@farmslot/recipe-harness","version":"0.16.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.16.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"bd0ca475c2328277023f37fd3899efe24e7d4875","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.16.0.tgz","fileCount":179,"integrity":"sha512-VuHMa2h+cn2k+5EAATwAwXnwMlkH9FBFsla+7rIug9M+hapxC4EyrT7mzhcey9aiGjsUznjS/A3omYF++fzceA==","signatures":[{"sig":"MEUCIBijz95AVxwuEfKfq2vo0cOcfPpjHgBMcwKdAjD2lwdQAiEA7TlB+WT+KLMBVzpf1nX/g3VbTCd0DHrOoqXFnJPuWJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF/WFA6zq825B/oChcxl0f0Me+u+1i21ni7pQIsDenMkAiEAs0rdiN3IKePzo0BmqvCoqtzqgWj8TeXno2Qy5IpbEDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665803},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.16.0_1788745896963_0.526644679950595","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@farmslot/recipe-harness","version":"0.16.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.16.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"bin/farmslot-recipe.mjs","farmslot-visual-review":"bin/farmslot-visual-review.mjs"},"dist":{"shasum":"88ac42e3a8e605c36931438d13892383e6e50055","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.16.1.tgz","fileCount":179,"integrity":"sha512-P6O3B+TGQ6/uiqM+tJokNUNiWsf4dckEW1ewd7qVZsLhvOeODQhUn/LgRts+U1BnMdvGvGdxIFw7GpdRRxaOmw==","signatures":[{"sig":"MEUCIQDhKA47+/hULnQpWMJQxrLe1eiDEFCjHFsnjms4+NxdjwIgQ2iJwKiapR3Aln9RP2yed58zjzUAOL0ag/LODOBsDdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFNrdLvMPHnbzIdEApsHZs21RrMGrau9cGpWh2PVnPChAiAMl5GLO2LtySrwDdRTEhZDAybCx2LZM/4BjnAnrsuvew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":666053},"main":"dist/index.js","type":"module","_from":"file:/tmp/recipe-harness-publish.rwPzAb/farmslot-recipe-harness-0.16.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"_resolved":"/tmp/recipe-harness-publish.rwPzAb/farmslot-recipe-harness-0.16.1.tgz","_integrity":"sha512-P6O3B+TGQ6/uiqM+tJokNUNiWsf4dckEW1ewd7qVZsLhvOeODQhUn/LgRts+U1BnMdvGvGdxIFw7GpdRRxaOmw==","repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"_npmVersion":"11.17.0","description":"Generic Recipe Protocol v1 runner. It executes parameterized recipe graphs through registered actions and writes portable evidence.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.16.1_1788940802376_0.24180908707063087","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"@farmslot/recipe-harness","version":"0.16.2","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.16.2","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"62f879cb08bbc205f3349871617f6fbbcd4c7093","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.16.2.tgz","fileCount":179,"integrity":"sha512-X77W6KiaMQJoW05d3+onveqyMh8RAN1n+bpl6xmNgAs6n4oSY71X/VFEPt0/P0qcYaSaBx/7e0UD2ObGvWzBeg==","signatures":[{"sig":"MEYCIQDasjXsZrpYGF3IY4CSmqDM9GSTNog+rfl5Tfa7Aa4qsgIhAJX5iRW4Bo3u075u1ezpiSmVTQ2lgj4IEJGEjf92yw3Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCX9JKyccY8p22IcBHa00tMu7JpL4SGJkDs4iz3tS2dVwIhAMRBRmu75r3GgRCE3SG8shUre0BimPdr7mgvMA1c6OGV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":666590},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"b87d89e9d136c9507fb7fc2f855b1e667a4078e8","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.16.2_1789305681664_0.1790941321370536","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"@farmslot/recipe-harness","version":"0.16.3","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.16.3","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"c3cbd345483ac1a90c6c1ccdbadd3c58495e857d","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.16.3.tgz","fileCount":179,"integrity":"sha512-ibgsJ/os+X8W8Xdji7G2k+oFzissHsFWzZdP7/LR3XjVy+mcTePd0hylqYkdcpftWoOXdWEFDPceq0SrZwX7hA==","signatures":[{"sig":"MEQCIAarhapHVwX/Y4MAsxbSIdhXKdHNjXkcry00BuOb5HoEAiBzGLui0VM5iaoMLLZLCAUYLmgR7VRZuuc52B3v9N/Flw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC6c0uLceDWoRbImqX4bNy8rX5lL3cXwczSWorbCK0xfQIhAIRyPuBj0RrVwe2IyPmTh07HSO7T5Fzfor7790s9yimP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":666750},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"ec8b1004749b5697c0c4cbfa71a378f8f3f1f6b7","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.28.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.16.3_1789646635643_0.930014383503666","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@farmslot/recipe-harness","version":"0.17.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.17.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"824ca6cc816df5f3b530706e21ed55e8c071bad7","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.17.0.tgz","fileCount":179,"integrity":"sha512-k2e3f5h2NQZMO7SM5dE68faX7ePN1dUTAVgljsaTTvWf3qv2Eb4Pz1KTXjEPoo2mqrFUAuMi3MZEUUvofzmTDw==","signatures":[{"sig":"MEUCIDSm3/o34YW7mWZNBsp77zuomzX01lSM+yuhFOsFwmPMAiEAvP/mnfbNdmHGa+dQ2XprmGRtFNUP/vSREFES2BHn0OM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDweUpeGex5YqWwRJlr16rXnOxGkHGmIKYb5spEKMyIQQIgM8pGIBZKfFz5UpGDCcaiui0eAwubNoNvJwUsEEqVBds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":666874},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"52a0b8b2add0112051454eec8cd6652250ba23d3","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.17.0_1789723946879_0.605978315358431","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@farmslot/recipe-harness","version":"0.18.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.18.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"95c049012b32316293799b57065cccbf1af91e93","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.18.0.tgz","fileCount":179,"integrity":"sha512-XWD/gXx1zMeYij1L9GAxa/uy7GzLNPkJ6V6q13ytFDOSjTmpMZ3ynob3ac64b02uu+V4QOW11O6hGXy+KYl5xQ==","signatures":[{"sig":"MEUCIQDDwwqE3E+3N8UAoczLz8OGw0wv6kMUXhRrg2YfCbDrnQIgUILvUIE8z1VLbSIXwMJgIg313/yxskfd2qP99algol0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDhMyFcR9kNIDvoPDsRm1DOJxYWz8dPy7pGfS3vDdN65AiB+S7btdw5DLae8gr0zmZNrjIZsUsttn69/xughWW0K1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":667066},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"1ad4acb8fba36b4e5f45196f3ed18e81a5ec54c4","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.18.0_1789863109835_0.5044005195668737","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@farmslot/recipe-harness","version":"0.18.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.18.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"73ce29ed567732b71f0922383c67ea181d18b51d","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.18.1.tgz","fileCount":183,"integrity":"sha512-JzTza60csDvzZBGap1c/IIa2I6kTIOscZEX7tHimYHwDevI04HonLVmBGK9x6FGe6TpN1Z/lhBdpQbwrPImCAQ==","signatures":[{"sig":"MEYCIQCva6XrS2wwhOPYrZQSNoXisCJkKTO15psIZnwnOjbGygIhAJVLB3TzCao7T/R2ILuRk9L9OYtwwyboAsTvrxoHgP0X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFuXwiRIuNLsdd06F6piVRh5NY+ItU8KFn/AjxZTav5KAiEAzVYcgOYv9q4eKtuW6X14Ems5QchyGtTCEs9Tz0a2ljU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":681483},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"b38246a0597dce5eda256426fbe1ee45f18e3811","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.18.1_1789963036516_0.2911853093935517","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@farmslot/recipe-harness","version":"0.19.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.19.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"e7a60d284d96b70963cd638d8e60669aa33b5ce5","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.19.0.tgz","fileCount":189,"integrity":"sha512-vBfNb8gGRCmxlkq3GRXJ5jP+QIMxPKc4A8a0f2wRjOAnH5D98GWssFBPQPwupz3g0ECqHEJNpRDimG3zwxCaYw==","signatures":[{"sig":"MEQCIBJNYqCIx/kqgD+y8jeJCvU1eLh97lTwVWVkjJz526AmAiBq8p5HFA/z3iz7idCBHJdzYANzkfIoRkcX6NZ7XX2xaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDzd7bsjbhUi7utWvmdaouchMqfApL3sgDb20mv5ilkXQIhAO3GGauPW98lKwlHMe9CL1Q+4js+T0yuLZMnmGb9leG9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750639},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"48f0cb5bb254023466a535e8121c12ef216e131b","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.31.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.19.0_1790507745645_0.4109993638598264","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@farmslot/recipe-harness","version":"0.20.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.20.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"e752d411101fc8ad6b1ce0c1350da22b53c2b90a","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.20.0.tgz","fileCount":205,"integrity":"sha512-qR6pkFBuYPCEMHmix3tJUJuLEwOQRJNV4kCJeGU9hcH5/MHxNd+kK+PUb48aDPgeEBb6HUA/DSnK7TfpjHxyGA==","signatures":[{"sig":"MEYCIQCdn0w2BwgZ/DHeoKW3YXA2AGvqZkuNIcjhHf6wRTdLkwIhAL7HezlKvgGht9BYq9LbcSjYEKdUzxAWls9+5wdef9Vz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCgdqmagDgwbcrGE6Z75y4m+nhvptOts17819ZEBF9GfQIgBZycjX+MfgA8uccU7/B5i1256CPjsEg4wclD1Q5j4do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":813097},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"e49a865d515dfd8cd45bbb6c2548bf6366a7ec60","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.20.0_1790576751939_0.1625132893833685","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@farmslot/recipe-harness","version":"0.21.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.21.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"1b33e2e8bf0e65de3943d96e9c5844076efa8c91","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.21.0.tgz","fileCount":209,"integrity":"sha512-wbgyN1pqhWR7gH51fjfiv1oEQZrhKDGfmoQOYGQfpjjAgMjxVUDqKFJmesSa0q+x02P8esxVkUAiG2y58RWezA==","signatures":[{"sig":"MEQCIBtwAqZGiKBgng2CB3j/+SgPsDEg0IacOwh7hGB2fsJuAiB2Kp2A+4gq9T7xV7C4sfJIsvYjm83GQcy6Dd1FumlAvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICS2b/m0B3zoN6VokcGdRJhWR7tfV7NdkUgXuTa9zULmAiB9SdR/kVVY2WfxGxyDz19J3rzw9tTNZrUFB0YNIvOoKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":827866},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/operation":{"types":"./dist/runtime/operation.d.ts","import":"./dist/runtime/operation.js","default":"./dist/runtime/operation.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"c6867703ad4b48f593e78240406500eb8555b26e","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.21.0_1790659798547_0.21542368120033673","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"@farmslot/recipe-harness","version":"0.21.1","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.21.1","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-recipe":"./bin/farmslot-recipe.mjs","farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"e5987612b835d3d0ec8db8bebeb041403f137def","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.21.1.tgz","fileCount":209,"integrity":"sha512-KnfLyHEEFJYj2JXh6dGkV101RIqBXy1h2/fKEppeh2navAxStgW6B2NUexMF4B6JziKAGhyTacS+RXwzSGmBSA==","signatures":[{"sig":"MEQCIFfxPkVcdm4sljbOjld978vsiF9PVCKASqffdtMdAUWsAiA3BIlIMDjZkZUmUIZSZgPf9iL0gJuUZimf1otg+Ux66g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFMrRK8DZwTVHf0S9ZK9APo+OdopvD6RVaRpFeVOVCaAAiAwYEBByBeAn2EHabsvVeqv9wRFQS7BMna7y1DbTgszAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":829261},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/operation":{"types":"./dist/runtime/operation.d.ts","import":"./dist/runtime/operation.js","default":"./dist/runtime/operation.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"028fa9966dced524f6c0414f106b380772d64dfe","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.21.1_1790663798443_0.7629785133552303","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@farmslot/recipe-harness","version":"0.22.0","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"license":"MIT","_id":"@farmslot/recipe-harness@0.22.0","maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"homepage":"https://farmslot.io/docs/architecture/recipe-harness","bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"bin":{"farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"dist":{"shasum":"7594a4ba015ce7ba426a9ab33dbc3937ca0e2e86","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.22.0.tgz","fileCount":212,"integrity":"sha512-Wj/p+zSuzKs2lt11NsR52HFmQixP5M0tmZvba6U+8q/S20GoOzjRlE+f7Nf0Fbi+2sw0675L1STwpAZdA1Bc2Q==","signatures":[{"sig":"MEUCIEhsI03l3+kn7LCxvN8HzuVdS9awFE/tqF6QTOZv73/vAiEAvjFW7nbENzpKr6pzNUkZDMz4MnispotpSaesy4ZH6Z4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDad0SLneTAO85UyNiA4Y8VzqlZDxS++U1IHbvirRn2+gIhAPwCSQ1KCimPeEBG3HetxmfEF9LkxXB/XrptnucuTX7u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":886252},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/operation":{"types":"./dist/runtime/operation.d.ts","import":"./dist/runtime/operation.js","default":"./dist/runtime/operation.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"e542d5c0f94278d1ef101fd3dea883838b8579ce","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/recipe-harness_0.22.0_1790991022395_0.07881262449435011","host":"s3://npm-registry-packages-npm-production"}},"0.22.1":{"_id":"@farmslot/recipe-harness@0.22.1","bin":{"farmslot-visual-review":"./bin/farmslot-visual-review.mjs"},"bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"dist":{"shasum":"00d91b654ddf701d686d3231f5f52cd7d920e06b","tarball":"https://registry.npmjs.org/@farmslot/recipe-harness/-/recipe-harness-0.22.1.tgz","fileCount":212,"integrity":"sha512-57AuWX+GiT4V5AkURBzcefrjtfxg7FNKVWMBavQt4jDlwcX3c6PP9mBneuWFy5LcDCc15wA9HEMOnUJbFewpFA==","signatures":[{"sig":"MEUCIGtH74pI5rpHKOICZQV6IpPufV+Am2q5fEhIUxcEwTG5AiEAsPMXnAhxVPyvLyKd3abs2RJl5O62VUoYHpHBDymgJZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHlFnohE2d9R7zpmUPVuNI924QGuoEnrZSFvEwYHGwMBAiBmNmLaB5TUw8QVs7TuhMqwQwDmz5QugwfeOQ54eBNdCQ=="}],"unpackedSize":886681},"main":"dist/index.js","name":"@farmslot/recipe-harness","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","default":"./dist/cli/index.js"},"./types":{"types":"./dist/core/types.d.ts","import":"./dist/core/types.js","default":"./dist/core/types.js"},"./runner":{"types":"./dist/core/runner.d.ts","import":"./dist/core/runner.js","default":"./dist/core/runner.js"},"./writers":{"types":"./dist/node/writers.d.ts","import":"./dist/node/writers.js","default":"./dist/node/writers.js"},"./adapters/ui":{"types":"./dist/adapters/ui.d.ts","import":"./dist/adapters/ui.js","default":"./dist/adapters/ui.js"},"./cli/support":{"types":"./dist/cli/support.d.ts","import":"./dist/cli/support.js","default":"./dist/cli/support.js"},"./runtime/cdp":{"types":"./dist/runtime/cdp.d.ts","import":"./dist/runtime/cdp.js","default":"./dist/runtime/cdp.js"},"./adapters/core":{"types":"./dist/adapters/core.d.ts","import":"./dist/adapters/core.js","default":"./dist/adapters/core.js"},"./visual-review":{"types":"./visual-review/index.d.mts","import":"./visual-review/index.mjs","default":"./visual-review/index.mjs"},"./runtime/operation":{"types":"./dist/runtime/operation.d.ts","import":"./dist/runtime/operation.js","default":"./dist/runtime/operation.js"},"./runtime/metro-probe":{"types":"./dist/runtime/metro-probe.d.ts","import":"./dist/runtime/metro-probe.js","default":"./dist/runtime/metro-probe.js"},"./runtime/log-analysis":{"types":"./dist/runtime/log-analysis.d.ts","import":"./dist/runtime/log-analysis.js","default":"./dist/runtime/log-analysis.js"},"./adapters/app-lifecycle":{"types":"./dist/adapters/app-lifecycle.d.ts","import":"./dist/adapters/app-lifecycle.js","default":"./dist/adapters/app-lifecycle.js"},"./runtime/decision-types":{"types":"./dist/runtime/decision-types.d.ts","import":"./dist/runtime/decision-types.js","default":"./dist/runtime/decision-types.js"},"./runtime/deps-readiness":{"types":"./dist/runtime/deps-readiness.d.ts","import":"./dist/runtime/deps-readiness.js","default":"./dist/runtime/deps-readiness.js"},"./runtime/orchestrate-up":{"types":"./dist/runtime/orchestrate-up.d.ts","import":"./dist/runtime/orchestrate-up.js","default":"./dist/runtime/orchestrate-up.js"},"./runtime/browser-extension":{"types":"./dist/runtime/browser-extension.d.ts","import":"./dist/runtime/browser-extension.js","default":"./dist/runtime/browser-extension.js"},"./runtime/react-native-bridge":{"types":"./dist/runtime/react-native-bridge.d.ts","import":"./dist/runtime/react-native-bridge.js","default":"./dist/runtime/react-native-bridge.js"}},"gitHead":"0d0d834dddbf065a9d4b816d89162c85f7210822","license":"MIT","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"node ../../scripts/quality/run-tsx-tests.mjs --cwd . --tsconfig tsconfig.json test src/core/observations.test.ts && node --test test/visual-review-tool.test.mjs","build":"yarn workspace @farmslot/protocol build && rm -rf dist && tsc --project tsconfig.build.json","format":"prettier --write --ignore-path ../../.prettierignore .","prepack":"cd ../.. && node scripts/quality/check-farmslot-package-readiness.mjs --require-changelog --packages @farmslot/recipe-harness && yarn workspace @farmslot/recipe-harness build","quality":"prettier --check --ignore-path ../../.prettierignore . && eslint \"src/**/*.ts\" \"test/**/*.ts\" && tsc --noEmit --project tsconfig.json && yarn build && yarn test","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","typecheck":"tsc --noEmit --project tsconfig.json","format:check":"prettier --check --ignore-path ../../.prettierignore .","prepublishOnly":"node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-harness"},"version":"0.22.1","_npmUser":{"name":"abreton","email":"abreton@siteed.net"},"homepage":"https://farmslot.io/docs/architecture/recipe-harness","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"directories":{},"maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"dependencies":{"ws":"^8.18.0","semver":"^7.7.3","commander":"^12.0.0","@farmslot/protocol":"0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","eslint":"^10.3.0","prettier":"^3.8.3","@types/ws":"^8.5.12","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/recipe-harness_0.22.1_1791012277583_0.01488234531702548"}}},"time":{"created":"2026-06-01T16:27:43.422Z","modified":"2026-10-03T07:24:37.864Z","0.1.0":"2026-06-01T16:27:43.856Z","0.2.0":"2026-06-02T02:10:12.917Z","0.2.1":"2026-06-10T05:25:16.167Z","0.2.2":"2026-06-10T05:34:01.185Z","0.3.0":"2026-06-26T14:01:29.563Z","0.3.1":"2026-06-26T14:49:22.663Z","0.3.2":"2026-06-30T16:25:16.051Z","0.3.3":"2026-07-03T05:40:58.387Z","0.4.0":"2026-07-07T18:08:56.755Z","0.4.1":"2026-07-08T16:39:32.726Z","0.4.2":"2026-07-09T11:05:34.305Z","0.4.3":"2026-07-09T12:08:51.270Z","0.5.0":"2026-07-12T12:13:31.045Z","0.6.0":"2026-07-13T20:55:10.089Z","0.7.0":"2026-07-19T06:01:06.335Z","0.8.0":"2026-07-20T02:29:44.758Z","0.9.0":"2026-07-22T19:23:28.224Z","0.9.1":"2026-07-23T10:52:14.892Z","0.9.2":"2026-07-24T07:35:23.848Z","0.9.3":"2026-07-24T08:05:33.841Z","0.9.4":"2026-07-24T08:20:07.716Z","0.10.0":"2026-07-24T19:23:52.779Z","0.10.1":"2026-07-30T06:44:13.131Z","0.10.2":"2026-07-30T10:31:55.456Z","0.10.3":"2026-07-30T10:37:37.687Z","0.10.4":"2026-07-30T18:01:40.019Z","0.10.5":"2026-07-31T04:11:49.706Z","0.10.6":"2026-07-31T12:31:44.951Z","0.11.0":"2026-08-01T03:23:22.130Z","0.11.1":"2026-08-01T10:16:17.599Z","0.12.0":"2026-08-02T04:12:24.469Z","0.12.1":"2026-08-02T09:13:14.465Z","0.13.0":"2026-08-02T11:48:19.734Z","0.14.0":"2026-08-03T13:20:39.968Z","0.15.0":"2026-08-14T03:51:59.425Z","0.15.1":"2026-08-28T02:10:57.819Z","0.16.0":"2026-09-07T01:51:37.042Z","0.16.1":"2026-09-09T08:00:02.517Z","0.16.2":"2026-09-13T13:21:21.764Z","0.16.3":"2026-09-17T12:03:55.763Z","0.17.0":"2026-09-18T09:32:26.978Z","0.18.0":"2026-09-20T00:11:49.926Z","0.18.1":"2026-09-21T03:57:16.604Z","0.19.0":"2026-09-27T11:15:45.753Z","0.20.0":"2026-09-28T06:25:52.072Z","0.21.0":"2026-09-29T05:29:58.677Z","0.21.1":"2026-09-29T06:36:38.540Z","0.22.0":"2026-10-03T01:30:22.492Z","0.22.1":"2026-10-03T07:24:37.692Z"},"bugs":{"url":"https://github.com/deeeed/farmslot/issues"},"license":"MIT","homepage":"https://farmslot.io/docs/architecture/recipe-harness","keywords":["farmslot","recipe-harness","recipe-runner","validation","agentic-engineering"],"repository":{"url":"git+https://github.com/deeeed/farmslot.git","type":"git","directory":"packages/recipe-harness"},"maintainers":[{"name":"abreton","email":"abreton@siteed.net"}],"readme":"","readmeFilename":""}