{"_id":"@ar-agents/tienda-nube","_rev":"6-d84f50d5b0824aa38bed730e1bcde091","name":"@ar-agents/tienda-nube","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@ar-agents/tienda-nube","version":"0.1.0","keywords":["tienda-nube","tiendanube","nuvemshop","e-commerce","ar-agents","argentina","ai-sdk","vercel-ai","agent","shopify-alternative"],"author":{"name":"Nazareno Clemente","email":"naza@naza.ar"},"license":"MIT","_id":"@ar-agents/tienda-nube@0.1.0","maintainers":[{"name":"naza-ar","email":"clementenaza@gmail.com"}],"homepage":"https://github.com/ar-agents/ar-agents/tree/main/packages/tienda-nube","bugs":{"url":"https://github.com/ar-agents/ar-agents/issues"},"dist":{"shasum":"db88268d4baa5a6945cbc77830cd0581873ad93d","tarball":"https://registry.npmjs.org/@ar-agents/tienda-nube/-/tienda-nube-0.1.0.tgz","fileCount":12,"integrity":"sha512-VwBgItako1cmngCPEgUN/uAhjeRwxmiNutqM8BFNrZ5KRdFWb55YXKHIS3IDsHjEUjaLJmL38nLYagb8HyqIdg==","signatures":[{"sig":"MEQCIGnqvuYrQPV9L8bFyUKVCLyS1QVEWG3ppGXYvYgnpBdGAiAbgZBxWsooW/MPeCgDXxwc2Qe7WZvfbniawet5GDYUaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ar-agents%2ftienda-nube@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177330},"main":"./dist/index.cjs","type":"module","_from":"file:ar-agents-tienda-nube-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./tools.manifest.json":"./tools.manifest.json"},"funding":{"url":"https://github.com/sponsors/naza00000","type":"github"},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","validate":"publint && attw --pack .","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"naza-ar","email":"clementenaza@gmail.com"},"_resolved":"/tmp/c869506da426686c26595db39a7c2d1a/ar-agents-tienda-nube-0.1.0.tgz","_integrity":"sha512-VwBgItako1cmngCPEgUN/uAhjeRwxmiNutqM8BFNrZ5KRdFWb55YXKHIS3IDsHjEUjaLJmL38nLYagb8HyqIdg==","repository":{"url":"git+https://github.com/ar-agents/ar-agents.git","type":"git","directory":"packages/tienda-nube"},"_npmVersion":"10.8.2","description":"Tienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants). Adapter pattern: typed read tools out of th","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.175","zod":"^4.4.3","tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.9.3","@types/node":"^20.19.39"},"peerDependencies":{"ai":">=6.0.0","zod":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tienda-nube_0.1.0_1779713011759_0.18801008054050006","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ar-agents/tienda-nube","version":"0.2.0","keywords":["tienda-nube","tiendanube","nuvemshop","e-commerce","ar-agents","argentina","ai-sdk","vercel-ai","agent","shopify-alternative"],"author":{"name":"Nazareno Clemente","email":"naza@naza.ar"},"license":"MIT","_id":"@ar-agents/tienda-nube@0.2.0","maintainers":[{"name":"naza-ar","email":"clementenaza@gmail.com"}],"homepage":"https://github.com/ar-agents/ar-agents/tree/main/packages/tienda-nube","bugs":{"url":"https://github.com/ar-agents/ar-agents/issues"},"dist":{"shasum":"a92c97aac587eba161abac64cb266edf1c9fbcd2","tarball":"https://registry.npmjs.org/@ar-agents/tienda-nube/-/tienda-nube-0.2.0.tgz","fileCount":12,"integrity":"sha512-POp48j39Sr1Os8J/c4RWrxoJN7CIaO++VHEV3KskC2YpradMllrwAJdw4qj7iG6XYIeYv1U3S5lNQq4arMuZAQ==","signatures":[{"sig":"MEYCIQDSWN4xEeDZrWfnMbfp/2m5hxvlhFz2mGf5sUaOtY+1XQIhAJL+F6mY6Swvj/hcDVD30aG1v5b/dLD6ATb2rQn0Uo7x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ar-agents%2ftienda-nube@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177349},"main":"./dist/index.cjs","type":"module","_from":"file:ar-agents-tienda-nube-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./tools.manifest.json":"./tools.manifest.json"},"funding":{"url":"https://github.com/sponsors/naza00000","type":"github"},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","validate":"publint && attw --pack .","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"naza-ar","email":"clementenaza@gmail.com"},"_resolved":"/tmp/7bcde54b255be889a68d290373db0a4b/ar-agents-tienda-nube-0.2.0.tgz","_integrity":"sha512-POp48j39Sr1Os8J/c4RWrxoJN7CIaO++VHEV3KskC2YpradMllrwAJdw4qj7iG6XYIeYv1U3S5lNQq4arMuZAQ==","repository":{"url":"git+https://github.com/ar-agents/ar-agents.git","type":"git","directory":"packages/tienda-nube"},"_npmVersion":"10.8.2","description":"Tienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants). Adapter pattern: typed read tools out of th","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@ar-agents/core":"^0.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.175","zod":"^4.4.3","tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.9.3","@types/node":"^20.19.39"},"peerDependencies":{"ai":">=6.0.0","zod":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tienda-nube_0.2.0_1779715299118_0.9158336272221264","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ar-agents/tienda-nube","version":"0.2.1","keywords":["tienda-nube","tiendanube","nuvemshop","e-commerce","ar-agents","argentina","ai-sdk","vercel-ai","agent","shopify-alternative"],"author":{"name":"Nazareno Clemente","email":"naza@naza.ar"},"license":"MIT","_id":"@ar-agents/tienda-nube@0.2.1","maintainers":[{"name":"naza-ar","email":"clementenaza@gmail.com"}],"homepage":"https://github.com/ar-agents/ar-agents/tree/main/packages/tienda-nube","bugs":{"url":"https://github.com/ar-agents/ar-agents/issues"},"dist":{"shasum":"84418661c2113a97d4fc6cd94acb3541f4406367","tarball":"https://registry.npmjs.org/@ar-agents/tienda-nube/-/tienda-nube-0.2.1.tgz","fileCount":12,"integrity":"sha512-ZmuUZPhMBhQ7bU4UABwzN1U6CXlq7W9MjVnhPTpgxi/FYNrM5O50Kvitao68gph1yUNNfjHkQoeTkFQsA4eCcg==","signatures":[{"sig":"MEUCIE3KTboFf+OIkbEGX4pwNOOM3VWJlqehZARC/1GA6Ac/AiEA0svslPUfBIzHGWk37gma6zdSwuDe303y67q5xqtIyXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ar-agents%2ftienda-nube@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179117},"main":"./dist/index.cjs","type":"module","_from":"file:ar-agents-tienda-nube-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./tools.manifest.json":"./tools.manifest.json"},"funding":{"url":"https://github.com/sponsors/naza00000","type":"github"},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","validate":"publint && attw --pack .","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"naza-ar","email":"clementenaza@gmail.com"},"_resolved":"/tmp/5e6f1bfa2bebdb2c3c89cc43d5f616ad/ar-agents-tienda-nube-0.2.1.tgz","_integrity":"sha512-ZmuUZPhMBhQ7bU4UABwzN1U6CXlq7W9MjVnhPTpgxi/FYNrM5O50Kvitao68gph1yUNNfjHkQoeTkFQsA4eCcg==","repository":{"url":"git+https://github.com/ar-agents/ar-agents.git","type":"git","directory":"packages/tienda-nube"},"_npmVersion":"10.8.2","description":"Tienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants). Adapter pattern: typed read tools out of th","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@ar-agents/core":"^0.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.175","zod":"^4.4.3","tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.9.3","@types/node":"^20.19.39"},"peerDependencies":{"ai":">=6.0.0","zod":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tienda-nube_0.2.1_1781280177037_0.6638381488658411","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@ar-agents/tienda-nube","version":"0.2.2","keywords":["tienda-nube","tiendanube","nuvemshop","e-commerce","ar-agents","argentina","ai-sdk","vercel-ai","agent","shopify-alternative"],"author":{"name":"Nazareno Clemente","email":"naza@naza.ar"},"license":"MIT","_id":"@ar-agents/tienda-nube@0.2.2","maintainers":[{"name":"naza-ar","email":"clementenaza@gmail.com"}],"homepage":"https://github.com/ar-agents/ar-agents/tree/main/packages/tienda-nube","bugs":{"url":"https://github.com/ar-agents/ar-agents/issues"},"dist":{"shasum":"f1d365d7ea66be744d345d8d625de4c413c0ec1c","tarball":"https://registry.npmjs.org/@ar-agents/tienda-nube/-/tienda-nube-0.2.2.tgz","fileCount":12,"integrity":"sha512-VzmQtd6mx1q9hQexVW0D+RTJRSaekHRTnFwS9EgrodeUQbn0aRWxKPrBr38ksyxmX3hnYvsa+z/5lf5FJdJU1g==","signatures":[{"sig":"MEQCIGCq7ndPloNOkQMpKuXtfo3tilFhaYMJUHHltFQAD+VqAiAnRjq5IxnU8w5iUBYAoJEmMvc8bCWndzBH3sa3exqkYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ar-agents%2ftienda-nube@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177229},"main":"./dist/index.cjs","type":"module","_from":"file:ar-agents-tienda-nube-0.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./tools.manifest.json":"./tools.manifest.json"},"funding":{"url":"https://github.com/sponsors/naza00000","type":"github"},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","validate":"publint && attw --pack .","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"naza-ar","email":"clementenaza@gmail.com"},"_resolved":"/tmp/41f24949d838044f08f6cc5fdb99810a/ar-agents-tienda-nube-0.2.2.tgz","_integrity":"sha512-VzmQtd6mx1q9hQexVW0D+RTJRSaekHRTnFwS9EgrodeUQbn0aRWxKPrBr38ksyxmX3hnYvsa+z/5lf5FJdJU1g==","repository":{"url":"git+https://github.com/ar-agents/ar-agents.git","type":"git","directory":"packages/tienda-nube"},"_npmVersion":"10.9.8","description":"Tienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants). Adapter pattern: typed read tools out of th","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@ar-agents/core":"^0.3.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.0","zod":"^4.4.3","tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.9.3","@types/node":"^20.19.39"},"peerDependencies":{"ai":">=6.0.0","zod":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tienda-nube_0.2.2_1782899922565_0.9786279098933939","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@ar-agents/tienda-nube","version":"0.2.3","keywords":["tienda-nube","tiendanube","nuvemshop","e-commerce","ar-agents","argentina","ai-sdk","vercel-ai","agent","shopify-alternative"],"author":{"name":"Nazareno Clemente","email":"naza@naza.ar"},"license":"MIT","_id":"@ar-agents/tienda-nube@0.2.3","maintainers":[{"name":"naza-ar","email":"clementenaza@gmail.com"}],"homepage":"https://github.com/ar-agents/ar-agents/tree/main/packages/tienda-nube","bugs":{"url":"https://github.com/ar-agents/ar-agents/issues"},"dist":{"shasum":"7dd251d9b18a62766eba24d920a92f8cdbd7c2cb","tarball":"https://registry.npmjs.org/@ar-agents/tienda-nube/-/tienda-nube-0.2.3.tgz","fileCount":12,"integrity":"sha512-UXImc2bmuife6JmuxRu8m2w6uJsOm2lzXI5kf/rC9ZS0SAD6BYIZpjAe4lG5r/K/PlfGhHiAgABZqdfV+U19eA==","signatures":[{"sig":"MEUCIGKdPd484uNbP7y3RQJTYYI3nM9Np0aAHu1lQrtsaCu2AiEA2i8kZc3aXmEASO5TSuze67C2G86cOQxrTWF0c5XGL98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ar-agents%2ftienda-nube@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177411},"main":"./dist/index.cjs","type":"module","_from":"file:ar-agents-tienda-nube-0.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./tools.manifest.json":"./tools.manifest.json"},"funding":{"url":"https://github.com/sponsors/naza00000","type":"github"},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","validate":"publint && attw --pack .","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"naza-ar","email":"clementenaza@gmail.com"},"_resolved":"/tmp/335cc444860a41aee9cfcdb6d8e5b424/ar-agents-tienda-nube-0.2.3.tgz","_integrity":"sha512-UXImc2bmuife6JmuxRu8m2w6uJsOm2lzXI5kf/rC9ZS0SAD6BYIZpjAe4lG5r/K/PlfGhHiAgABZqdfV+U19eA==","repository":{"url":"git+https://github.com/ar-agents/ar-agents.git","type":"git","directory":"packages/tienda-nube"},"_npmVersion":"10.9.8","description":"Tienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants). Adapter pattern: typed read tools out of th","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ar-agents/core":"^0.4.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.0","zod":"^4.4.3","tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.9.3","@types/node":"^20.19.39"},"peerDependencies":{"ai":">=6.0.0","zod":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tienda-nube_0.2.3_1783077272075_0.7222398061727753","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ar-agents/tienda-nube","version":"0.3.0","description":"Tienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants). Adapter pattern: typed read tools out of th","keywords":["tienda-nube","tiendanube","nuvemshop","e-commerce","ar-agents","argentina","ai-sdk","vercel-ai","agent","shopify-alternative"],"license":"MIT","author":{"name":"Nazareno Clemente","email":"naza@naza.ar"},"funding":{"type":"github","url":"https://github.com/sponsors/naza00000"},"homepage":"https://github.com/ar-agents/ar-agents/tree/main/packages/tienda-nube","repository":{"type":"git","url":"git+https://github.com/ar-agents/ar-agents.git","directory":"packages/tienda-nube"},"bugs":{"url":"https://github.com/ar-agents/ar-agents/issues"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./tools.manifest.json":"./tools.manifest.json"},"peerDependencies":{"ai":">=6.0.0","zod":">=3.0.0"},"devDependencies":{"@types/node":"^20.19.39","ai":"^7.0.0","tsup":"^8.3.5","typescript":"^5.9.3","vitest":"^2.1.8","zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"engines":{"node":">=20.0.0"},"dependencies":{"@ar-agents/core":"^0.4.1"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit","validate":"publint && attw --pack .","clean":"rm -rf dist"},"_id":"@ar-agents/tienda-nube@0.3.0","_integrity":"sha512-wuIBUyTTOc1TC8xLLLVT8SPzWOM92h/rAiPuGYk+IXaxUjM9dfZDpKLF1CrgQqzmGhXIHdufhh46qgGE6Z1QEQ==","_resolved":"/tmp/d9147518dfb0e9a8a8f4822215a807d5/ar-agents-tienda-nube-0.3.0.tgz","_from":"file:ar-agents-tienda-nube-0.3.0.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-wuIBUyTTOc1TC8xLLLVT8SPzWOM92h/rAiPuGYk+IXaxUjM9dfZDpKLF1CrgQqzmGhXIHdufhh46qgGE6Z1QEQ==","shasum":"aab4e8f1538f1d9f706cba406c134799e050a491","tarball":"https://registry.npmjs.org/@ar-agents/tienda-nube/-/tienda-nube-0.3.0.tgz","fileCount":12,"unpackedSize":212810,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ar-agents%2ftienda-nube@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE8ICWKocwzZa+/X2e7sOxIZf8Sry29oAA6Gi4D4y07UAiEAugtQh3+4z//W+Ak+vtqlOsU365RJ1i3dg3lu7/yDx6w="}]},"_npmUser":{"name":"naza-ar","email":"clementenaza@gmail.com"},"directories":{},"maintainers":[{"name":"naza-ar","email":"clementenaza@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tienda-nube_0.3.0_1783086479478_0.46435921164737803"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-25T12:43:31.605Z","modified":"2026-07-03T13:47:59.919Z","0.1.0":"2026-05-25T12:43:31.918Z","0.2.0":"2026-05-25T13:21:39.273Z","0.2.1":"2026-06-12T16:02:57.184Z","0.2.2":"2026-07-01T09:58:42.673Z","0.2.3":"2026-07-03T11:14:32.208Z","0.3.0":"2026-07-03T13:47:59.625Z"},"bugs":{"url":"https://github.com/ar-agents/ar-agents/issues"},"author":{"name":"Nazareno Clemente","email":"naza@naza.ar"},"license":"MIT","homepage":"https://github.com/ar-agents/ar-agents/tree/main/packages/tienda-nube","keywords":["tienda-nube","tiendanube","nuvemshop","e-commerce","ar-agents","argentina","ai-sdk","vercel-ai","agent","shopify-alternative"],"repository":{"type":"git","url":"git+https://github.com/ar-agents/ar-agents.git","directory":"packages/tienda-nube"},"description":"Tienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants). Adapter pattern: typed read tools out of th","maintainers":[{"name":"naza-ar","email":"clementenaza@gmail.com"}],"readme":"# @ar-agents/tienda-nube\n\nTienda Nube / Nuvemshop agent toolkit for the Vercel AI SDK 6+. Typed tools for products, orders, customers, fulfillment + webhook subscriptions + OAuth. The #2 e-commerce platform in Argentina (100k+ merchants).\n\n```sh\npnpm add @ar-agents/tienda-nube\n```\n\n## What's inside\n\n- **`HttpTiendaNubeAdapter`** — real REST adapter against `https://api.tiendanube.com/v1/{storeId}`. Sets the required UA (`{appName} ({contactEmail})`) and `Authentication: bearer {token}` headers (note: Tienda Nube uses `Authentication`, not `Authorization`). Maps 401/403 → `TiendaNubeAuthError`, 5xx/429 → retryable `TiendaNubeApiError`.\n- **`InMemoryTiendaNubeAdapter`** — deterministic seeded adapter for tests + cockpit demos. Realistic substring search, status + payment-status filters, paginated `hasMore`.\n- **`UnconfiguredTiendaNubeAdapter`** — explicit `throws on every call` default.\n- **OAuth helpers** — `buildAuthorizeUrl({ appId, state })` + `exchangeCodeForToken({ appId, clientSecret, code })`. Tienda Nube tokens don't expire; uninstall invalidates them (subscribe to `app/uninstalled`).\n- **10 Vercel AI SDK tools** — store, list/get products, list/get orders, list/get customers, webhook CRUD.\n\n## Quick start\n\n```ts\nimport {\n  HttpTiendaNubeAdapter,\n  tiendaNubeTools,\n  exchangeCodeForToken,\n} from \"@ar-agents/tienda-nube\";\n\n// 1) After OAuth callback:\nconst token = await exchangeCodeForToken({\n  appId: process.env.TN_APP_ID!,\n  clientSecret: process.env.TN_CLIENT_SECRET!,\n  code: req.query.code as string,\n});\n// Persist `token.accessToken` + `token.storeId`.\n\n// 2) Build the adapter:\nconst tn = new HttpTiendaNubeAdapter({\n  storeId: token.storeId,\n  accessToken: token.accessToken,\n  appName: \"Vultur\",\n  contactEmail: \"naza@helloastro.co\",\n});\n\n// 3) Use directly OR wire as agent tools:\nconst orders = await tn.listOrders({\n  paymentStatus: \"paid\",\n  sinceIso: \"2026-01-01\",\n  perPage: 50,\n});\n\nimport { Experimental_Agent as Agent } from \"ai\";\nimport { anthropic } from \"@ai-sdk/anthropic\";\n\nconst agent = new Agent({\n  model: anthropic(\"claude-sonnet-4-7\"),\n  tools: tiendaNubeTools({ adapter: tn }),\n  system: \"Sos un agente que reconcilia órdenes de Tienda Nube contra MercadoPago.\",\n});\n```\n\n## OAuth flow\n\n```ts\nimport { buildAuthorizeUrl, exchangeCodeForToken } from \"@ar-agents/tienda-nube\";\n\n// Step 1: redirect the merchant\nconst url = buildAuthorizeUrl({\n  appId: process.env.TN_APP_ID!,\n  state: crypto.randomUUID(), // store + verify on callback\n});\nres.redirect(url);\n\n// Step 2: callback handler\nconst token = await exchangeCodeForToken({\n  appId: process.env.TN_APP_ID!,\n  clientSecret: process.env.TN_CLIENT_SECRET!,\n  code: req.query.code as string,\n});\n// token = { accessToken, storeId, scope, receivedAt }\n```\n\n## Errors\n\n```ts\nimport {\n  TiendaNubeError,\n  TiendaNubeAuthError,\n  TiendaNubeApiError,\n  TiendaNubeValidationError,\n  TiendaNubeUnconfiguredError,\n} from \"@ar-agents/tienda-nube\";\n```\n\nEvery error carries `code`, `retryable`, and `context`. The 5xx and 429 paths are flagged `retryable: true` so a retry middleware can pick them up.\n\n## Constraints\n\n- **Prices are decimal strings**, not numbers. Tienda Nube returns `\"100.00\"` to avoid float rounding. Convert with `Number(...)` only at display time.\n- **Localized fields** (`name`, `description`, `handle`) are `{ es: string; pt?: string; en?: string }`. Pull whichever locale matches the store's `main_language`.\n- **Pagination is page-based** (`page` + `perPage`), capped at 200 items/page. The Link `rel=\"next\"` header drives `hasMore`.\n- **Webhook URLs must be https://**. The adapter rejects http:// at the local validation step.\n\n## Testing\n\n```ts\nimport { InMemoryTiendaNubeAdapter, tiendaNubeTools } from \"@ar-agents/tienda-nube\";\n\nconst adapter = new InMemoryTiendaNubeAdapter({\n  orders: [\n    {\n      id: 1, number: 1, token: \"t\",\n      status: \"open\", payment_status: \"paid\", shipping_status: \"unfulfilled\",\n      subtotal: \"100.00\", total: \"100.00\", currency: \"ARS\",\n      contact_email: \"demo@example.com\", products: [],\n      created_at: \"2026-01-15T00:00:00.000Z\",\n      updated_at: \"2026-01-15T00:00:00.000Z\",\n    },\n  ],\n});\n\nconst tools = tiendaNubeTools({ adapter });\n// Integration-test your agent against realistic-but-deterministic Tienda Nube semantics.\n```\n\n## License\n\nMIT — Nazareno Clemente <naza@naza.ar>\n","readmeFilename":"README.md"}