{"_id":"@chatman-media/sales","_rev":"11-3bee47f497430f552be475e62158772a","name":"@chatman-media/sales","dist-tags":{"latest":"1.4.0"},"versions":{"0.1.0":{"name":"@chatman-media/sales","version":"0.1.0","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":{"name":"Alexander Kireev"},"license":"MIT","_id":"@chatman-media/sales@0.1.0","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/sales#readme","bugs":{"url":"https://github.com/chatman-media/sales/issues"},"dist":{"shasum":"f96f3f3be660f218452b7681d760a1ab50ef400f","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-0.1.0.tgz","fileCount":58,"integrity":"sha512-8eZO7aNoHJ7lJHABgXY2rX+MFzRpp0XCFlcOjLe8CvERUJPa2U6TRJ6ZRz8cDC0U4f64oaPOq6S6eRRy5FPWUw==","signatures":[{"sig":"MEUCIQDBUX8XyHZh08IR4+NQhVN0ojxyd/1S+Viyvr5bnbi6cQIgGXzD+cA2tb/8RVWaZL9Q8IihJu47EO49Dcd8pD7Slz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727435},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"495b556e3b83c8d9fa3c66e1ca5dc77601a35fdc","scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun test && bun run build"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"repository":{"url":"git+https://github.com/chatman-media/sales.git","type":"git"},"_npmVersion":"10.8.2","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@chatman/rag":"github:chatman-media/chatbot_rag#7e48cc9734ccba170d35ca1196607297711957e6","@biomejs/biome":"^2.4.14"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_0.1.0_1778794947503_0.2065923558730447","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@chatman-media/sales","version":"0.1.1","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":{"name":"Alexander Kireev"},"license":"MIT","_id":"@chatman-media/sales@0.1.1","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/sales#readme","bugs":{"url":"https://github.com/chatman-media/sales/issues"},"dist":{"shasum":"c3e3949b794a37ac4c2dce3c0f23a2192e9c09fc","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-0.1.1.tgz","fileCount":58,"integrity":"sha512-DZw3OLnPKzGvUvHQ2XTy+EWQCS3w3EfkzuUnBmCkrz/hy9zCPnhhPq3eflanPGwGkEiJ1utUnabZHArwNPr6eA==","signatures":[{"sig":"MEUCIHt2H94X79UK/ZNdHbo/Xe0ENNN9E7eWBUQmLK9Sx5CEAiEA8TRa8e4xRfQ9JX/bSXkrdp9/rEvO1VghJpHZnsl1vOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727488},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"97ef98bd66f223f8943b7f1a65d787312bd94703","scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"repository":{"url":"git+https://github.com/chatman-media/sales.git","type":"git"},"_npmVersion":"11.12.1","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@chatman/rag":"github:chatman-media/rag#7e48cc9734ccba170d35ca1196607297711957e6","@biomejs/biome":"^2.4.14"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_0.1.1_1778796014226_0.09151436985225203","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@chatman-media/sales","version":"0.2.0","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":{"name":"Alexander Kireev"},"license":"MIT","_id":"@chatman-media/sales@0.2.0","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/sales#readme","bugs":{"url":"https://github.com/chatman-media/sales/issues"},"dist":{"shasum":"764a20010fa20a4e56632827e6132e2815f00647","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-0.2.0.tgz","fileCount":58,"integrity":"sha512-Sxstg+4cjmV0jkVoSycKk+b60ONdf4g0OxcSyyH52ZldSTbGY+RJoiqZEmHNYjnNqtjx/Qi8dFn6e5ynNlZXBg==","signatures":[{"sig":"MEYCIQD8uzqbs6JiD8YMaVZa8mNcBavh442g/+EcdX5N0/4rpgIhAPIz5TeLunkYhJLYDT4e/HF9x7B/HV1T8fy1P1pD2NuT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3438667},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2ac4dcd26a9a5818fcdf6894bb82b65218ae2425","scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"repository":{"url":"git+https://github.com/chatman-media/sales.git","type":"git"},"_npmVersion":"10.9.8","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.14","@chatman-media/rag":"^1.0.0"},"peerDependencies":{"zod":">=4.0.0","@chatman-media/rag":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_0.2.0_1778797063474_0.05956525763532383","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@chatman-media/sales","version":"0.2.1","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":{"name":"Alexander Kireev"},"license":"MIT","_id":"@chatman-media/sales@0.2.1","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/sales#readme","bugs":{"url":"https://github.com/chatman-media/sales/issues"},"dist":{"shasum":"148ead0c339c530ae415906c9c66dcdba9f84ace","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-0.2.1.tgz","fileCount":50,"integrity":"sha512-0Wpt7udjIpnXogthFXWRNb5lVO7ZX25nskPlFKMMEQ6ZZMXQ9dUoi1sKcIpUdW4ceZ6TfVbpGcyy83RrBIT3fg==","signatures":[{"sig":"MEQCIDbtbgqn+cfGQdE7nHltbL811U5jq8zBDBtsAF7w1gfMAiBmPs8WDbfwAFjUX2GAce1I4yyeKzlSt53ZjphwpR+R0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3439205},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"22948549c8fb5f48aa2a4776cc5a0fa8e0afe2d1","scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"repository":{"url":"git+https://github.com/chatman-media/sales.git","type":"git"},"_npmVersion":"10.9.8","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.14","@chatman-media/rag":"^1.0.0"},"peerDependencies":{"zod":">=4.0.0","@chatman-media/rag":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_0.2.1_1779048127900_0.7277442548686894","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@chatman-media/sales","version":"1.1.0","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":"Alexander Kireev","license":"MIT","_id":"@chatman-media/sales@1.1.0","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"dist":{"shasum":"daabc4b6cbc3bb315f63806b2bf1246656c92317","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-1.1.0.tgz","fileCount":56,"integrity":"sha512-IxF4NG8w1Sxg79pb4F27DPxdp/XIJFhffPJQEcarddBcA6lyqMRqrCkx/M24eSGntEt5lDxbHiz0qiKVJd8aog==","signatures":[{"sig":"MEQCIH16Ou3PrJL3vZcFAc3NLN2eAzF5UMRLC5+GYlw0Lu8CAiBa1Kn661OJV1UAouSdzJ4FM1e3nt18jXMItMqiqqmELQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":786881},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"daabc4b6cbc3bb315f63806b2bf1246656c92317","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"_integrity":"sha512-IxF4NG8w1Sxg79pb4F27DPxdp/XIJFhffPJQEcarddBcA6lyqMRqrCkx/M24eSGntEt5lDxbHiz0qiKVJd8aog==","repository":{"url":"git+https://github.com/chatman-media/lead-engine.git","type":"git","directory":"packages/sales"},"_npmVersion":"10.8.3","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@chatman-media/kb":"1.2.0","@chatman-media/llm-router":"1.0.0","@chatman-media/conversation-engine":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.14"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_1.1.0_1780463346544_0.8318439934497064","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@chatman-media/sales","version":"1.1.1","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":"Alexander Kireev","license":"MIT","_id":"@chatman-media/sales@1.1.1","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"dist":{"shasum":"3a6d5f4877ef2dabdc6043e528996349909de895","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-1.1.1.tgz","fileCount":56,"integrity":"sha512-nO7gpOGBWcmyUeiJ0LhnbqrWWL6jfyRDA1X2P/DxnZUa0MhD4qgylfrdKV3sYIcJfFAA6Ka/n7/DETyTHdkTqw==","signatures":[{"sig":"MEUCIQC3fSdLlE6BgYMijURpu9WYadDwg00MrV4c+iSceG22HQIgFzERE+SCeDgDhqmw9xQlF/EUK/oQyuI1QPIbzcXYbX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":790982},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"3a6d5f4877ef2dabdc6043e528996349909de895","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"_integrity":"sha512-nO7gpOGBWcmyUeiJ0LhnbqrWWL6jfyRDA1X2P/DxnZUa0MhD4qgylfrdKV3sYIcJfFAA6Ka/n7/DETyTHdkTqw==","repository":{"url":"git+https://github.com/chatman-media/lead-engine.git","type":"git","directory":"packages/sales"},"_npmVersion":"10.8.3","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@chatman-media/kb":"1.3.0","@chatman-media/llm-router":"1.1.0","@chatman-media/conversation-engine":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.16"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_1.1.1_1780703561113_0.3700434515788549","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@chatman-media/sales","version":"1.1.2","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":"Alexander Kireev","license":"MIT","_id":"@chatman-media/sales@1.1.2","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"dist":{"shasum":"c0c09a849511b3f068d80af8f443ae4c9da3d3e6","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-1.1.2.tgz","fileCount":56,"integrity":"sha512-c4xUSeGkDhSiLdw3bZ+t2vnssBghFXs6Y8az8R2XaGRusxHF/cbf1KzezR8Ipmivp3JTrfQlgaNw9UXMEjh4sg==","signatures":[{"sig":"MEYCIQCDX8LfBMhEt19ao3CBGlCoDnLNWYnB4rqGB+Yk+p3jUAIhAM2uHEM8j9t9/ZokLsTCtQTCWi2nIeCqBjhaQ3O//tlm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":790982},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"c0c09a849511b3f068d80af8f443ae4c9da3d3e6","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"_integrity":"sha512-c4xUSeGkDhSiLdw3bZ+t2vnssBghFXs6Y8az8R2XaGRusxHF/cbf1KzezR8Ipmivp3JTrfQlgaNw9UXMEjh4sg==","repository":{"url":"git+https://github.com/chatman-media/lead-engine.git","type":"git","directory":"packages/sales"},"_npmVersion":"10.8.3","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@chatman-media/kb":"1.3.0","@chatman-media/llm-router":"1.1.0","@chatman-media/conversation-engine":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.16"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_1.1.2_1780706915788_0.8328222609522362","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@chatman-media/sales","version":"1.2.0","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":"Alexander Kireev","license":"MIT","_id":"@chatman-media/sales@1.2.0","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"dist":{"shasum":"7b92008dd9a51a943fc34eecc8adc7ba96c15522","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-1.2.0.tgz","fileCount":82,"integrity":"sha512-zMlCI4JrTN/taNBXCMeRXNcqRWpAqpAOT0JLy2WSDFTKQvcH9s5UH+Pdxb+dnbR+bLPKfuGM5eUBPIgxNKawHg==","signatures":[{"sig":"MEUCIQDm3LON8PT8hj9GvyHijepiU4udgCoogX/1pKdhAN7T3gIgcszojmL0Ac4HJ8hRYg1UJGuyZatDxfI9mknPZb0J20M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806296},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"7b92008dd9a51a943fc34eecc8adc7ba96c15522","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"_integrity":"sha512-zMlCI4JrTN/taNBXCMeRXNcqRWpAqpAOT0JLy2WSDFTKQvcH9s5UH+Pdxb+dnbR+bLPKfuGM5eUBPIgxNKawHg==","repository":{"url":"git+https://github.com/chatman-media/lead-engine.git","type":"git","directory":"packages/sales"},"_npmVersion":"10.8.3","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@chatman-media/kb":"1.6.0","@chatman-media/llm-router":"1.1.1","@chatman-media/conversation-engine":"1.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.16"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_1.2.0_1780910908155_0.7800897632485226","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@chatman-media/sales","version":"1.3.0","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":"Alexander Kireev","license":"MIT","_id":"@chatman-media/sales@1.3.0","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"dist":{"shasum":"14228c1849566e4ac41f1321f36e5ede09519cf2","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-1.3.0.tgz","fileCount":82,"integrity":"sha512-78TaljxyBlvL6ci2TDhG6aEr0QT/AnEcG6gDLIHwyx+NHFbb95CJF3TeDH7NIFd2yIQrFzjMwoPWmEtmdvQxLQ==","signatures":[{"sig":"MEYCIQCE8zm8nv0CbE/XgINo3Kc1brAz0HugjVRHor5ZUIGHAwIhAJ1njJhVSE7aLxLZy+uAgQUdS+Oz38mj78uzgSlnTkl2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":807005},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"14228c1849566e4ac41f1321f36e5ede09519cf2","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"_integrity":"sha512-78TaljxyBlvL6ci2TDhG6aEr0QT/AnEcG6gDLIHwyx+NHFbb95CJF3TeDH7NIFd2yIQrFzjMwoPWmEtmdvQxLQ==","repository":{"url":"git+https://github.com/chatman-media/lead-engine.git","type":"git","directory":"packages/sales"},"_npmVersion":"10.8.3","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@chatman-media/kb":"1.7.0","@chatman-media/llm-router":"1.1.1","@chatman-media/conversation-engine":"1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.16"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_1.3.0_1780976467637_0.4265671264012192","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@chatman-media/sales","version":"1.3.1","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":"Alexander Kireev","license":"MIT","_id":"@chatman-media/sales@1.3.1","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"dist":{"shasum":"f1d032689625059e592a1f05033f2b4724cf76e9","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-1.3.1.tgz","fileCount":82,"integrity":"sha512-ggkhWx7543qrDDvPFguQiBRsH9bVuNrpy/oEVu1WFpzkRxk0Jbm9fFp+wfLfQDXoqhkrOq2ceCxbRLLk9IGtaw==","signatures":[{"sig":"MEQCIHY3KpJQpo2CE6aVBDS1Rr5WZ9hLv3PlTVcSHj5+cdhzAiBSAL8/GaQ2vUdEJtcs16RFINiK8Q7DnWVuP7c82cr7fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808007},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"f1d032689625059e592a1f05033f2b4724cf76e9","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","check":"biome check ./src","format":"biome format --write ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"_integrity":"sha512-ggkhWx7543qrDDvPFguQiBRsH9bVuNrpy/oEVu1WFpzkRxk0Jbm9fFp+wfLfQDXoqhkrOq2ceCxbRLLk9IGtaw==","repository":{"url":"git+https://github.com/chatman-media/lead-engine.git","type":"git","directory":"packages/sales"},"_npmVersion":"10.8.3","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@chatman-media/kb":"1.8.0","@chatman-media/llm-router":"1.1.1","@chatman-media/conversation-engine":"1.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","@types/bun":"1.3.14","typescript":"^6.0.3","@biomejs/biome":"^2.4.16"},"peerDependencies":{"zod":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sales_1.3.1_1781032154166_0.10560987939539102","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@chatman-media/sales","version":"1.4.0","description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"bun build ./src/index.ts --outdir ./dist --target node --format esm && tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test":"bun test","check":"biome check ./src","format":"biome format --write ./src","prepublishOnly":"bun run build"},"keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"author":"Alexander Kireev","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chatman-media/lead-engine.git","directory":"packages/sales"},"homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"dependencies":{"@chatman-media/conversation-engine":"1.15.0","@chatman-media/kb":"1.8.0","@chatman-media/llm-router":"1.1.1"},"peerDependencies":{"zod":">=4.0.0"},"devDependencies":{"@biomejs/biome":"^2.4.16","@types/bun":"1.3.14","typescript":"^6.0.3","zod":"^4.4.1"},"publishConfig":{"access":"public"},"_id":"@chatman-media/sales@1.4.0","_integrity":"sha512-vuSNFOOCsEde9N7M9soVGbpMJiPCQV7Jq739fI9Ri0CmeI9UipQQlZFy7mv+wy6JESVKSUm577QAGoG+c4f+qA==","_nodeVersion":"24.3.0","_npmVersion":"10.8.3","shasum":"5d268e6c435f2be5ee8163172a4b295e696e10e5","dist":{"integrity":"sha512-vuSNFOOCsEde9N7M9soVGbpMJiPCQV7Jq739fI9Ri0CmeI9UipQQlZFy7mv+wy6JESVKSUm577QAGoG+c4f+qA==","shasum":"5d268e6c435f2be5ee8163172a4b295e696e10e5","tarball":"https://registry.npmjs.org/@chatman-media/sales/-/sales-1.4.0.tgz","fileCount":82,"unpackedSize":810289,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICQF8RT9qk72KS7x8I9C7Zb98D0ogGZrO6OMLQKoBaBrAiEA+HbZKv22wBldG3Wa7KgcxFI4HsAMavAU4vGLsoJYHcQ="}]},"_npmUser":{"name":"chatman-media","email":"ak.chatman.media@gmail.com"},"directories":{},"maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sales_1.4.0_1781033275345_0.10706116293904322"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T21:42:27.435Z","modified":"2026-06-09T19:27:55.643Z","0.1.0":"2026-05-14T21:42:27.665Z","0.1.1":"2026-05-14T22:00:14.417Z","0.2.0":"2026-05-14T22:17:43.742Z","0.2.1":"2026-05-17T20:02:08.081Z","1.1.0":"2026-06-03T05:09:06.680Z","1.1.1":"2026-06-05T23:52:41.272Z","1.1.2":"2026-06-06T00:48:35.951Z","1.2.0":"2026-06-08T09:28:28.422Z","1.3.0":"2026-06-09T03:41:07.831Z","1.3.1":"2026-06-09T19:09:14.392Z","1.4.0":"2026-06-09T19:27:55.555Z"},"bugs":{"url":"https://github.com/chatman-media/lead-engine/issues"},"author":"Alexander Kireev","license":"MIT","homepage":"https://github.com/chatman-media/lead-engine/tree/main/packages/sales#readme","keywords":["sales-bot","llm","funnel","elo","self-play","ab-testing","telegram-bot","chatbot","openai","ollama","persuasion","cialdini"],"repository":{"type":"git","url":"git+https://github.com/chatman-media/lead-engine.git","directory":"packages/sales"},"description":"LLM-powered sales funnel engine — persona composition, A/B testing, ELO rating, self-play evaluation for conversational bots.","maintainers":[{"name":"chatman-media","email":"ak.chatman.media@gmail.com"}],"readme":"# @chatman-media/sales\n\n[![npm](https://img.shields.io/npm/v/@chatman-media/sales)](https://www.npmjs.com/package/@chatman-media/sales)\n[![CI](https://github.com/chatman-media/lead-engine/actions/workflows/ci.yml/badge.svg)](https://github.com/chatman-media/lead-engine/actions/workflows/ci.yml)\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![Bun](https://img.shields.io/badge/runtime-Bun-fbf0df?logo=bun&logoColor=black)](https://bun.sh)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n[![powered by @chatman-media/rag](https://img.shields.io/badge/RAG-@chatman--media%2Frag-6366f1)](https://github.com/chatman-media/lead-engine/tree/main/packages/kb)\n\n**LLM-powered sales funnel engine for conversational bots.** Persona composition, funnel stage routing, A/B testing with ELO ratings, self-play evaluation, and a coach LLM that iterates on failing styles.\n\nBuilt from the production sales layer of the Lead Engine platform — battle-tested in production qualifying inbound candidates for foreign work contracts.\n\n---\n\n## What's inside\n\n| Module | What it does |\n|--------|-------------|\n| **Types** | `Style`, `FunnelStage`, `Hook`, `StageConfig` — full Zod schema for a sales persona |\n| **Prompt** | `composeSystemPrompt` — builds multi-section system prompts: persona, tone, framework (AIDA/PAS/SPIN/NEPQ/Belfort), hooks, skills, stage guidance, KB context |\n| **Stage router** | `nextStage` — sub-ms Unicode-aware regex router for Cyrillic + English |\n| **Stage classifier** | `classifyStage` — LLM classifier with regex fallback, `{stage, confidence, source}` |\n| **ELO** | `eloUpdate` / `eloUpdatePair` — standard ELO math, K=32, symmetric pairwise |\n| **A/B router** | `pickVariant` — SHA-256 deterministic assignment, same user always gets same variant |\n| **Skills** | 25 persuasion techniques (Cialdini × 7, Voss × 5, NLP × 3, classical sales × 5, custom × 5) |\n| **Built-in styles** | 4 production-tested personas: marina-prime, cold-direct-pas, empathetic-nepq, flirty-belfort |\n| **Self-play** | `runSelfPlayMatch` — full RAG pipeline vs LLM-driven candidate; per-turn skill grading; reflect guard |\n| **Pairwise** | `runPairwiseMatch` — A vs B against same persona; comparative judge; symmetric ELO update |\n| **Quality export** | `exportSelfPlayMatchJsonl` / `exportPairwiseMatchJsonl` — stable JSONL records for eval dashboards and CI artifacts |\n| **Coach** | `proposeStyleEdits` — reads losing transcripts, proposes concrete JSON edits to tone/hooks/guidance/few-shot |\n| **Shadow eval** | `runShadowEval` — Wilson 95% LB on B's win rate → keep / rollback / inconclusive |\n| **Skill recommender** | `rankSkillRecommendations` — Wilson LB ranking; draws count as 0.5 wins |\n\n---\n\n## Install\n\n```bash\nbun add @chatman-media/sales     # Bun\nnpm install @chatman-media/sales # npm / pnpm / yarn\n```\n\nPeer dependency: [`@chatman-media/rag`](https://github.com/chatman-media/lead-engine/tree/main/packages/kb) for `ChatClient`, `EmbeddingClient`, `IKbStore`, and `answerWithRag`.\n\n---\n\n## Quick start — compose a prompt\n\n```typescript\nimport { composeSystemPrompt, getStyleOrThrow } from \"@chatman-media/sales\";\n\nconst style = getStyleOrThrow(\"marina-prime-v1\");\n\nconst prompt = composeSystemPrompt(style, \"qualify\", kbContext, {\n  userFacts: { city: \"Москва\", age: \"24\" },\n  skills: attachedSkills,\n});\n```\n\n## Stage routing\n\n```typescript\nimport { nextStage, classifyStage } from \"@chatman-media/sales\";\n\n// Fast regex (zero cost):\nconst stage = nextStage({ turnNumber: 3, currentStage: \"qualify\", lastUserMessage: msg });\n\n// LLM with regex fallback:\nconst result = await classifyStage({ chat, userMessage: msg, currentStage: stage, turnNumber: 3 });\nconsole.log(result.stage, result.confidence, result.source); // \"pitch\" 0.87 \"llm\"\n```\n\n## A/B testing with ELO\n\n```typescript\nimport { pickVariant, eloUpdate } from \"@chatman-media/sales\";\n\n// Deterministic assignment — same user always gets same style:\nconst styleSlug = pickVariant(\n  { slug: \"summer-2025\", variants: [\n    { styleSlug: \"marina-prime-v1\", weight: 50 },\n    { styleSlug: \"empathetic-nepq-v1\", weight: 50 },\n  ]},\n  userId,\n);\n\n// Update ELO after a match:\nconst newRating = eloUpdate(currentRating, \"won\"); // K=32, baseline=1500\n```\n\n## Self-play evaluation\n\n```typescript\nimport { runSelfPlayMatch, CANDIDATE_PERSONAS } from \"@chatman-media/sales\";\n\nconst result = await runSelfPlayMatch(deps, {\n  style: myStyle,\n  styleId: 42,\n  persona: CANDIDATE_PERSONAS.find(p => p.slug === \"skeptic-anya\")!,\n  maxTurns: 20,\n});\n\nconsole.log(result.outcome);          // \"won\" | \"lost\" | \"draw\"\nconsole.log(result.transcript);       // full back-and-forth\nconsole.log(result.skillsAttributed); // which skills the bot actually used\nconsole.log(result.fabricationsCaught); // reflect guard catches\n```\n\n## Quality-lab JSONL export\n\n```typescript\nimport {\n  exportSelfPlayMatchJsonl,\n  exportSelfPlayMatchesFromRepoJsonl,\n} from \"@chatman-media/sales\";\n\nconst oneLine = exportSelfPlayMatchJsonl(result, {\n  source: \"nightly-self-play\",\n});\n\nconst recent = await exportSelfPlayMatchesFromRepoJsonl(matchesRepo, {\n  styleSlug: \"marina-prime-v1\",\n  limit: 50,\n});\n```\n\n## Coach LLM\n\n```typescript\nimport { proposeStyleEdits, applyEditsToStyle } from \"@chatman-media/sales\";\n\nconst proposal = await proposeStyleEdits({ style, matchesRepo, chat });\nconsole.log(proposal.summary);   // \"Bot too formal with price-sensitive personas\"\nconsole.log(proposal.edits);     // { voice_tone: \"...\", hooks_add: [...] }\nconsole.log(proposal.rationale); // per-edit explanation\n\n// Pure merge — returns new Style, nothing persisted:\nconst improved = applyEditsToStyle(style, proposal.edits);\n```\n\n## Storage interfaces\n\nAll DB-heavy modules accept injected interfaces — no ORM dependency:\n\n```typescript\nimport type { ISelfPlayMatchesRepo, ISkillsRepo, IStyleRatingsRepo } from \"@chatman-media/sales\";\n\n// Implement for your DB (Postgres, SQLite, in-memory):\nclass MyMatchesRepo implements ISelfPlayMatchesRepo {\n  async insert(match) { /* ... */ }\n  async byId(id) { /* ... */ }\n  async list(opts) { /* ... */ }\n}\n```\n\n---\n\n## Built-in styles\n\n| Slug | Persona | Framework | Voice |\n|------|---------|-----------|-------|\n| `marina-prime-v1` | Марина, PrimeConnect | NEPQ | Human recruiter, Telegram-native, warm |\n| `cold-direct-pas-v1` | Менеджер | PAS | Direct, no fluff, fast pitch |\n| `empathetic-nepq-v1` | Наталья | NEPQ | Warm, anxiety-aware, unhurried |\n| `flirty-belfort-v1` | Виктория | Straight Line | Assertive, playful, confident |\n\n## Persuasion skills\n\n25 atomic techniques from Cialdini, Voss, NLP, and classical sales — each with a `promptFragment` injected into the system prompt and an `applicableStages` filter:\n\n```typescript\nimport { SKILL_CATALOGUE, SKILL_BY_SLUG } from \"@chatman-media/sales\";\n\nconst mirroring = SKILL_BY_SLUG.get(\"mirroring\");\n// { slug: \"mirroring\", family: \"voss\", promptFragment: \"...\", applicableStages: [\"qualify\", \"objection\"] }\n```\n\n---\n\n## Architecture\n\n```\n@chatman-media/sales\n├── types.ts          Style / FunnelStage / Hook schemas (zod)\n├── prompt.ts         System prompt composition\n├── stage-router.ts   Regex funnel stage router\n├── stage-classifier.ts  LLM stage classifier\n├── elo.ts            ELO rating engine\n├── ab-router.ts      Deterministic A/B picker\n├── skills/\n│   └── catalogue.ts  25 persuasion techniques\n├── styles/\n│   └── *.ts          4 built-in personas\n├── self-play/\n│   ├── personas.ts   8 candidate archetypes\n│   ├── judge.ts      LLM match judge\n│   ├── orchestrator.ts  Full match loop\n│   ├── pairwise.ts   Head-to-head comparison\n│   └── export.ts     JSONL quality-lab export\n├── coach.ts          Style iteration from losses\n├── shadow-eval.ts    Wilson-LB A/B shadow runner\n├── skill-recommendations.ts  Wilson LB skill ranker\n└── store.ts          Storage interfaces (IKbStore, ISelfPlayMatchesRepo, …)\n```\n\nDepends on [`@chatman-media/rag`](https://github.com/chatman-media/lead-engine/tree/main/packages/kb) for `ChatClient`, `EmbeddingClient`, `IKbStore`, `answerWithRag`, and `gradeSkills`.\n\n---\n\n## License\n\n[MIT](LICENSE) — Alexander Kireev / [chatman-media](https://github.com/chatman-media)\n","readmeFilename":"README.md"}