{"_id":"@senpi/trading-recipe","_rev":"52-5beccd6b55b3cb6b1799da66084bb480","name":"@senpi/trading-recipe","dist-tags":{"latest":"1.0.71"},"versions":{"1.0.21":{"name":"@senpi/trading-recipe","version":"1.0.21","_id":"@senpi/trading-recipe@1.0.21","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"f64e8b92a7419e544aa8e25cd56d70a6d00d3d7d","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.21.tgz","fileCount":553,"integrity":"sha512-/Jrs0pK0Dq11dlPjBVEiVlb4MGh8NPjrF63tbKwGc8nAdOd/I2Z1bWMKGhwapHV0oZq3eXRZ8F4mH5An84gkpA==","signatures":[{"sig":"MEUCIGZCmYSv1EZPAMD9vXo22W68PY82jKYTXiTytgASagGEAiEAmxcJMzEIOJcpCbwlwXF1qoTosDQFpOa/y5LFLwqMOVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2427713},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"575c9fc502ff17071d15997f0c4aa52a4bd61ed3","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.21_1773768702561_0.20592494871691125","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@senpi/trading-recipe","version":"1.0.22","_id":"@senpi/trading-recipe@1.0.22","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"f7c89639a24f751dabebeedf52caa63d73496418","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.22.tgz","fileCount":557,"integrity":"sha512-FoYU8uDYL8IaNX0/wRh6O73+oYVrm1eevRZ7U2Qe+w2QJ6C2bF6P8EEk9MDHZyEIwOJqJVguI1A5yYyKuOYVgw==","signatures":[{"sig":"MEUCIGvQJA4RtGpTi0VtLXq8gzdjapf2ZSEACmK/akmyDvbsAiEAtIWgtj1Q7TnDgQWwTe0H1XDoIAgzt11VBIeC2LmLZSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2446507},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"2dd791a5a21da977326abb9a16817b3e7073f7c4","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.22_1773773678036_0.3961851859822805","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@senpi/trading-recipe","version":"1.0.23","_id":"@senpi/trading-recipe@1.0.23","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"26e061ab7b1fa2a42a904acc0b7572c803a9b22e","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.23.tgz","fileCount":557,"integrity":"sha512-RsJGtgvu9xGAh8EhbjEVuLba8EwUQ9JrCwUU7oEeBhp2wETcgMSn/pgPwhL95lgiOjQ/RsaRrcyNlApm36TBsw==","signatures":[{"sig":"MEUCIQCnA5HIgH+foKrqd28ediJrRarONGsJDsf8PWFNdWX7WAIgdXOhWXD5hUVp6/kkPFIFFHINg9xN73P0wzoMJ4o9kmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2450246},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"5f8399981cf94c068581a83fce54dfd48e3362e5","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.23_1773776679175_0.514602851114158","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@senpi/trading-recipe","version":"1.0.24","_id":"@senpi/trading-recipe@1.0.24","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"14531e656135e815ed10dbe165b8c1f5b8c0c174","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.24.tgz","fileCount":557,"integrity":"sha512-rL+LfCMJrcPO36JwDvlPS33rXtoQyrJdC8Q/855BKylXe+CjgAADmGCQCxtLhAgsx/OTm108Uv+Q5lGKajDnxQ==","signatures":[{"sig":"MEUCIHxHvI9cH4FWYf7C24l4g3hu9EPlSBSBnu48Dt0A8PJ/AiEA4v8SBhPbRs1LhRSucn0prP8uFIU4UG4V8tEN8SPCoWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2450292},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"ac8a446b1c7ebc47ee42e0b1434bcff40eea6c92","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.24_1773780248773_0.5255543930165152","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@senpi/trading-recipe","version":"1.0.25","_id":"@senpi/trading-recipe@1.0.25","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"823feefc0cd1a3bcd1b89f990c02bc356a6bd9e9","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.25.tgz","fileCount":557,"integrity":"sha512-l+bIIAlictTklh9EXOzpGjSwDsdGF1aJb5TByd+xO+/3gz4fRDp+UF9xMC56KCGDs6FjwSxP5xtVGZNQofBJzA==","signatures":[{"sig":"MEUCIG0OoTK1ex1c0nLVFbSH3zOCaNCifOV6NlGK9ynW/egRAiEA5iqNsytn8RHWVRcEH+GqkNDx/zM7DHiF1cK1Aa/Tsng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2452776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"61008740633beaacd56478350da6d162eb76f805","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.25_1773780988904_0.06531000268994891","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@senpi/trading-recipe","version":"1.0.26","_id":"@senpi/trading-recipe@1.0.26","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"3b4af6176c78fea07cfe802fb3515b021075cbf4","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.26.tgz","fileCount":565,"integrity":"sha512-+SXtGrHc1iu4F7UlyOVb+sfFQVYi4QdVnEOW25gk3sprDaZsrbfSFgBo5Ha0p30Qxx9mMyJ4HlcqueTH5z24ug==","signatures":[{"sig":"MEUCIQDpoPZzTj8R8by5xOSOMoY7Gh7p8Q9K0FtwMmEIOf3RcgIgZSL4500cozWvtTUKlHn20Fy3PsDeIfo6ixnC3TnzrD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2475123},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"cc4cdbf4af428d872e5fd4d1c5eb9a2b4e8bd146","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.26_1773825732945_0.5012636204181464","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@senpi/trading-recipe","version":"1.0.27","_id":"@senpi/trading-recipe@1.0.27","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"4d03bfb78f351ad3887692bf3c91f5e6d2995821","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.27.tgz","fileCount":565,"integrity":"sha512-Fu7v43zyZzhTtWZ18msmf2SaaRS/Fmjd+ib6koYE3M3IiprLhWWTP665w91JmtJPkU5l8WWL0f/392/CQ1XFEA==","signatures":[{"sig":"MEYCIQCXiWh6P7nK20BK3IpYOHDCC/maMhR4M2neVn5j+wlG0AIhAKXIBo5B2G7rk19/8jsn4B+oflMUF6nT3ZlcprpkxbXs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2475285},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"e674f314fbb99520d6856027c5ea306149d3316a","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.27_1773851134627_0.8079872238356478","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@senpi/trading-recipe","version":"1.0.28","_id":"@senpi/trading-recipe@1.0.28","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"062015b0e83564d404ecade6366b8e7426813d0b","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.28.tgz","fileCount":569,"integrity":"sha512-ljXszzNHSHFZtdG4xKwsPT9D8+ecx+9xdT50ztrxroEHsmPHbqUkZf5O2jKS98MMO7pWynQd3KLzeZm65UwJyQ==","signatures":[{"sig":"MEUCIQC7MybIgig1XW9gp4hwZUgMZYiKrq4bDd4ocsDSR3re/AIgdYQ/v2aHF8Bq0v0U1D2tq9m13wnb4hzZEcKszTo2vew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2556094},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"35a96a63e8e069bd8bdc8cecb8579116ecdb9c23","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.28_1773927627255_0.70589053256197","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@senpi/trading-recipe","version":"1.0.29","_id":"@senpi/trading-recipe@1.0.29","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"41acb99ad27fa560caac87a18d57d25aa6db9f66","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.29.tgz","fileCount":641,"integrity":"sha512-JTbOxJsjyFijF4fL7U3EuTCfLLYTJyJkkTjvNDEMvPSBWmdbDi6rpwQlX7+GN9CtNh9JL7SexDKe5XuOM3lf1A==","signatures":[{"sig":"MEUCIC3X9JpT5jvUATN9ewC4v5kiwte8H9CwK1g76tWA/NETAiEAnLsI3aQfYMDyx6KULBPGkil+GjPWBPAo6j0rFO2rS9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2581180},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"f9f007e7db14967be4aa26e6b56d84fc1b3c8154","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.29_1773931114430_0.33617190395580265","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@senpi/trading-recipe","version":"1.0.30","_id":"@senpi/trading-recipe@1.0.30","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"ec4e5008b3dfde47b4c73e94d8702052b1f60f17","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.30.tgz","fileCount":645,"integrity":"sha512-Bb5vsT6axFDN1cM9Os4IhNBm32dRQvyruCEI/OxEw3BYtG2g/hVIVeTVjF4/xC/RxJZudf5s3pjjkA93iF30IA==","signatures":[{"sig":"MEYCIQCxlyahGz8aFQ9RFZ6XIrsJhxFXgXDx2mGifr1YGUPkOgIhALfh/X+vNC2ZhDc1hhhX1ArEjHdpd3AucD9JGxH7ozuI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2584402},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"5a5c117e14eb0df6b19762c0cad6f1aceb9f875c","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.30_1773932965871_0.3062144690602244","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@senpi/trading-recipe","version":"1.0.31","_id":"@senpi/trading-recipe@1.0.31","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"e2a3857a6497e7ee2e8420e72e12b2f40c11a722","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.31.tgz","fileCount":657,"integrity":"sha512-qXthUkxSxNqV4oucBs9SlROGGzh0djSGZgVxJDV8AC3kFWuR3vCe1w9KOOtgM30SPFoGagbrs56R7t1Rc10Btg==","signatures":[{"sig":"MEYCIQD4XIknxMQvKK4wk+nFGVNDZFgHaDPz1082m2qqsS2HnAIhAKRQ13l2Cbc4BL+20KvLRG0UeF+4I920YhhMVUcleLhN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2682158},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"06db4a0acdae012e41eb1338469fab0ebc98ad02","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.31_1773951242132_0.42076622210466597","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@senpi/trading-recipe","version":"1.0.32","_id":"@senpi/trading-recipe@1.0.32","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"ed494d0965ce6c997f3bc832ca5e6e171061dd6e","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.32.tgz","fileCount":657,"integrity":"sha512-OK/JHnM4LIfSkKg4yb0J189CigSVd7emS+k+tojHZwtYOzAED4sNW4RSjUetBwMaWXNQGCGuy65sXdeyvdp+Yg==","signatures":[{"sig":"MEQCIBil5jdRndgX0pT36CZ2YzZ0TkVUzez5yJoW++UfRttYAiAm+Y2bM4AzfyYGHohuA+Ksf8+YmiGaxJTPuA46z7gIYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2695683},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"4195c63e45601be65e032480ed048c20023fbb98","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.32_1774006938408_0.2143784523591541","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@senpi/trading-recipe","version":"1.0.33","_id":"@senpi/trading-recipe@1.0.33","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"ffe6a466eff45b226dc93270780c2c1397165e19","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.33.tgz","fileCount":657,"integrity":"sha512-3kaJlpZriUPcRJRQp0VJygxcblDMVFt3ziiYlmMf63xD4p0kgtxKoH5fG2TUmp/qEKTlntuLVXZOB0vjTXioYA==","signatures":[{"sig":"MEUCIQDgs9D1XssGwoqHR2YK07Qh1AJ5VeQ/kku9WjfCwOZrQQIgWcg83hNS7fe0sv6NAi120ZmtexiCygGeQHb/jbt4AZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2695682},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"75dc7876f1501ac90c5f9d680ab7bf34a2e00e0e","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.33_1774009987016_0.1316330072188312","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@senpi/trading-recipe","version":"1.0.34","_id":"@senpi/trading-recipe@1.0.34","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"073fe6fc6e58e64d9aad5526d16b0b028a52be9d","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.34.tgz","fileCount":661,"integrity":"sha512-4gsYm2glOoOkVsx7xVrJEPRfKe9jSwHKT1iBnR6WEq0kzylk4IrB9ktKCgLBTN5RVi+kh9bIob+nJvKygsGwZg==","signatures":[{"sig":"MEYCIQCGk/r6wKhvLMcE4trG2ZV/d0LKVwzaxoX1lN5biCDmEgIhAJ8mNz90vbMWLAMoktwKgU4PWDsdj8bZhMn3nuASIn6I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2701448},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"23c6bae3d26193cc05893ab59aad8b280d5244c4","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.34_1774014111370_0.028490906610426192","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@senpi/trading-recipe","version":"1.0.35","_id":"@senpi/trading-recipe@1.0.35","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"a9adf5c092651dc02518acbd03393d3203d87b67","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.35.tgz","fileCount":661,"integrity":"sha512-hTS8UjYGlowhBURwBUUOecR04N7uhloTYaBcoEo1QTfs5L+7mPBZicm082RaZ2U3IuuTuSegij56l5dUkFPSgg==","signatures":[{"sig":"MEUCIQDMqOs/SkQ7gVC/UxP+29rdl7m7ZV9Gyo/WItqQRgxZ1gIgBWIOokT2SzXud3KjAwXZfGD1kRzFPYhqim593b/kLY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2724370},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"39742dbb917d82c924349e495c45dfdbe7025a60","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.35_1774241046729_0.7636678155143555","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@senpi/trading-recipe","version":"1.0.36","_id":"@senpi/trading-recipe@1.0.36","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"2a37ff79dcb272310683b8f05449369dcb4537ab","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.36.tgz","fileCount":661,"integrity":"sha512-kTECc/R1DaOKLMlr5BHSPhpvbco+Ojv1uMy8qwDF3Rpk3w82geeQszWuxN5o2U+j5jyGBQPezVotsbI/cnK3zA==","signatures":[{"sig":"MEUCIQC1tgeWRbTw+a7iltkpb6OGLLIBXDF23xn2vEbpSscrGgIgEYvOLEeZXIek2f8malLaBKabUp45GECqBm3+XP1TyQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2724369},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"2fc2060e387e9ca6d7ac8c4a042fdda803d8922f","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.36_1774253630407_0.187398364308214","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"@senpi/trading-recipe","version":"1.0.37","_id":"@senpi/trading-recipe@1.0.37","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"1beafdd9afd5af1e710740c396ebec59820e57f0","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.37.tgz","fileCount":669,"integrity":"sha512-cR1cRRD0VRKNH0AK+NAqPn1pRtiJgP5z6y3HaC3oVmhkBLCn0ldBaiLSJf/hK68+KIWNymlmaXD0iTc8QsFqqg==","signatures":[{"sig":"MEUCIQDPmux+3oEADXnD5jx4bkVU1p8TsoMCHRvC+VSxC0xKJwIgE3GRpB2MuG/mkEDkgiyHuoMIDQjjnFS08O6AmZtCwas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2735528},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"c55947dfe97430e174504904ce7680e834ff4f34","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.37_1774258725209_0.0689463181224872","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"@senpi/trading-recipe","version":"1.0.38","_id":"@senpi/trading-recipe@1.0.38","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"c2c5f3da519cf59accc458b467e1438b3239f256","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.38.tgz","fileCount":670,"integrity":"sha512-YXh/cbcmhCbse5l90Y6dAIULxfDvPrFuuTP3DsRU1bEDbPDi9JOwRbvGlU4ROlfgrYw4WxVBrcOCrCH8vAxSsQ==","signatures":[{"sig":"MEUCIQCmkRHdQy/ha5lalkE4FkBXbD8YMqxXFymfG1qzm6eHtQIgNugEpRoS0AMnhRvDeHxxj00Gz9qjA+uCWSK04FtG5fM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2736969},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"0f35315163da65703f072e61218beb634e4c19c4","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.38_1774305404172_0.14335355106427783","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"@senpi/trading-recipe","version":"1.0.39","_id":"@senpi/trading-recipe@1.0.39","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"f5e7fd23912a7486cad8d53f3c885af616e44602","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.39.tgz","fileCount":678,"integrity":"sha512-4QaUBuUpiMJNiO2I7Uyznf9hX9xLRE/dowm7RktQN+vYuloh5LCql5mwH6x4g2VLAkNTp+h/XCwBYppahLPtWw==","signatures":[{"sig":"MEUCIEDP4AyvrKJ/EP3y8C86LQ3zBTtO2oaYn2fVo5QU+8qGAiEAkNAUvlc51pSIWA1IkzFJk7bRSI9HTbKLRA7k9ESi2JQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2784438},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"628edff9464183173fd236f5c248e23ec5fcc673","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.39_1774383751983_0.8563708589857473","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"@senpi/trading-recipe","version":"1.0.40","_id":"@senpi/trading-recipe@1.0.40","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"c41be72c521a6c2f08bd0660fa5abab85de6d50c","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.40.tgz","fileCount":678,"integrity":"sha512-nWyEb/31RfuPr1IfcHLjwu0HtR3L1DES1Li6JeKbefNukJuqvFBnxTjl60iAvJhZuA0950xkyXdC3HhU4cg4KQ==","signatures":[{"sig":"MEUCIDLDOiUkCz/zr2vlxDX4ItzzqBEJ4CwZMfwLV2q7acshAiEAjc5u2+APpZTnqUaR40H65edWxZ4bFRb8eA+pp9LugUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2784771},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"e9831d760c1196b6c0384075ddf312a663652009","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.40_1774385555494_0.23512728038063635","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"@senpi/trading-recipe","version":"1.0.41","_id":"@senpi/trading-recipe@1.0.41","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"bf43996c8d6ed3a7f496f171e2d7e178c2057f2c","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.41.tgz","fileCount":682,"integrity":"sha512-cP98CepoRLJlrZQlVoErde6EC9eU8ErCTl0RGG7o2VQIZTZFjAmvb3a837r1Axxsduw2EfStGeffTsSEHh2CHw==","signatures":[{"sig":"MEUCIA0VoPR3neUS0zGfwO+sGMkQkFEmdJ0l7KjVzmNt+WUZAiEAtVkk6dMn/B+RNKEJ5B/1FRn15e/GWV/NsdMT+TgfV7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2800487},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"a4961e95df4af070e0a905c1ecc624e1013b5cc8","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.41_1774458067269_0.5457984287883821","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"@senpi/trading-recipe","version":"1.0.42","_id":"@senpi/trading-recipe@1.0.42","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"29bb11dc685fbf5584652bb3bcc39cc71d088ea9","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.42.tgz","fileCount":682,"integrity":"sha512-AVuDd7dSNYIdInEBEppdvkdB3p8J7UEjqyFz/IaPgP+TOxjvSZiNX90ORQeS3J2Jt0TF8xdErTTOkAXsuUyM3w==","signatures":[{"sig":"MEQCIGnXV90SoYqc9+f8M2iB0Zk7ZYmYNdgZOS+RNcP8okdFAiBMFCZP6rkuSr4km0rnLC+c5Khes44KFsZ3878TMuGDwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2842047},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"d466d44f96e269fc4eeaa80a95fa83aceb2a5aac","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.42_1774458965887_0.09284761423545773","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"@senpi/trading-recipe","version":"1.0.43","_id":"@senpi/trading-recipe@1.0.43","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"1474cb9b62ccfd5f54612763e76cd0fb12d16be0","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.43.tgz","fileCount":682,"integrity":"sha512-a+O03Qg5tV5qT0PU/4K0584ZjNQa5eRLrFFRZ2l16yhgM7RiNtbsgWt6OczUCo00yoWr3WYnelNSsma/vCvjDw==","signatures":[{"sig":"MEQCIHeIvgO4Z1guPRfPJmb2vO9jJZRsNfqJ23+JWimBA9ImAiBfHKXbCreLAivjpRUvCiM/7hdFMwVSIl9aGCduYYsXQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2839724},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"db3bd0386616378d5bba81d4e34feba4f9d69524","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.43_1774462614357_0.19317121069458199","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"@senpi/trading-recipe","version":"1.0.44","_id":"@senpi/trading-recipe@1.0.44","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"95c837403c5971f9823e43f0ff7b45ef681cad04","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.44.tgz","fileCount":682,"integrity":"sha512-tapFWUiCVjUn1xdp6KAfBjmMk1RXbNJ/Zg3UQfDH3fPc+NyExMmhpYZft9yBTyRX8/Bf/9oSYwhF3pWGlXLomQ==","signatures":[{"sig":"MEQCID92Htrhag8psYTEd9KQgy2EM+xZ3hPlheFAFcqtUns/AiAf3Fa+mfvpfc/ulvJFECXYTJIXOPd8qiKBaX6x80sMpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2840826},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"ac738d24d9850d6c63ef1b428b785db5a2b66276","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.44_1774465939775_0.12790509733823163","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"@senpi/trading-recipe","version":"1.0.45","_id":"@senpi/trading-recipe@1.0.45","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"fe146b63203b885255cf81e3b2193242fa7a8c7c","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.45.tgz","fileCount":682,"integrity":"sha512-3gCWAL/tcq2PjMX7cbNBcXvI/pTz3Wmg5ZIFqALMLLQbv4TQ8YMCUZEdN1kWtjgqsmoDWfC0Bog+d+N0ae7Y4Q==","signatures":[{"sig":"MEYCIQD/Sbeg4+12GG+Iv3/FZiSltRKnorheYZkQ6ka2jOUztwIhAOKpcuqTUZr00/FByLyhpcYUfB/1DK/IYQnC12KI+eQj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2841014},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"d54c86ad88866af0333f8aa559b2e1e783568ce6","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.45_1774466856812_0.2001682799836959","host":"s3://npm-registry-packages-npm-production"}},"1.0.46":{"name":"@senpi/trading-recipe","version":"1.0.46","_id":"@senpi/trading-recipe@1.0.46","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"9b1ed5558b4b0abab9548574b77b735fbac8ce67","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.46.tgz","fileCount":682,"integrity":"sha512-oOFSk+UeFryZcxU5UII1pwwxhYnW6G0vkam754H2nHGzXolOZFnmjBIylImc1S+YWfZipa6qrxClMQEApzmr4Q==","signatures":[{"sig":"MEQCIFN0cyymy5YqBRjQJYwbmJsMVPcvfU6MAvG3ogEmVKp9AiAYQgnMoUzr6ZxbbMup8hyqzqXutFyzRKyI8YZTrRingA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1657359},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"9bb20c6740564ab282b93507e1524fa02bda693a","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.46_1774468594540_0.79900131815252","host":"s3://npm-registry-packages-npm-production"}},"1.0.47":{"name":"@senpi/trading-recipe","version":"1.0.47","_id":"@senpi/trading-recipe@1.0.47","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"a96d3b93315fda17113160d990dfa8b0bef2c99e","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.47.tgz","fileCount":682,"integrity":"sha512-P5Ib7m/mSrIhJJDWz6R52XYP3CPoOkIGD6FjDY5sxHQLwytj4TLxiiU7MEzYUIW4SQC7wNPQvsY6ZI3pce3pHA==","signatures":[{"sig":"MEYCIQCGK4/h0rwbOQNCtrhi8X4tlJIX1S9XzrqSFjhmijDmYgIhAJVILeYJbnXsoj1xq5LiorJGesNal+aGnRnXFfKMg4H1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1664047},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"bf824b06b82b585210e29a12b43c999fcd783208","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.47_1774469495076_0.46012899125191664","host":"s3://npm-registry-packages-npm-production"}},"1.0.48":{"name":"@senpi/trading-recipe","version":"1.0.48","_id":"@senpi/trading-recipe@1.0.48","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"06efe64a08e23ecbeb5be092cccc96a7a4b7e3e0","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.48.tgz","fileCount":686,"integrity":"sha512-cYRZnn0I7EYHzLtU9O0fij3UA1glBYxPFBbR6EMaI1d9tFPxWkUZRPxc6/4OBSnbcbeGx92ycoSRq9FKCdIrhw==","signatures":[{"sig":"MEQCIALJt2YdbdQvnbuEIwU22fPlDkVnqAlbe/0Rhjj04kgjAiBwTjYDH72/aK5pZcRQzrTHI/0/+0Oiw5NHZPMj6JnQbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1667361},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"7890d6829a223e678a65283efa3651331b437620","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.48_1774469823153_0.5327408434213659","host":"s3://npm-registry-packages-npm-production"}},"1.0.49":{"name":"@senpi/trading-recipe","version":"1.0.49","_id":"@senpi/trading-recipe@1.0.49","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"2b23a309abd593529e25d89c986dd44f09a6a8c6","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.49.tgz","fileCount":686,"integrity":"sha512-veD6xFhwTDCyG3tL3kAzduUmSX/XUxoGrglNXAXD8d+AhsgfPIDTL5msX4cQ8cDdXRMZlDXEk+tNYYoYpBRmPw==","signatures":[{"sig":"MEUCICq68x0Qa3LDdDrpEkBvXSLQaZ7s40Fe/hxG+fxF6kJcAiEA7tiqX07FhfJb0uHNv2v8DWgXxH4aFYE5YuPZv0pFyhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1667361},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"2d4be9fcedaa395e8a205fd4579591f5939303ca","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.49_1774471331837_0.22340742498764454","host":"s3://npm-registry-packages-npm-production"}},"1.0.50":{"name":"@senpi/trading-recipe","version":"1.0.50","_id":"@senpi/trading-recipe@1.0.50","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"ed4d4a7388b87fb3e6afd0ed78f204f01edff595","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.50.tgz","fileCount":690,"integrity":"sha512-4Qj5AYRjLhcCWDK2LHzxjaL8rkZjGZsqkNGZZbBccokBr/rJj4s82bAZkgprMGRuo055iNjd0Dp/5Ndu2Ps5SQ==","signatures":[{"sig":"MEUCIBNK8xzr5uASZSjXLDSK+WlCwpyWm/Zqm7v0Jy7WWGHxAiEA0O0AafQsqt0T52N2QFACT4MmMpP6rq7k23H7rLF+9AE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1670917},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"c1a45d19e431264ac6999f170b40233cf80efbe5","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.50_1774472835829_0.025371453174566794","host":"s3://npm-registry-packages-npm-production"}},"1.0.51":{"name":"@senpi/trading-recipe","version":"1.0.51","_id":"@senpi/trading-recipe@1.0.51","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"7c4fffff01608a70ff4ab5bc5bb0b0c4bba4770e","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.51.tgz","fileCount":690,"integrity":"sha512-ItVjdxDbSbhH1YwT6HkqVDrokehl+gxpoKqX9jmh4QTLzoB2yUMBSBgSP7cGK8zOXz6vwsCwMdTcDyVjgNnXoA==","signatures":[{"sig":"MEQCIFcB/zHLbvmtNCos7txheb2d/JAlCDHYR1KlpwF+B8UtAiBZvWi1OPIRJLdQeUhwE69KF8lSW8sIrjHwXzviElVyxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1670917},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"fbfd3ec9dfc4271ac75f62b431121e0979815924","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.51_1774511940833_0.13410365169256533","host":"s3://npm-registry-packages-npm-production"}},"1.0.52":{"name":"@senpi/trading-recipe","version":"1.0.52","_id":"@senpi/trading-recipe@1.0.52","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"b32b39c029001b6c7e0eb4a0d289dc95c8d46b24","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.52.tgz","fileCount":690,"integrity":"sha512-5vUZlugmILGN3EBmhHWDn9W1vMsh+KKalrFx36n1vuwI3lWOEdSPhxlI/fKXyrj7D7F3aS1Eo4iQ6tufTQO7UQ==","signatures":[{"sig":"MEUCIQCcyAHy+UDFYYUXKpbJsLadiV/1dg1YSbn0YJ+W+Pe2AgIgaSnAFZLIbNovULLfhQaAtt1AvmGpyiuqqmFKrOi+Nv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1701391},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"d5e7558540bbed02c7365ceb49cf0f5108c7c6c8","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.52_1774515052416_0.5053982740471119","host":"s3://npm-registry-packages-npm-production"}},"1.0.53":{"name":"@senpi/trading-recipe","version":"1.0.53","_id":"@senpi/trading-recipe@1.0.53","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"5e1def392bc31e89190e4f0b8a636e856a15ff5a","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.53.tgz","fileCount":690,"integrity":"sha512-l48cZfFRydblrzvfH2euj4LJAtGemqdFfl+/BaoixD44xHogIxlyWQLElFc3tekM2n/HeqXMjGNz0WTqKLtMyQ==","signatures":[{"sig":"MEYCIQD/GBsK5dNNXM0kzkw0P6nXq70cKa/1RfIjx3EY2ENd9AIhAII1A06wPVz/VRUK/+t2Y03P07Xk+NS64mXLL+qKh+tv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1701689},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"af081c66070d4c9b32005bd2508f3204cacdc106","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.53_1774525024011_0.2001705199118744","host":"s3://npm-registry-packages-npm-production"}},"1.0.54":{"name":"@senpi/trading-recipe","version":"1.0.54","_id":"@senpi/trading-recipe@1.0.54","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"2971168d5d44870e2dfa33faeb8d069e1ac27cc2","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.54.tgz","fileCount":690,"integrity":"sha512-htiVxyzy0MvhBgK5LXYbCPKRx35UPRnjfnIvdSqxyVWwxUH9cd6soHOWjHCAyc40O0umrDPT3l2GOoX4pk9j1g==","signatures":[{"sig":"MEYCIQCBaS9uZDzaQBdRBVmQj52Ph/aQwkCctRJQ7NqRGlixVwIhAMEWYiHOEvPV4xR1eU9CSwGslBaT4rXhtBbIUdtz7Mk+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1701689},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"656ed1171a32865a13fd4bb05c9d18c1ab5456c8","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.54_1774526329203_0.6583486461201671","host":"s3://npm-registry-packages-npm-production"}},"1.0.55":{"name":"@senpi/trading-recipe","version":"1.0.55","_id":"@senpi/trading-recipe@1.0.55","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"99d2e9528878d4f91743ff1061f039ca79441350","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.55.tgz","fileCount":690,"integrity":"sha512-jFv5Av/VBXUilAwxyKu7X2e1zYbl1Xwor5fYACX+HT/D4HujfQtMBNjAIT10zxECaELLVxCuvnKsC7fS2zW14w==","signatures":[{"sig":"MEUCIAFav9bNxCQnX1vLTPiM/LBEBB39qV5SZ84HVVuO2zvBAiEAxn3ovNsuqbrnwfc6epkEiCMdO5pblWXDJf6i3a5ZixY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1708582},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"7ead6f6746e9cfd21df9ccf5dc2ba7d85c45b218","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.55_1774530034738_0.7318424637649779","host":"s3://npm-registry-packages-npm-production"}},"1.0.56":{"name":"@senpi/trading-recipe","version":"1.0.56","_id":"@senpi/trading-recipe@1.0.56","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"9ba7e2122f9b65e40e8ed5218535ab2a95e61d0a","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.56.tgz","fileCount":690,"integrity":"sha512-0eZ4utUctgQIc+0eVPdbhGzF1yJ1WmPw4QlBgnacqYh9yzfiRt4jmyV6TFPT7q0ggLXQ/kWlAMVePdhbxHnO4Q==","signatures":[{"sig":"MEYCIQCQoBwIJ49YjjBOtQd+m758HroJnEhxQp8IEfVKxMYKCAIhAM9l+JCB4AgZsyHypQvcDlRdfpIcoiGj7d1WV55W1/Sm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1733670},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"a2cdbae711e0bcfe0189eddcbcff7c9b77233fb1","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.56_1774537669291_0.9073450888815919","host":"s3://npm-registry-packages-npm-production"}},"1.0.57":{"name":"@senpi/trading-recipe","version":"1.0.57","_id":"@senpi/trading-recipe@1.0.57","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"1ec55d79f82fc6ed566f201053c8cdfa5a8168be","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.57.tgz","fileCount":690,"integrity":"sha512-ERo6W+uBNG+AXvFzKtZWgjWEkecFd6JeXUyD7n/zMpjWYUfkHa/Qg8QArrn7NHkalJibN6W0rj2FiQOfhp/cmQ==","signatures":[{"sig":"MEUCIF6d9vEIUe6mCFcpxinkSAfDRhl1MB3vsY2+GCiy1YcFAiEAmD3fqGLd5CRykMh/uRutvhfBdSCJE7ghrizE1RJw208=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1734231},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"0fa735081d8e380729b0b95174dec8b2cdcb1885","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.57_1774542014659_0.1947064407239183","host":"s3://npm-registry-packages-npm-production"}},"1.0.58":{"name":"@senpi/trading-recipe","version":"1.0.58","_id":"@senpi/trading-recipe@1.0.58","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"4aa21efb2113e99d696fdab8e3defb0731b04ddf","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.58.tgz","fileCount":690,"integrity":"sha512-2gjJvTOHlaqqxylC9dNMkio8DbPlNuOgEZj31Na2VtKEGVmwDYhdjSBo5qiBw+oFyj7iZImrd22TesgaloCkQw==","signatures":[{"sig":"MEUCIElla6E7gQvz2FqEXeSEbNRYAaiGymjUAzXPg5+WP807AiEAzSDqca7fIjs/QptJpLiyvywXXBkEK6Fg87ScvkBeGng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1734876},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"741ce75982dda8362a5dc324b106c83e05e72405","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.58_1774543005248_0.314055707754465","host":"s3://npm-registry-packages-npm-production"}},"1.0.59":{"name":"@senpi/trading-recipe","version":"1.0.59","_id":"@senpi/trading-recipe@1.0.59","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"883faaff607352f7712a45c5a5605b7f68e52d91","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.59.tgz","fileCount":690,"integrity":"sha512-tAtBfOFvGFNtx0qXYUd6HlUW1+gk1sQAUrSZuPnXTw53f/6zyHxbvYQF2XavBdtZ7hFD3S2Yt8WSiJRIwS7qpQ==","signatures":[{"sig":"MEUCIEYYMrNuDd0EiTUFufXAqzDDm6AXLMyDkvhCL1OmIPTmAiEAzFclEMXQf1iQb3jAdKxc3GEJ8XX6BVRh78cdolt6m+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1735371},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"2a65b2a6375771e537f13ee2f768d3005deb9190","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.59_1774544084748_0.7858527355632501","host":"s3://npm-registry-packages-npm-production"}},"1.0.60":{"name":"@senpi/trading-recipe","version":"1.0.60","_id":"@senpi/trading-recipe@1.0.60","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"2140f342757bfecf5316cd30bb531ea218858118","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.60.tgz","fileCount":690,"integrity":"sha512-pqq5Z36nTWhiAIXXqNm26tjrLUNzXxbjpx4lQjgICLF6y9eq1s4Y9fh54Ej+dzY1krWwTTdBg8kBmWH/NZhQ1w==","signatures":[{"sig":"MEUCIQD9E+/ZjD0uMf45Uym0PsIpbJFRV097KyNaY9SSKtM7zwIgUylhIaaNfSKyEQDbOoLYH1C+U06YxCwmGSnY+b/KL6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1747303},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"ae4cee8ba3f4ef80bd379152058534f1ac9f0e00","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.60_1774546989206_0.6767465091744942","host":"s3://npm-registry-packages-npm-production"}},"1.0.61":{"name":"@senpi/trading-recipe","version":"1.0.61","_id":"@senpi/trading-recipe@1.0.61","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"b4321dca996e9dd12afecefafd5b7a9ab8e817d8","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.61.tgz","fileCount":690,"integrity":"sha512-NkwbbtSTWpPyw44OInvjDM20t3iQvwfaOaYPz/PfjPT7PjSp4gAy/McKajmIFMQe6uR58kebRcHBU2F/Z8iFsA==","signatures":[{"sig":"MEUCIQCa+c3HU/mkhE2IlbAN1KyOFsy5kFQLIiXIjaOtkBvbXgIgUtmMc0IazaeahTiiEmSyJoD504ND8+QuKDhS8Dmgg7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1747310},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"fc6d989539710c26dc1d02a697c3e716a5a3b033","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.61_1774547655752_0.21403377564899717","host":"s3://npm-registry-packages-npm-production"}},"1.0.62":{"name":"@senpi/trading-recipe","version":"1.0.62","_id":"@senpi/trading-recipe@1.0.62","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"3e04f6c11befe1e7de7cf49a5ffdbe0aa805a64b","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.62.tgz","fileCount":690,"integrity":"sha512-oWbzWH21AYlgScNzthpDFsJvouvZB+qz+ySiKKznQRgUJXitkbagq6g4QU1yZg42oF5fftxFguDGo/vr6Tl/TQ==","signatures":[{"sig":"MEUCIQDWjJGX+WkS3DntXvKSb/kkNkSJHzzOzKoHGvHP38t1gQIgEoAdQg83ZYyjpfaTcUUhgpZ6c+bXiak4eGFt6eMMqO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1747303},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"053b3a32bfd19169e1debf662acacbd762e72547","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.62_1774548703048_0.21788017459242326","host":"s3://npm-registry-packages-npm-production"}},"1.0.63":{"name":"@senpi/trading-recipe","version":"1.0.63","_id":"@senpi/trading-recipe@1.0.63","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"59e72b4799d8ace47714c4557eb16e339b34429e","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.63.tgz","fileCount":698,"integrity":"sha512-uqZsqmO5AR8RhQcmmAHyJtGaJTslyRrcBNDmLwGDiKrmCgnV4ilrs9iDg5QUVY1p2D+jBrLTbuIffItfJAWZtg==","signatures":[{"sig":"MEUCIQD6CtOylCvlDT2BMkPQD9Qc9YzD5uIZa2Vb4FhAWdagNwIgF1cwcO2cKWl+keuwH9JDD/STr1CnukZ8FJBd3ZyDrQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1771724},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"b7b3c545749a154170896edf6b39f5de95af3e7f","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.63_1774552922839_0.7906479288929606","host":"s3://npm-registry-packages-npm-production"}},"1.0.64":{"name":"@senpi/trading-recipe","version":"1.0.64","_id":"@senpi/trading-recipe@1.0.64","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"7fad4ee771023de1343b588143a09860e4d45734","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.64.tgz","fileCount":698,"integrity":"sha512-bT0S3YK7jJ0WnEqM7G1T/WOy85BW0VlV7LXphgm/0Y/F4Wpa3sOj61hZHO/GFNN0DSMkbmoKG4j46pxvzGwadg==","signatures":[{"sig":"MEUCIQC2rDE57BhHLdPZWfS8i7fbAm8Ya9tLA4e02kjb1jYqjAIgJaYtbVNB61hvJf6YM5whesG0geHlRkR3Q0VIjgUQgyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1771818},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"190a177461e5b85125f7a9df6326b170d8f30274","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.64_1774553378652_0.3355114282568672","host":"s3://npm-registry-packages-npm-production"}},"1.0.65":{"name":"@senpi/trading-recipe","version":"1.0.65","_id":"@senpi/trading-recipe@1.0.65","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"4189ce2f88204841b873f0910bdce2319c5876e9","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.65.tgz","fileCount":698,"integrity":"sha512-DHdSxSusNBmFvUpQnJfEe5pYCs+j2KNiM0Vk74xcuMg/UdgOeFy1vOwqjXk/7k0CYb7gPaco0nBaThKTexqgwQ==","signatures":[{"sig":"MEUCIHYqvCwINmXOUlQKuqXakkjN8xl443WTxjztylAnYO0FAiEAlD3MlrjV5K5qhjkoSrVFseNxqL9b1dxbT+sQ7zrZNV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773210},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"d7785c253c76de90ea86830eef5887aa7873c9e5","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.65_1774553811672_0.6488655861548229","host":"s3://npm-registry-packages-npm-production"}},"1.0.66":{"name":"@senpi/trading-recipe","version":"1.0.66","_id":"@senpi/trading-recipe@1.0.66","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"faead202a9bcfc6d856b24ccf788f08d498a89ee","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.66.tgz","fileCount":699,"integrity":"sha512-NSNdubacZPQN0LIE7UlhJjlyFJj/wtwlAfnERAWXVAHPx06aE4pepsQE3BgQbIgqq4zt8oOosRHxs6VY7M9EVQ==","signatures":[{"sig":"MEUCIQCdBw0TQ7NDs2IofqeNUd6zWUDJ6bSptkXYp74geGaAkgIgLtgaVaZSTwQ9HtsPiWBLWjMvIkqJgOyLvFIrrVTm7YY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1783566},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"fd80e20728ad3f10f95ce07214b8866df3d0fe39","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.66_1774555833686_0.009581842330880441","host":"s3://npm-registry-packages-npm-production"}},"1.0.67":{"name":"@senpi/trading-recipe","version":"1.0.67","_id":"@senpi/trading-recipe@1.0.67","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"b6d579ca4230c14eea683d2117c123034c849ff2","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.67.tgz","fileCount":699,"integrity":"sha512-HhC66kDdHG8adt3TeixklKFpMRsZRcpGbQrTXcCT0gpiimq61OhS4Rr+VQiKbg+wurjutO8yC8pFGlfiQvaIfg==","signatures":[{"sig":"MEQCIGL4gYoLZNMKo7fbuL76PN+hfB+Eiy2zzXsbWWtCJZcfAiAi0V2dTxnxCrMCKQV5fYalPZ3C7xL0gaUjX4K7i4pB4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1785856},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"dad833e4aef52bcbc8b881901c8a4f95b24796cd","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.67_1774557324496_0.41804486045869815","host":"s3://npm-registry-packages-npm-production"}},"1.0.68":{"name":"@senpi/trading-recipe","version":"1.0.68","_id":"@senpi/trading-recipe@1.0.68","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"18d22c0d03b3c1431e8d0e2f645e1381fc355e02","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.68.tgz","fileCount":699,"integrity":"sha512-MkpxyVnNncKADFt6CkbVElRaSQHEQ1rU3LMhfN5Eda45UyXcaZ9Yf+LZvHYeMgN2sNY3d+S5hjNO3YfeMtyYhw==","signatures":[{"sig":"MEYCIQCREJUQgqH0dYJWtEvTGxmmhOC2CxmJqo2DHmSc6Eg3rgIhAK9lc3vzGfZNTj7qIt7lBLilNNvH8EMBEreftUPAtXQy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1795628},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"80429a4b85465ed8110f10c025ad0f4aef00c64e","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.68_1774592518246_0.6335496665542479","host":"s3://npm-registry-packages-npm-production"}},"1.0.69":{"name":"@senpi/trading-recipe","version":"1.0.69","_id":"@senpi/trading-recipe@1.0.69","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"ba6b91faeaa877ac29322e3168cc60a09d62774b","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.69.tgz","fileCount":699,"integrity":"sha512-X97foXOviM1u1neUdsZ2FwJAIQQtqhahsdL0oFLc8e4WAdG6Rwh6Lq+Yldugo2k6LgdO8+IN1EU0YV3g/sguJg==","signatures":[{"sig":"MEUCIBKa9BHkGcFrR24w45Vwvrs1kI+F07N2XCTep4LUyeZXAiEAviylZzrq5rlL+E00cObFpouMMNZ4lEOj7n7VqOYu908=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1802114},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"5dc90379a69123667b162c9b1fa7ff5c75d62491","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.69_1774619225547_0.8360525674289427","host":"s3://npm-registry-packages-npm-production"}},"1.0.70":{"name":"@senpi/trading-recipe","version":"1.0.70","_id":"@senpi/trading-recipe@1.0.70","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"d29f1b9bb54f446752a92547aa9e0f26fab2b1e3","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.70.tgz","fileCount":703,"integrity":"sha512-MxQNBK4N1P/NUxi9UjRCB3wUiXoN1G6K5R0z3tlMpDOissZr7J+z8ZOEUZ10Z5DqPLp9zXYS5Yx1Gf60xpJNqA==","signatures":[{"sig":"MEUCIAZ7HNrCyROGP6n1Pd0fbA44QmbFbjr6VjJyepuzl6QiAiEA3f/eQYo3h2B7jwaaNfV7cxozZYSgJO125z9In84ij6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1881973},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"88c36fd9a50f4dd71046a7b311ff895308e730af","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.70_1774631787558_0.2076342631527508","host":"s3://npm-registry-packages-npm-production"}},"1.0.71":{"name":"@senpi/trading-recipe","version":"1.0.71","_id":"@senpi/trading-recipe@1.0.71","maintainers":[{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},{"name":"prashant-senpi","email":"prashant@senpi.ai"}],"dist":{"shasum":"58c1cdb3f374df5fb24078903994cea2625bc4a7","tarball":"https://registry.npmjs.org/@senpi/trading-recipe/-/trading-recipe-1.0.71.tgz","fileCount":711,"integrity":"sha512-puxY+kgvZZKpZd9xsBYYO8pUfML/MhvusZwHNa0AK8rmANLHtwzi0tHYEFywZ7i8xmFgexTMI6J6tMzHo/JCqA==","signatures":[{"sig":"MEQCIDMCW3rjfoTcjiSQjtWcp/bxz3DcuS7TdzVZHSkdevp1AiBs0kDrSKMYdDlkMLY0T9yTz/6fAzP+JPmiDix89GxWyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1877661},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"81b04a3376eb73bfbe47b984eb348af1589ac77b","scripts":{"dev":"npm run build && node dist/index.js","test":"vitest run","build":"npm i && tsc","debug":"npm run build && node dist/debug.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run setup:hooks","setup:hooks":"sh -c 'git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true'","run:dsl:live":"node dist/scripts/run-dsl-standalone-live.js","run:dsl:mock":"node dist/scripts/run-dsl-standalone-mock.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"senpitest","email":"prashant.garg.ind@gmail.com"},"openclaw":{"type":"extension","extensions":["./dist/index.js"]},"_npmVersion":"10.9.4","description":"Trading recipe plugin for OpenClaw","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","yaml":"^2.8.0","dotenv":"^16.4.5","mcporter":"^0.7.3","@anthropic-ai/sdk":"^0.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@sinclair/typebox":"^0.34.0"},"peerDependencies":{"openclaw":">=2026.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-recipe_1.0.71_1774634309279_0.38607413029238447","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-17T17:31:42.449Z","modified":"2026-08-07T21:43:34.782Z","1.0.21":"2026-03-17T17:31:42.809Z","1.0.22":"2026-03-17T18:54:38.202Z","1.0.23":"2026-03-17T19:44:39.318Z","1.0.24":"2026-03-17T20:44:09.050Z","1.0.25":"2026-03-17T20:56:29.167Z","1.0.26":"2026-03-18T09:22:13.163Z","1.0.27":"2026-03-18T16:25:34.813Z","1.0.28":"2026-03-19T13:40:27.606Z","1.0.29":"2026-03-19T14:38:34.592Z","1.0.30":"2026-03-19T15:09:26.064Z","1.0.31":"2026-03-19T20:14:02.318Z","1.0.32":"2026-03-20T11:42:18.628Z","1.0.33":"2026-03-20T12:33:07.182Z","1.0.34":"2026-03-20T13:41:51.581Z","1.0.35":"2026-03-23T04:44:07.004Z","1.0.36":"2026-03-23T08:13:50.573Z","1.0.37":"2026-03-23T09:38:45.484Z","1.0.38":"2026-03-23T22:36:44.481Z","1.0.39":"2026-03-24T20:22:32.253Z","1.0.40":"2026-03-24T20:52:35.644Z","1.0.41":"2026-03-25T17:01:07.493Z","1.0.42":"2026-03-25T17:16:06.212Z","1.0.43":"2026-03-25T18:16:54.629Z","1.0.44":"2026-03-25T19:12:19.972Z","1.0.45":"2026-03-25T19:27:37.004Z","1.0.46":"2026-03-25T19:56:34.760Z","1.0.47":"2026-03-25T20:11:35.264Z","1.0.48":"2026-03-25T20:17:03.362Z","1.0.49":"2026-03-25T20:42:12.018Z","1.0.50":"2026-03-25T21:07:16.037Z","1.0.51":"2026-03-26T07:59:01.025Z","1.0.52":"2026-03-26T08:50:52.597Z","1.0.53":"2026-03-26T11:37:04.274Z","1.0.54":"2026-03-26T11:58:49.415Z","1.0.55":"2026-03-26T13:00:34.971Z","1.0.56":"2026-03-26T15:07:49.610Z","1.0.57":"2026-03-26T16:20:14.906Z","1.0.58":"2026-03-26T16:36:45.498Z","1.0.59":"2026-03-26T16:54:44.988Z","1.0.60":"2026-03-26T17:43:09.386Z","1.0.61":"2026-03-26T17:54:15.975Z","1.0.62":"2026-03-26T18:11:43.320Z","1.0.63":"2026-03-26T19:22:03.016Z","1.0.64":"2026-03-26T19:29:38.893Z","1.0.65":"2026-03-26T19:36:51.876Z","1.0.66":"2026-03-26T20:10:33.900Z","1.0.67":"2026-03-26T20:35:24.717Z","1.0.68":"2026-03-27T06:21:58.451Z","1.0.69":"2026-03-27T13:47:05.781Z","1.0.70":"2026-03-27T17:16:27.845Z","1.0.71":"2026-03-27T17:58:29.515Z"},"description":"Trading recipe plugin for OpenClaw","maintainers":[{"email":"prashant.garg.ind@gmail.com","name":"senpitest"},{"email":"prashant@senpi.ai","name":"prashant-senpi"},{"email":"sarvesh@senpi.ai","name":"0xsarvesh"}],"readme":"# @senpi/trading-recipe\n\n[![npm version](https://img.shields.io/npm/v/@senpi/trading-recipe.svg)](https://www.npmjs.com/package/@senpi/trading-recipe)\n\nEvent-driven automated trading plugin for OpenClaw. Orchestrates scanners, LLM-based trade decisions, and a DSL trailing stop-loss exit engine.\n\n## Prerequisites\n\n- **OpenClaw** >= 2026.2.0\n- **Node** >= 22\n- **Senpi API key** (for live trading)\n\n## Install\n\n```bash\nopenclaw plugins install @senpi/trading-recipe\n```\n\n## Configure\n\nAdd the plugin to your OpenClaw config (e.g. `~/.openclaw/openclaw.json` or via `openclaw config set`). Use the plugin **id** `trading-recipe` as the key:\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"trading-recipe\": {\n        \"enabled\": true,\n        \"config\": {\n          \"stateDir\": \"~/.openclaw/senpi-state\",\n          \"apiKey\": \"YOUR_SENPI_API_KEY\"\n        }\n      }\n    }\n  }\n}\n```\n\n## Notifications\n\n- **Strategy-level:** Set `notifications.telegram_chat_id` in your strategy YAML to receive alerts (e.g. open/close, decision errors, scanner watchdog). The plugin sends messages via the OpenClaw gateway `message` tool (`action: send`, `target: telegram:<chatId>`).\n- **Lifecycle (plugin start/stop):** Set `SENPI_LIFECYCLE_TELEGRAM_CHAT_ID` in the **gateway** environment (e.g. in Docker: add to `docker-compose` and `.env`) to receive \"Senpi started. Strategy running.\" when the plugin service starts and \"Senpi shutting down.\" when it stops. Requires `OPENCLAW_GATEWAY_TOKEN` (and optionally `OPENCLAW_GATEWAY_URL`) in the same environment.\n\n## Quickstart\n\n1. Copy a minimal recipe template and set your wallet:\n   ```bash\n   cp $(openclaw plugins path @senpi/trading-recipe)/examples/strategies/minimal.yaml ~/my-recipe.yaml\n   # Edit my-recipe.yaml: replace ${WALLET_ADDRESS} or set WALLET_ADDRESS in env\n   ```\n\n2. Set environment variables (e.g. `.env`): `SENPI_API_KEY`, `WALLET_ADDRESS`.\n\n3. Load the recipe (hot-loads; no gateway restart):\n   ```bash\n   openclaw senpi trading-recipe create -p ~/my-recipe.yaml\n   ```\n\n4. List recipes:\n   ```bash\n   openclaw senpi trading-recipe list\n   ```\n\n5. Watch gateway logs for scanner runs and signal processing.\n\n## Strategy templates\n\n| File | Style | Scanners | Use case |\n|------|-------|----------|----------|\n| minimal.yaml | Watch-only | emerging_movers | Verify setup; no positions |\n| wolf.yaml | Aggressive | emerging_movers | Early entry on FIRST_JUMP |\n| viper.yaml | Moderate | prescreener + momentum | Candle-based breakouts |\n| fox.yaml | OI-driven | prescreener + oi_tracker | OI-driven entries |\n| dsl-showcase.yaml | DSL reference | emerging_movers | Annotated exit config |\n\nTemplates live under `examples/strategies/` in the package. See [examples/strategies/README.md](examples/strategies/README.md).\n\n## CLI reference\n\n**Trading recipes:**\n- `openclaw senpi trading-recipe create -p <path>` — create from YAML file (hot-load)\n- `openclaw senpi trading-recipe create -c \"<yaml>\"` — create from inline YAML\n- `openclaw senpi trading-recipe list` — list installed recipes\n- `openclaw senpi trading-recipe delete <recipe_id>` — remove by id\n\n**In-shell reference:**\n- `openclaw senpi guide` — overview\n- `openclaw senpi guide scanners` — scanner types and config fields\n- `openclaw senpi guide actions` — action types and decision modes\n- `openclaw senpi guide dsl` — DSL two-phase exit engine\n- `openclaw senpi guide examples` — print minimal strategy YAML\n- `openclaw senpi guide schema` — full YAML schema\n- `openclaw senpi guide version` — plugin version and changelog URL\n\n## Guide skill\n\nOnce published, the **@senpi-guide** skill on ClawHub provides the same reference in chat. Install with `clawhub install skills/senpi-guide/` (or from the ClawHub UI).\n\n## Install on an existing OpenClaw setup\n\nIf you already have OpenClaw installed (local, VPS, or self-hosted), see [Installing on existing OpenClaw](docs/install/existing-openclaw.md) for the full install sequence, config stanza, and troubleshooting.\n\n## Docs\n\n- [Architecture](docs/runtime-docs/design/architecture.md)\n- [Skills YAML schema](docs/runtime-docs/design/skills-yaml-schema.md)\n- [Integration guide](docs/runtime-docs/integration-guide.md)\n- [Runtime API](docs/runtime-docs/runtime-api.md)\n\n## Changelog\n\n[CHANGELOG.md](CHANGELOG.md)\n\n## Development\n\n```bash\nnpm run build   # install deps + compile TypeScript\nnpm test        # unit + integration tests (no credentials required)\nnpm run dev     # build + run\n```\n\nPre-commit runs `npm run build && npm test`. See [CLAUDE.md](CLAUDE.md) and [docs/runtime-docs/](docs/runtime-docs/) for conventions and design.\n","readmeFilename":"README.md"}