{"_id":"investec-ipb","_rev":"36-b9dc6e9483d30b2235d961714e402b30","name":"investec-ipb","dist-tags":{"next":"0.8.1-rc.3","latest":"0.10.1"},"versions":{"0.1.0":{"name":"investec-ipb","version":"0.1.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.1.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"290fed220c500c22e9ce1ea0cb0fd1765e7abaaa","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.1.0.tgz","fileCount":59,"integrity":"sha512-AjX1lp9jGxsBZL4rD06BuBp5UIG8ba2HENBrxnyM8ZDdXLRM1x7QvFSJ0Y3s8kQBLfv1Fn2jCkl7jt4XWEujSw==","signatures":[{"sig":"MEUCIQDHnWgWyYjjJJXCH1PqPOBUcLVU6rCgPP9Nr3LnSdD5jAIgCISzQi0Q7ypJ3SuPq2INhTxga1CUimV5jmRT7TJ+++c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62848},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"fc456e8986612decd1e5d1dced08b7544c8be4f9","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"An emulator for the Programmable Card Code Lamda function","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","yargs":"^17.7.2","dotenv":"^16.3.1","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@types/yargs":"^17.0.33","@arethetypeswrong/cli":"^0.17.2"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.1.0_1738172776751_0.8357693590912052","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"investec-ipb","version":"0.2.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.2.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"128a611ad81346e87a651f010d791927cd2b6cf8","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.2.0.tgz","fileCount":63,"integrity":"sha512-Nsf1SHnBZ+AR4NUrLRAyLzVBKHokH15L9jKH+QAqjcJixUUu4Z2NQymNpGyqpkV79cGQGJAC9KTj1dxho2JFeA==","signatures":[{"sig":"MEQCH3AAmSeh0nNA8qT82DTEB8Xn5Em4dMECA0jJ/a577oACIQDIAPGxlV+8lN3sR2jmJRoNvKqhKqIU8vuvJ7KKvBRCAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71978},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"fc456e8986612decd1e5d1dced08b7544c8be4f9","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"An emulator for the Programmable Card Code Lamda function","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","yargs":"^17.7.2","dotenv":"^16.3.1","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@types/yargs":"^17.0.33","@arethetypeswrong/cli":"^0.17.2"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.2.0_1738185267489_0.9794699126671949","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"investec-ipb","version":"0.3.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.3.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"51a3b3be1c5f1108063dcdb7e9e3019c653e44af","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.3.0.tgz","fileCount":63,"integrity":"sha512-WiB0VwmU95hZZfwj9QCcXMgp9WiLS0vuRAQhAG5g3HMy5tKP5xx8boG13dGTrBAKUvfCkJe72P0LqX8MspqGVg==","signatures":[{"sig":"MEUCIQDCebZSJtmZLMT/XspPVtapmNg8ikr/76dm1nxaNbkfMQIgGIw7ZPkyeiTPqP0n3u6dFlDjEHdB4MFw5kKTEgFHfD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73104},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"384b52d7c056b77b284a92673d60d937046114e3","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"An emulator for the Programmable Card Code Lamda function","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","yargs":"^17.7.2","dotenv":"^16.3.1","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@types/yargs":"^17.0.33","@arethetypeswrong/cli":"^0.17.2"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.3.0_1738248442784_0.924105040209549","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"investec-ipb","version":"0.4.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.4.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"42e27fd4c33308f9946cc1f3504f306c76fd25d5","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.4.0.tgz","fileCount":67,"integrity":"sha512-fl6S+foMZQVA7hrE5Baz42FKqvlJlvLkazHPWP3h9zG2ar/x9fbLJqorrqudcAscy4QoQI4yEpBTSNY98uC8HQ==","signatures":[{"sig":"MEUCIGgo3dk6SwqI8mUzt6245GNqEOmsehm55Yf1JUqXCC3TAiEAx/WpPiu3HhI5KJFK2ETNDds5D3kSt8MsHAD33joWI80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76489},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"3bf4aef38d43d8cd9b3bf4616b358afd25906418","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"An emulator for the Programmable Card Code Lamda function","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","yargs":"^17.7.2","dotenv":"^16.3.1","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@types/yargs":"^17.0.33","@arethetypeswrong/cli":"^0.17.2"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.4.0_1738250011439_0.25769371235466454","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"investec-ipb","version":"0.5.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.5.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"49273e72f4f3a45a954e1d5aff011a0141fa191f","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.5.0.tgz","fileCount":71,"integrity":"sha512-3rTEOldnChGky7goO4veTaBLwwUCQPn5jBiPQjJjdaA4i/pl1N+ncFaUr5VCpeHVfRbh8alVbEJAvu2NTAND8g==","signatures":[{"sig":"MEQCIC3HyEmwZFjzo2q2ZY6FiyPcGWHqlA02+dAcdZJOWsE8AiAgIMum7cHm8ZspjbJXvLCWAiug3SA8xJ165qCmK6UQRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76984},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"3c6506606caf1f8cbcdacd618c8339b3396f0ca4","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"An emulator for the Programmable Card Code Lamda function","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.5.0_1740382667386_0.5800056485918472","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"investec-ipb","version":"0.5.1","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.5.1","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"770e24f820e23b377c7927039a42af7fd8b08714","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.5.1.tgz","fileCount":71,"integrity":"sha512-NYXraoS2aONXLj4+y74oWjzJjwOwvVDBPcSZPuKFg4aWd7Iw4HzG+2LE8hoLAw4DHLfW4enYE0lpFVvx9FfVZw==","signatures":[{"sig":"MEYCIQC8dQdOibGE4dbBiqz5Al5moS9V2AzzDObBGf0sjZKATgIhANcMXJ4o2r1t8OdhlJL55SAZ8Mhmx9lRr0477gtUw2Qf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77310},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"5bab0b7ab86fc462e580139f0a2351d2d188e088","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"An emulator for the Programmable Card Code Lamda function","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.5.1_1740388603492_0.9553641591615063","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"investec-ipb","version":"0.6.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.6.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"a0b711a744145c4c6ee26614b82d2dad21bb1875","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.6.0.tgz","fileCount":71,"integrity":"sha512-ZMNh0mDU+drC88ftw+PA0r8ATYsOBssaa5B0CZ6jmBEQVzPOG9wmzAmxmxNIy5Rl6E4feKhnfsBctZvLhwIl/w==","signatures":[{"sig":"MEQCIFa41wcHPL+3NtaksrFhgvmq+ullzPHQTHjifaIQmXyKAiAFEO/lk+9jhBa/q4bQ5YYjOpYluAN9ecHrxm+AIEFPrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81053},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"25fd0fed9121a657321bd6c5d8ed2d365db1fecf","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.6.0_1740863619464_0.9704062443254418","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"investec-ipb","version":"0.6.1","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.6.1","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"2cdeeaa5f76255b98db40baee63348af7ef6875f","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.6.1.tgz","fileCount":71,"integrity":"sha512-iXOFyNq6UkmfGo4AEivgSW2IKsn6DTJgX1SKNJsyQvfn3ErV18mcJgCaaw5mrLpQ5Xgnp5d+iQ961HEelOrylw==","signatures":[{"sig":"MEUCIEu4JQBLdAQ+/ACd91JozAhQ0vwh2WV4knk8RlPe35kKAiEA93OXdBNuuN3K4bWxfTg9JyACBNfUZ4ZJea+ukkca4yE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81103},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"252c0d52d849b79c690a23d68cc48955231a3d14","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.6.1_1740865045224_0.08416234206766515","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"investec-ipb","version":"0.7.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"2146ee1549194bbbc853d37962a65151bc682e14","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.0.tgz","fileCount":83,"integrity":"sha512-KT1+mHA9t9fvsOX/wzMPjwA+CY3imsUFI/fJKMWh2xCar32CAx0I7u9+WyfMUlZuB3RUXXYWN2KMwDfziN3bfw==","signatures":[{"sig":"MEUCIFHypKFbUPJ9WPOlHQ2IGTQBtxE5Zv0yhjT/p7uF7QEJAiEAkgShA6EAT7wqW7hMqxJqZSoPb5ZZN11qFxEu51M3xDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131740},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"5cb5958f9e9a7ac4a0ae8ee019bdad1b6b72a511","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.0_1741460168587_0.8577793049054598","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"investec-ipb","version":"0.7.1","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.1","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"da48fd83d550061a88d5d40e2280003f5e2c1255","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.1.tgz","fileCount":83,"integrity":"sha512-sAZb9io3XUARiyTrgCSOSYy/FDXFc09ZcILk2HNHgSma7DDc6UR+bWYMsUn6tXjyfnUX3CukeFwhFFs9vjVQ4A==","signatures":[{"sig":"MEUCIEaPdpAN518/YmAueZizoA3YfRq7cvQlbBcyJBtUgkRJAiEAnj5bt7Wo6WiVlVwm0M7kZtkohN5eqMl3VAVzKXS4kRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132118},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"34c8cafe3a5d9971b6a9bb3ef0559cf8fd0e9369","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.1_1741469972537_0.026287348132755906","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"investec-ipb","version":"0.7.2","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.2","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"01166ec8cfa47f50fa0d021702b7c952579e45b7","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.2.tgz","fileCount":87,"integrity":"sha512-1md1dd1Ftvwq1D32qeziLNrGLeltAw2L9CdG9G8J1RZJVC/wE7i4rpQVqAC+XVaoK4/n7RmQLgbyQ965xUwVEQ==","signatures":[{"sig":"MEYCIQDqve2yjYQ+Yg3Tb8NHyPlkJ7nnuT+QiheSyGGTrVAt/QIhAP66T+PG176Td729v7I7GJ3NTRniZi9Ss7uoz9cDjnf6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118008},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"3d86267733b33e0fd5cb04b63d90f53089aea505","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","tapes":"./scripts/tapes.sh","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.2_1742236567905_0.6409206779281642","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"investec-ipb","version":"0.7.3","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.3","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"254db7f18adab711195aedf98e17d58cfa407659","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.3.tgz","fileCount":87,"integrity":"sha512-/8WaysQW7Uq8Z10fhsdIX3zM0Nn5CUJAwk2FFGDOpVZCnb1+wEyknWdi30uUU6iE8xDgYYMzE2VaKhkplMkQJA==","signatures":[{"sig":"MEUCIQC1dNf0kX4OHVT5glBxIuOvGZH8HBQiUxZTZz2IK+I9EQIgMPeKH+xnM8S8I/1UmU+fx70oDUoqw88NL6BcTO8Wj2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118008},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"3d86267733b33e0fd5cb04b63d90f53089aea505","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","tapes":"./scripts/tapes.sh","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.3_1742274107524_0.10827383329987672","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"investec-ipb","version":"0.7.4","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.4","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"87269dba041408d0c6563761cbbdbc6af624b1e4","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.4.tgz","fileCount":87,"integrity":"sha512-u5U93oXXRd0KWG3zlSG4WXoSs+sW0oLFU1WpYzSU2duuRBkR5u45QF+lKGiMzdl7771+FV3M9URByMDfAWtwbg==","signatures":[{"sig":"MEQCIDd57AzMU/8Rr7RevlzHUMpcydCfm2I4U5vOAHd6zakSAiBqzfwP/r+4XEbnfRdDuugSbnnRlIbGqCzTWcz3YqyORA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118059},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"3d86267733b33e0fd5cb04b63d90f53089aea505","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc","tapes":"./scripts/tapes.sh","format":"prettier --write .","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.4_1742275988382_0.2477257736532339","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"investec-ipb","version":"0.7.5","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.5","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"2355ab0eac68ffef998bf742fc9a1c3590f90729","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.5.tgz","fileCount":88,"integrity":"sha512-R5/V+1+qFBiU4G1VrTv3Nlz5SOIzxFhlNRk40hW9jA2jfKkYqe0H4J2a2/RId9U2v6fgBy4Phh8g1XFKriz67w==","signatures":[{"sig":"MEYCIQDRWDQiOP4i0G5u8hlPrZF5ksMmNQeyuFyx3aNlScuZugIhAP0DeReKCnjbr6S/+ds8y2g5bmzD8pyy6BnYzLu5XGDO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103115},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"344e56535588a6492fc19569df2c0ddacf01e6c5","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"tsc && npm run copy-files","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.5_1742497551234_0.03185428269309565","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"investec-ipb","version":"0.7.6","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.6","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"9de6c8cd3be0899bc4ceea963dd26a79c956fe8b","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.6.tgz","fileCount":87,"integrity":"sha512-7h/SdrgMFiskWB+tH4h3YScWDv9J3YYQ+RKpvYSbdz9YqBuZ7YtS1ZoWurNV4ZG8XfSzCuHkVfX6V7waf6SWGg==","signatures":[{"sig":"MEUCIQDYX+dG2KDoid24rNMdA2t2mcjK6hRTBMcN28rTSgMVIAIgIwZfRvwj+jXexvAEIky/k2HpH9tPO0z/Qqp7epXJqCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103541},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"5a004832cbb0f293792393893a7f21ba21111254","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.6_1742972755833_0.8086955158455327","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"investec-ipb","version":"0.7.7","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.7","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"d7a4578d3a991a532565aaa8a43d88676fe0ef2f","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.7.tgz","fileCount":87,"integrity":"sha512-doOPT0IPVi/gga4oU92SdGdWY8gb6nzvcCbF1eu9k6y9aNed0FiQ+lsO6HSOm5iJBbPId6nbPH//gm2jeHD4EQ==","signatures":[{"sig":"MEUCIA4/ZaatD57TaPSCfPJYsC8Nmf74bhK1RUbjNXg8sPicAiEAo4eJvwwZktAo0CnxF9HJuuGdpGHFh1QPFigCcq1J63E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103793},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"62a234d74d9503e9b6d29ce5df2192e475db8d21","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.7_1742973575764_0.6877989655959649","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"investec-ipb","version":"0.7.8","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.7.8","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"2a7efb90fc6907d49427bfd29bf9acffadaa23e0","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.7.8.tgz","fileCount":87,"integrity":"sha512-E5Vs507VaCOBn2bp1xGL6pHY9L5gc7kOJOU7VPSfELrXSdv7MM6XfBHnyIGHArSoAOeRqi2AaVnK0B5xmt+hnQ==","signatures":[{"sig":"MEUCIQCEAYH8FsF5jbCIt1ZfLMTld86H5bXcGfNLaJmOJlVP6gIgR+79C/jvK40E9DgcFRfzwtiS87bw/EhA21XDbalsL1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104789},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"e9b5f7aa8566f18d69fa79e03c83e7d845f15346","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"chalk":"^4.1.2","dotenv":"^16.3.1","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^2.1.8","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.7.8_1742975968068_0.20949574959441986","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-rc.0":{"name":"investec-ipb","version":"0.8.0-rc.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0-rc.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"f1c5b63cd9f4dd19bdafd636420006899386c886","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0-rc.0.tgz","fileCount":95,"integrity":"sha512-0tA7Mcd2cgd6gGBTsJKKWZf3JVc2EVzS3NDTeZwIZxPUHvv8rSfQ4BC1K2+vzz8ZR7O+T3t6XZY7/s9FIB2kcw==","signatures":[{"sig":"MEUCIQCZiKuTunrXZiEwZmRHnGBtp5x5IE891k6j4KOWZhWx+gIgLMiio1cYjThO4lj037Qf2Udq/6R437/GuXbSALuPCyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147959},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"218418f1624c2bdcfd8472e47314964b886c7ec8","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.24.3","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.87.4","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0-rc.0_1745062843530_0.8143561981252276","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-rc.1":{"name":"investec-ipb","version":"0.8.0-rc.1","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0-rc.1","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"80cd9fedd3d25a82f4aca8f86e47db6e6c7c8f90","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0-rc.1.tgz","fileCount":95,"integrity":"sha512-PayIdTA9wsY7xaqs/QNPlp6mjdzZehEGiPxvwNjnJhIBUTr7qi+SeS6ALW9YF71sNRqXefELbESGM16EJaQGlQ==","signatures":[{"sig":"MEUCIHORRolZxxe8wX5TlGeDd6tjAI4C9rnlqde81rzQYFQMAiEAmlnfIX3ZCBLkuRqzzPzm8j8WwPZkCCMWJaMvkVw5xAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148731},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"8591afa035aa99f3947f10fe2078b7db69a382b2","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.24.3","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.87.4","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0-rc.1_1745065162984_0.38428870763122136","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-rc.2":{"name":"investec-ipb","version":"0.8.0-rc.2","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0-rc.2","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"b04b0152f1cd3151039f33cf94d6fca557350d1c","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0-rc.2.tgz","fileCount":103,"integrity":"sha512-povWPw1BgA/zKC5uPQuFmVDoaIBdH84YYVHo+hLsRVvq5Q8FpQqc+puR6BsSynY24wDTOL31FprtN2kVFkXsWQ==","signatures":[{"sig":"MEUCIBDuMnLv1kAgWczS7xmp0mwB1W3nGslBdFcqCWcPJUEpAiEAuVvAaqo/EJHbGmPz/SII093gGBBpjR36ntSee4O9bwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158074},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"41718548fac991c3394652a027d9e4d88beb7eb0","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.24.3","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.87.4","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0-rc.2_1745226905869_0.10939832246191195","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-rc.3":{"name":"investec-ipb","version":"0.8.0-rc.3","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0-rc.3","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"64d8d1894898be14b9f2ddd42e25a74205cba326","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0-rc.3.tgz","fileCount":116,"integrity":"sha512-8Fd0rF82P3tOJpLsyjyD4SWHWd+68SXITtMECXYIWQBOlhAB4BR68BflJLpWK9tiHpJ36HhctGuhQXM8Zec3fw==","signatures":[{"sig":"MEYCIQDJTqEYBqiFOJZXnD2US+y4qObATYbdJsrfiGb44WpHkgIhAJCOjChm3/NGPY5Z5ZFhE2kDMiP0VFBra2KQaRTE7GD3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1336231},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"41718548fac991c3394652a027d9e4d88beb7eb0","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.24.3","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.87.4","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0-rc.3_1745299102215_0.5948547985459809","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-rc.4":{"name":"investec-ipb","version":"0.8.0-rc.4","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0-rc.4","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"66353e9a5ebe840443e28bad9e474e2ae6e89d5e","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0-rc.4.tgz","fileCount":116,"integrity":"sha512-sg12p61Y6R5IuyT/+zRElyFMhBONTAs45N9rRbaXxygdHLC0VtjTe1gtsv5shAiN8E/tjbnOAzHV9D6BOe1IQA==","signatures":[{"sig":"MEQCIEJzKETa9/M8k2ZBL+Ip0FtNVpmCxXy2HxJnzR9ToFNWAiADRQtAx95295VIaUCkh2Xvb2Ku6Iv69lFr2FCwTc43sQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338412},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"4875a0fdfa4ce7a9e0898544332c1b6c2b8f3a7f","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.24.3","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.87.4","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0-rc.4_1745485889636_0.4405844694034078","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-rc.5":{"name":"investec-ipb","version":"0.8.0-rc.5","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0-rc.5","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"954f2545b1149957d2a51e75386841288295d7d9","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0-rc.5.tgz","fileCount":116,"integrity":"sha512-N1XvKqmlmgDYQovuhzpiNffzlzVIbv8RtZJY4whqsKPa7t0vGkgNXITHklL7HlPuTH3kxEurV5acRtm1eKOifw==","signatures":[{"sig":"MEQCIEbbf4hzM5egdf2LxvExLtHM/lTLId4GZ1dWBrcjFDt2AiAsXm1/HXEeDfRd66334dbvYEkzxCp6Vopn0t3kvxVUvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338412},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"acf2599751d0f26ebd6fe8a569dfed8108fbd036","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.24.3","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.87.4","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0-rc.5_1745486994569_0.8016358126264629","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-rc.6":{"name":"investec-ipb","version":"0.8.0-rc.6","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0-rc.6","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"8d9afd162094522d401b92bdf896e7db7426af47","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0-rc.6.tgz","fileCount":117,"integrity":"sha512-rccf5GQ2Iaa4bU6x5irwYdPoKmSa11diz1iJhNvIqVw87KrMCGLbeFWOLQlUa5wvEjz5TuhC6RlpdZ7W0yh8qg==","signatures":[{"sig":"MEUCIDIUoDx47SY6IoZ7UN1nj0Vcau2H0Ic1ZG+0ZbJxrYP8AiEA8o2R1atlNpMG3F0xtYatQJmfxHpS9941QbV0NG7H1kk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1342619},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"acf2599751d0f26ebd6fe8a569dfed8108fbd036","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.24.3","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.87.4","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0-rc.6_1745497255020_0.08908618548363334","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"investec-ipb","version":"0.8.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"f28f0b917451ad65c201e15721041059ac254dfb","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.0.tgz","fileCount":117,"integrity":"sha512-CD/mKH0ENaJrRtUWB63bWszYKU+uOjJh4mmPxXWwoxiosGSWfYKc4LDowXHf+IwVTDj+cpeJ0SKGj5ew4lBjRQ==","signatures":[{"sig":"MEYCIQDmi5uYYxI1it/25gkHIpL6DDJYhWucisYyJOoxupJomwIhAI9aiws0XzCyNuO46jVjYk8ErEo6w5Lo6HPeQT8eTZbW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116238952},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"859ef49394c64b3b30b5ef96006a41e81677dd7c","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.0_1745499864297_0.40774521387743023","host":"s3://npm-registry-packages-npm-production"}},"0.8.1-rc.1":{"name":"investec-ipb","version":"0.8.1-rc.1","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.1-rc.1","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"4f9ebb222877684dfc33a3d040421664af923c7b","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.1-rc.1.tgz","fileCount":117,"integrity":"sha512-dKYUVrs0VhYE0CVvmF+1UsK82itkXvVmwkaF3nsmJNXzwUxcu8oQNwWjcuhNY2CeG1Kz6Yp4ZsQLMnLcNktndQ==","signatures":[{"sig":"MEYCIQDIbPmlRQJZlgDadESGduhkS1qf+wA8AFKEyCUGmTvMTwIhAJoQ1VJL1Rm8PzZQMQV6rCY07ZnQckk8Iuq436CYkKQJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116240368},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"b21d8dcc3c0a575dd30540958071b965290bd987","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.1-rc.1_1748335393576_0.5845274133149327","host":"s3://npm-registry-packages-npm-production"}},"0.8.1-rc.2":{"name":"investec-ipb","version":"0.8.1-rc.2","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.1-rc.2","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"66eacad58b00c1e7d8c2c081a295f2de00345a3d","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.1-rc.2.tgz","fileCount":117,"integrity":"sha512-xZjauVQhvKcSyoSi8iQjnjXBNYiF+DvciEXCnkkNqiLfpUAeJhPJ5vd1kGNTUcHGlEi/fXvPpRemBy9bvZM00Q==","signatures":[{"sig":"MEYCIQCZHy+5NhCTeg7570vz//tzsy0UcPWvQ/39IzKAvxIG2gIhANcM0Vp1soNihpp9S1vDwAhYzq08Jo0gYC2HA/Q6BggM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116240368},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"b21d8dcc3c0a575dd30540958071b965290bd987","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.1-rc.2_1748336873320_0.32586423717020874","host":"s3://npm-registry-packages-npm-production"}},"0.8.1-rc.3":{"name":"investec-ipb","version":"0.8.1-rc.3","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.1-rc.3","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"c59002aea84bbae81f5683310246e306d22cc43b","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.1-rc.3.tgz","fileCount":117,"integrity":"sha512-i8dlnatyKjBXAySQrhAYe34dyL5qlilD9SyLsesXo9xWRe9lM2piCiRJTEkgeWUo/VA9NN+PX7D84rf1U6wWBA==","signatures":[{"sig":"MEYCIQC0ZL77Hh+Rceok79hQjY4ZzYyi5RhTiv7OMrlLwcFbuQIhANlyZYoH9sxwTujUhqFsvZCSvmiTdMBYS6Pr2JFeaxg0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116240762},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"b21d8dcc3c0a575dd30540958071b965290bd987","scripts":{"ci":"npm run build && npm run check-format && npm run check-exports && npm run test","dev":"vitest","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.9.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.11.1","dependencies":{"zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.1-rc.3_1748337176232_0.5436515647585747","host":"s3://npm-registry-packages-npm-production"}},"0.8.1-rc.4":{"name":"investec-ipb","version":"0.8.1-rc.4","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.1-rc.4","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"75c8615b3c5d02d7504b07370d9d6260ec487e5f","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.1-rc.4.tgz","fileCount":161,"integrity":"sha512-1mfx6VhdjTIFxm4j0PmNqdAmQqc7eXXm2pfq92D38NhOhXcy02DU+x6HFBLcBMmGJdJm5ZJRFV69hHexMgLlxQ==","signatures":[{"sig":"MEUCIFV6lxgj1Oq2vCiBgtM5Dc9Na96N+UlJI0FCoDHg5T6lAiEA8zTHj6GJf7Jtip3eN4eWLJ5MguAltw36xiVeK/ha4vI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21967814},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"abb81ce7d9826a06951ce521dc5d188a3e274efb","scripts":{"ci":"npm run build && npm run check-format && npm run lint && npm run test && npm audit","dev":"vitest","lint":"tsc","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.8.2","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-pb-api":"^0.3.6","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.1-rc.4_1748713202249_0.533744695333497","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"investec-ipb","version":"0.8.1","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.1","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"c6732d917fd9e05b841fa0e609349264839af917","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.1.tgz","fileCount":167,"integrity":"sha512-wB1Jh4tp9dvI4NI7umHwWkI0hlcdr8VrdmAh9Z1H8ptsDQ7tcyslmAV9Guc4LE7RAlkZVuj+S+fmr7p3FkGvTg==","signatures":[{"sig":"MEUCIHAnPvRzipsC1Rh4UkpTfwW1hekqb9zKsVQUUzIe+v6dAiEAyUeKoxTd47TuUPFWOdXwj0hEA3HmAV3zB2hBIXGwmxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1579386},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"b7cb0e0861669519fe003c5a2f93d11feaad3317","scripts":{"ci":"npm run build && npm run check-format && npm run lint && npm run test && npm audit","dev":"vitest","lint":"tsc","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","email":"devin@blackhat.co.za"},"_npmVersion":"10.8.2","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-pb-api":"^0.3.6","@inquirer/prompts":"^7.5.3","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.1_1749473487782_0.1881579755338456","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"investec-ipb","version":"0.8.2","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.2","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"7c46fb54f0d1a005a5c97990e32c05131b072c6b","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.2.tgz","fileCount":167,"integrity":"sha512-7PQMHsKkPif7mtqvtprsOfV7Iz+tDB6f6cjQG/J/wwx1KO/c+EZi6XXErdTp3L7SIzOfv0qySQQ4vzR7y3Vu0w==","signatures":[{"sig":"MEUCIBmPj9Q61lLkF1Dd1Tkd+suGrOvQNSpwPdfMaxVMzmiKAiEAwvT2+lNEktOjfKcyogEP7RufVpQTQrOaNLN2vcKK1bA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1582480},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"b7cb0e0861669519fe003c5a2f93d11feaad3317","scripts":{"ci":"npm run build && npm run check-format && npm run lint && npm run test && npm audit","dev":"vitest","lint":"tsc","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","actor":{"name":"tekkzbadger","type":"user","email":"devin@blackhat.co.za"},"email":"devin@blackhat.co.za"},"_npmVersion":"10.9.2","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-pb-api":"^0.3.6","@inquirer/prompts":"^7.5.3","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.2_1750924649258_0.45813181036386275","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"investec-ipb","version":"0.8.3","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.8.3","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"bin":{"ipb":"bin/index.js"},"dist":{"shasum":"c55f603d6df06dc076c5ed58e91ec3c855cf5010","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.8.3.tgz","fileCount":167,"integrity":"sha512-+gxKv+TF6GD7CUM8G296Q13hLGDCvCpCC+cMp6klw3IgW5RI8afDCRkevkStiItmQKgRY8MVPH8f80ah1siDXQ==","signatures":[{"sig":"MEUCIQDQFutWJp05KcerYypoSY0SBLUu/hmXbXdCTCxcGzDmEgIgDe0TS4ztrpl7MJ9jg0/HXYBHt09FCX0Dcc8lKrP2qeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1583384},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","gitHead":"d67a3bb096b8c6759634bef4855a5975b3b79e52","scripts":{"ci":"npm run build && npm run check-format && npm run lint && npm run test && npm audit","dev":"vitest","lint":"tsc","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"./scripts/tapes.sh","format":"prettier --write .","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt","check-format":"prettier --check .","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"tekkzbadger","actor":{"name":"tekkzbadger","type":"user","email":"devin@blackhat.co.za"},"email":"devin@blackhat.co.za"},"_npmVersion":"10.9.2","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","zod":"^3.23.8","chalk":"^4.1.2","dotenv":"^16.3.1","openai":"^4.96.0","commander":"^13.1.0","node-fetch":"^3.3.2","investec-pb-api":"^0.3.6","@inquirer/prompts":"^7.5.3","investec-card-api":"^0.2.0","programmable-card-code-emulator":"^1.4.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^3.1.1","prettier":"3.0.3","@types/node":"^22.12.0","@arethetypeswrong/cli":"^0.17.2","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.8.3_1750926333629_0.16996286252879256","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"investec-ipb","version":"0.9.2","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.9.2","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"homepage":"https://github.com/devinpearson/ipb#readme","bugs":{"url":"https://github.com/devinpearson/ipb/issues"},"bin":{"ipb":"bin/index.js"},"pkg":{"assets":["dist-bundle/templates/**/*","dist-bundle/assets/**/*","dist-bundle/instructions.txt"],"scripts":["dist-bundle/index.cjs"],"targets":["node24-macos-x64","node24-macos-arm64","node24-linux-x64","node24-linux-arm64","node24-win-x64"],"outputPath":"dist"},"dist":{"shasum":"82b8eb689f8b1abd1f26c95668fcc4c11df633c7","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.9.2.tgz","fileCount":275,"integrity":"sha512-FvWpQIEf5XiSeuddYpBAlsex/iSauKlNOtlYrT5Z2/ZhyP4ESFCspwm4mc4oQWOK1F9eblm4uaM4+s8MipFd8w==","signatures":[{"sig":"MEYCIQCb+bJKV30ZkXUeSiw4OrqMXCvRth6mSsiEFtWzThq7CQIhAPBBDmwgFgj329fpM0Q8bBsT5ViTrVlsEAlNPeOMjGr2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/investec-ipb@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1926917},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"087943aa45230de34342790585be042c08534747","scripts":{"ci":"npm run build && npm run type-check && npm run lint && npm run lint:md && npm run format:check && npm run test:run && npm audit","dev":"vitest","docs":"npm run build && node bin/index.js docs","lint":"biome check .","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"npm run build && chmod +x ./bin/index.js && npm link && ./scripts/tapes.sh","bundle":"npm run build && node esbuild.config.js","format":"biome format --write .","lint:md":"markdownlint-cli2 \"**/*.md\"","pkg:all":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64,node24-linux-x64,node24-linux-arm64,node24-win-x64 --out-path dist --no-bytecode --public","prepare":"husky","lint:fix":"biome check --write .","test:run":"vitest --run","pkg:build":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --out-path dist --no-bytecode --public","pkg:clean":"rimraf ./dist ./dist-bundle","pkg:linux":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-linux-x64,node24-linux-arm64 --out-path dist --no-bytecode --public","pkg:macos":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64 --out-path dist --no-bytecode --public","verify:ci":"npm run build && npm run test:run && npm run bundle","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt && chmod +x ./bin/index.js","type-check":"tsc","docs:source":"node --loader tsx src/cmds/docs.ts","lint:md:fix":"markdownlint-cli2 --fix \"**/*.md\"","pkg:windows":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-win-x64 --out-path dist --no-bytecode --public","format:check":"biome format .","bundle:minify":"npm run build && node esbuild.config.js --minify","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm","prepublishOnly":"npm run build && npm run docs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:61ab712f-4c00-47cc-973c-a55dd7904866"}},"repository":{"url":"git+https://github.com/devinpearson/ipb.git","type":"git"},"_npmVersion":"11.16.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^9.0.0","zod":"^3.25.76","chalk":"^5.6.2","dotenv":"^17.2.3","openai":"^4.104.0","js-yaml":"^4.3.1","commander":"^14.0.2","cli-table3":"^0.6.5","node-fetch":"^3.3.2","investec-pb-api":"^0.3.10","@inquirer/prompts":"^7.9.0","investec-card-api":"^0.2.1","programmable-card-code-emulator":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","rimraf":"^6.1.0","vitest":"^3.2.4","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^24.0.0","@yao-pkg/pkg":"^6.10.1","@biomejs/biome":"^2.3.3","@types/js-yaml":"^4.0.9","markdownlint-cli2":"^0.23.2","@arethetypeswrong/cli":"^0.18.2","@commander-js/extra-typings":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.9.2_1785757555453_0.23262260778656696","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"investec-ipb","version":"0.9.3","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.9.3","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"homepage":"https://github.com/devinpearson/ipb#readme","bugs":{"url":"https://github.com/devinpearson/ipb/issues"},"bin":{"ipb":"bin/index.js"},"pkg":{"assets":["dist-bundle/templates/**/*","dist-bundle/assets/**/*","dist-bundle/instructions.txt"],"scripts":["dist-bundle/index.cjs"],"targets":["node24-macos-x64","node24-macos-arm64","node24-linux-x64","node24-linux-arm64","node24-win-x64"],"outputPath":"dist"},"dist":{"shasum":"7d40b0435ab765d89c508b80cbc401b254bc39f7","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.9.3.tgz","fileCount":275,"integrity":"sha512-rIY9ZkB6CNJJwcU9x5zlmd5MaOSvRWKKaYU6Laux/pLFpO2C/8p/cfiH0FJX/e+2zjz+gTtW2KPtNAfPARYz4Q==","signatures":[{"sig":"MEUCIQDJ4J99q6lkw7v6OZ6jjevaT9JgUZHYhLE5FORUBWftUgIgE1bBjp8wFFSSaUoiqvyc7ZOFPv522yRP7X/T8iUkZzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/investec-ipb@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1926917},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"0663b40c49aa3311c0385fef8461082f2c1a899e","scripts":{"ci":"npm run build && npm run type-check && npm run lint && npm run lint:md && npm run format:check && npm run test:run && npm audit","dev":"vitest","docs":"npm run build && node bin/index.js docs","lint":"biome check .","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"npm run build && chmod +x ./bin/index.js && npm link && ./scripts/tapes.sh","bundle":"npm run build && node esbuild.config.js","format":"biome format --write .","lint:md":"markdownlint-cli2 \"**/*.md\"","pkg:all":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64,node24-linux-x64,node24-linux-arm64,node24-win-x64 --out-path dist --no-bytecode --public","prepare":"husky","lint:fix":"biome check --write .","test:run":"vitest --run","pkg:build":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --out-path dist --no-bytecode --public","pkg:clean":"rimraf ./dist ./dist-bundle","pkg:linux":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-linux-x64,node24-linux-arm64 --out-path dist --no-bytecode --public","pkg:macos":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64 --out-path dist --no-bytecode --public","verify:ci":"npm run build && npm run test:run && npm run bundle","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt && chmod +x ./bin/index.js","type-check":"tsc","docs:source":"node --loader tsx src/cmds/docs.ts","lint:md:fix":"markdownlint-cli2 --fix \"**/*.md\"","pkg:windows":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-win-x64 --out-path dist --no-bytecode --public","format:check":"biome format .","bundle:minify":"npm run build && node esbuild.config.js --minify","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm","prepublishOnly":"npm run build && npm run docs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:61ab712f-4c00-47cc-973c-a55dd7904866"}},"repository":{"url":"git+https://github.com/devinpearson/ipb.git","type":"git"},"_npmVersion":"11.16.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^9.0.0","zod":"^3.25.76","chalk":"^5.6.2","dotenv":"^17.2.3","openai":"^4.104.0","js-yaml":"^4.3.1","commander":"^14.0.2","cli-table3":"^0.6.5","node-fetch":"^3.3.2","investec-pb-api":"^0.3.10","@inquirer/prompts":"^7.9.0","investec-card-api":"^0.2.1","programmable-card-code-emulator":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","rimraf":"^6.1.0","vitest":"^3.2.4","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^24.0.0","@yao-pkg/pkg":"^6.10.1","@biomejs/biome":"^2.3.3","@types/js-yaml":"^4.0.9","markdownlint-cli2":"^0.23.2","@arethetypeswrong/cli":"^0.18.2","@commander-js/extra-typings":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.9.3_1785758218898_0.6325686262468704","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"investec-ipb","version":"0.10.0","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","_id":"investec-ipb@0.10.0","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"homepage":"https://github.com/devinpearson/ipb#readme","bugs":{"url":"https://github.com/devinpearson/ipb/issues"},"bin":{"ipb":"bin/index.js"},"pkg":{"assets":["dist-bundle/templates/**/*","dist-bundle/assets/**/*","dist-bundle/instructions.txt"],"scripts":["dist-bundle/index.cjs"],"targets":["node24-macos-x64","node24-macos-arm64","node24-linux-x64","node24-linux-arm64","node24-win-x64"],"outputPath":"dist"},"dist":{"shasum":"a80bb960eae677cfe71fb71490f676949fe9d502","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.10.0.tgz","fileCount":307,"integrity":"sha512-caBEqyWtm53bp6IZ+3OTNyIL8lenRCl927TXTl73yYijy/UmnM/HPXcIHCqtHAKyqfIEvDxxkWfpevUJY4FDbg==","signatures":[{"sig":"MEYCIQC/F6YPxEelIoEuYqwF1waEueRqnMfXwQPE1oQWpHPB7AIhAMH5dyHdXPGjjQrFLb0X7jgUv33hW9h1R0gLZ9GQGbzO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/investec-ipb@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2015177},"main":"bin/index.js","type":"module","types":"./bin/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"35ba392218647f1142f0acaace4d2e52dc5fc09e","scripts":{"ci":"npm run build && npm run type-check && npm run lint && npm run lint:md && npm run format:check && npm run test:run && npm audit","dev":"vitest","docs":"npm run build && node bin/index.js docs","lint":"biome check .","test":"vitest","build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","tapes":"npm run build && chmod +x ./bin/index.js && npm link && ./scripts/tapes.sh","bundle":"npm run build && node esbuild.config.js","format":"biome format --write .","lint:md":"markdownlint-cli2 \"**/*.md\"","pkg:all":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64,node24-linux-x64,node24-linux-arm64,node24-win-x64 --out-path dist --no-bytecode --public","prepare":"husky","lint:fix":"biome check --write .","test:run":"vitest --run","pkg:build":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --out-path dist --no-bytecode --public","pkg:clean":"rimraf ./dist ./dist-bundle","pkg:linux":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-linux-x64,node24-linux-arm64 --out-path dist --no-bytecode --public","pkg:macos":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64 --out-path dist --no-bytecode --public","verify:ci":"npm run build && npm run test:run && npm run bundle","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt && chmod +x ./bin/index.js","type-check":"tsc","docs:source":"node --loader tsx src/cmds/docs.ts","lint:md:fix":"markdownlint-cli2 --fix \"**/*.md\"","pkg:windows":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-win-x64 --out-path dist --no-bytecode --public","format:check":"biome format .","bundle:minify":"npm run build && node esbuild.config.js --minify","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm","prepublishOnly":"npm run build && npm run docs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:61ab712f-4c00-47cc-973c-a55dd7904866"}},"repository":{"url":"git+https://github.com/devinpearson/ipb.git","type":"git"},"_npmVersion":"11.16.0","description":"A cli application to manage programmable banking cards","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^9.0.0","zod":"^3.25.76","chalk":"^5.6.2","dotenv":"^17.2.3","openai":"^4.104.0","js-yaml":"^4.3.1","commander":"^14.0.2","cli-table3":"^0.6.5","node-fetch":"^3.3.2","investec-pb-api":"^0.3.12","investec-mau-api":"^0.1.0","@inquirer/prompts":"^7.9.0","investec-card-api":"^0.2.3","programmable-card-code-emulator":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","rimraf":"^6.1.0","vitest":"^3.2.4","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^24.0.0","@yao-pkg/pkg":"^6.10.1","@biomejs/biome":"^2.3.3","@types/js-yaml":"^4.0.9","markdownlint-cli2":"^0.23.2","@arethetypeswrong/cli":"^0.18.2","@commander-js/extra-typings":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/investec-ipb_0.10.0_1785927733242_0.2183632348315967","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"investec-ipb","version":"0.10.1","main":"bin/index.js","bin":{"ipb":"bin/index.js"},"type":"module","scripts":{"build":"npm run clean && tsc && npm run copy-files","clean":"rimraf ./bin","copy-files":"cp -r ./templates/ ./bin/templates/ && cp -r ./assets/ ./bin/assets/ && cp instructions.txt ./bin/instructions.txt && chmod +x ./bin/index.js","test":"vitest","test:run":"vitest --run","lint":"biome check .","lint:fix":"biome check --write .","lint:md":"markdownlint-cli2 \"**/*.md\"","lint:md:fix":"markdownlint-cli2 --fix \"**/*.md\"","format":"biome format --write .","format:check":"biome format .","type-check":"tsc","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm","ci":"npm run build && npm run type-check && npm run lint && npm run lint:md && npm run format:check && npm run test:run && npm audit","verify:ci":"npm run build && npm run test:run && npm run bundle","dev":"vitest","tapes":"npm run build && chmod +x ./bin/index.js && npm link && ./scripts/tapes.sh","docs":"npm run build && node bin/index.js docs","docs:source":"node --loader tsx src/cmds/docs.ts","prepublishOnly":"npm run build && npm run docs","bundle":"npm run build && node esbuild.config.js","bundle:minify":"npm run build && node esbuild.config.js --minify","pkg:build":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --out-path dist --no-bytecode --public","pkg:macos":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64 --out-path dist --no-bytecode --public","pkg:linux":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-linux-x64,node24-linux-arm64 --out-path dist --no-bytecode --public","pkg:windows":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-win-x64 --out-path dist --no-bytecode --public","pkg:all":"npm run bundle && pkg dist-bundle/index.cjs --config package.json --targets node24-macos-x64,node24-macos-arm64,node24-linux-x64,node24-linux-arm64,node24-win-x64 --out-path dist --no-bytecode --public","pkg:clean":"rimraf ./dist ./dist-bundle","prepare":"husky"},"keywords":["investec","card","emulator","programmable banking","open banking","banking"],"author":{"name":"Devin Pearson"},"license":"MIT","description":"A cli application to manage programmable banking cards","repository":{"type":"git","url":"git+https://github.com/devinpearson/ipb.git"},"homepage":"https://github.com/devinpearson/ipb#readme","bugs":{"url":"https://github.com/devinpearson/ipb/issues"},"engines":{"node":">=24.0.0"},"dependencies":{"@inquirer/prompts":"^7.9.0","chalk":"^5.6.2","cli-table3":"^0.6.5","commander":"^14.0.2","dotenv":"^17.2.3","investec-card-api":"^0.2.3","investec-mau-api":"^0.1.1","investec-pb-api":"^0.3.12","js-yaml":"^4.3.1","node-fetch":"^3.3.2","openai":"^4.104.0","ora":"^9.0.0","programmable-card-code-emulator":"^2.0.1","zod":"^3.25.76"},"devDependencies":{"@arethetypeswrong/cli":"^0.18.2","@biomejs/biome":"^2.3.3","@commander-js/extra-typings":"^14.0.0","@types/js-yaml":"^4.0.9","@types/node":"^24.0.0","@yao-pkg/pkg":"^6.10.1","esbuild":"^0.25.12","husky":"^9.1.7","markdownlint-cli2":"^0.23.2","rimraf":"^6.1.0","typescript":"^5.9.3","vitest":"^3.2.4"},"pkg":{"scripts":["dist-bundle/index.cjs"],"assets":["dist-bundle/templates/**/*","dist-bundle/assets/**/*","dist-bundle/instructions.txt"],"outputPath":"dist","targets":["node24-macos-x64","node24-macos-arm64","node24-linux-x64","node24-linux-arm64","node24-win-x64"]},"gitHead":"5ce1d4fb9128d8f53c0672bc454ec25d5c8458a7","types":"./bin/index.d.ts","_id":"investec-ipb@0.10.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-BCUblSIRobMFIYAoMX4jHIvS5a1usqHKSugY2Arw+KFnnaGXoe/kNGCQ9Z4zMum45PLFOk8nmdXUGh0Rs7WIPQ==","shasum":"ba03f87d8ed6d91b6598a8b1f687f08da7b731ad","tarball":"https://registry.npmjs.org/investec-ipb/-/investec-ipb-0.10.1.tgz","fileCount":307,"unpackedSize":2025577,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/investec-ipb@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCOpBXDijkYb8ycYSn8hCF4/6aRay83BB7hT5LbewiiEgIhAKogqEQf5OMh46NMCbzKHTvfoDavHrtKDsKdadyWgWkJ"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:61ab712f-4c00-47cc-973c-a55dd7904866"}},"directories":{},"maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/investec-ipb_0.10.1_1785932213296_0.6417048256652251"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-29T17:46:16.750Z","modified":"2026-08-05T12:16:53.775Z","0.1.0":"2025-01-29T17:46:16.931Z","0.2.0":"2025-01-29T21:14:27.656Z","0.3.0":"2025-01-30T14:47:23.054Z","0.4.0":"2025-01-30T15:13:31.658Z","0.5.0":"2025-02-24T07:37:47.615Z","0.5.1":"2025-02-24T09:16:43.717Z","0.6.0":"2025-03-01T21:13:39.634Z","0.6.1":"2025-03-01T21:37:25.404Z","0.7.0":"2025-03-08T18:56:08.761Z","0.7.1":"2025-03-08T21:39:32.712Z","0.7.2":"2025-03-17T18:36:08.110Z","0.7.3":"2025-03-18T05:01:47.696Z","0.7.4":"2025-03-18T05:33:08.583Z","0.7.5":"2025-03-20T19:05:51.438Z","0.7.6":"2025-03-26T07:05:56.075Z","0.7.7":"2025-03-26T07:19:35.944Z","0.7.8":"2025-03-26T07:59:28.244Z","0.8.0-rc.0":"2025-04-19T11:40:43.730Z","0.8.0-rc.1":"2025-04-19T12:19:23.160Z","0.8.0-rc.2":"2025-04-21T09:15:06.078Z","0.8.0-rc.3":"2025-04-22T05:18:22.401Z","0.8.0-rc.4":"2025-04-24T09:11:29.905Z","0.8.0-rc.5":"2025-04-24T09:29:54.849Z","0.8.0-rc.6":"2025-04-24T12:20:55.242Z","0.8.0":"2025-04-24T13:04:25.907Z","0.8.1-rc.1":"2025-05-27T08:43:15.195Z","0.8.1-rc.2":"2025-05-27T09:07:54.903Z","0.8.1-rc.3":"2025-05-27T09:12:57.835Z","0.8.1-rc.4":"2025-05-31T17:40:02.765Z","0.8.1":"2025-06-09T12:51:28.024Z","0.8.2":"2025-06-26T07:57:29.477Z","0.8.3":"2025-06-26T08:25:33.887Z","0.9.2":"2026-08-03T11:45:55.638Z","0.9.3":"2026-08-03T11:56:59.092Z","0.10.0":"2026-08-05T11:02:13.439Z","0.10.1":"2026-08-05T12:16:53.451Z"},"bugs":{"url":"https://github.com/devinpearson/ipb/issues"},"author":{"name":"Devin Pearson"},"license":"MIT","homepage":"https://github.com/devinpearson/ipb#readme","keywords":["investec","card","emulator","programmable banking","open banking","banking"],"repository":{"type":"git","url":"git+https://github.com/devinpearson/ipb.git"},"description":"A cli application to manage programmable banking cards","maintainers":[{"name":"tekkzbadger","email":"devin@blackhat.co.za"}],"readme":"# Investec Programmable Banking CLI\n\nDeploy programmable card code, simulate transactions locally, and manage Investec accounts from the terminal. Binary name: `ipb`.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![NPM Version](https://img.shields.io/npm/v/investec-ipb)\n\nCommunity-maintained project aligned with the Investec Programmable Banking community. Not officially endorsed or supported by Investec—use and contribute with care.\n\n---\n\n## Documentation map\n\nThis README follows [Divio’s documentation system](https://documentation.divio.com/): pick the section that matches what you need.\n\n| I want to… | Go to |\n|------------|--------|\n| Learn by doing (first successful flow) | [Tutorials](#tutorials) |\n| Solve a specific task | [How-to guides](#how-to-guides) |\n| Look up a command, flag, or error code | [Reference](#reference) |\n| Understand why the CLI works this way | [Explanation](#explanation) |\n| Contribute or release | [CONTRIBUTING.md](./CONTRIBUTING.md) |\n\nFull option lists for every command: [GENERATED_README.md](./GENERATED_README.md) (or run `ipb <command> --help` / `ipb docs`).\n\n---\n\n## Tutorials\n\nLearning-oriented: follow in order. You will install the CLI, save credentials, list a card, scaffold a project, simulate locally, deploy, and fetch logs.\n\n### Your first card flow\n\n**Time:** about 10 minutes. **You need:** Node.js 24+ (or a standalone binary), Investec API credentials from the [Developer Portal](https://developer.investec.com), and a programmable card.\n\n#### 1. Install\n\n```sh\nnpm install -g investec-ipb\nipb --version\n```\n\nOther install methods: [How to install](#how-to-install).\n\n#### 2. Save credentials\n\nGet your client ID, client secret, and API key from the [API quick start guide](https://investec.gitbook.io/programmable-banking-community-wiki/get-started/api-quick-start-guide/how-to-get-your-api-keys).\n\n```sh\nipb config --client-id <client-id> --client-secret <client-secret> --api-key <api-key>\n```\n\nPrefer credential files over putting secrets in environment variables. See [Explanation: credentials and secrets](#credentials-and-secrets).\n\n#### 3. List your cards\n\n```sh\nipb cards\n```\n\nNote a **card key** for later steps (`-c`).\n\n![cards command](assets/cards.gif)\n\n#### 4. Scaffold a project\n\n```sh\nipb new my-card-app\ncd my-card-app\n```\n\nOptional templates: `--template default` or `--template petro`.\n\n![new command](assets/new.gif)\n\n#### 5. Simulate locally (no API keys required for this step)\n\nAmount is in **cents**:\n\n```sh\nipb run -f main.js -e prod --amount 60000 --currency ZAR --mcc 0000 \\\n  --merchant \"Test Merchant\" --city \"Cape Town\" --country ZA\n```\n\n![run command](assets/run.gif)\n\n#### 6. Deploy to the card\n\n`deploy` uploads (and can publish) code. You will be asked to confirm unless you pass `--yes`.\n\n```sh\nipb deploy -f main.js -c <card-key>\n```\n\n![deploy command](assets/deploy.gif)\n\n#### 7. Fetch execution logs\n\n```sh\nipb logs -f executions.json -c <card-key>\n```\n\n![logs command](assets/logs.gif)\n\nYou now have a working loop: edit → `ipb run` → `ipb deploy` → `ipb logs`. Next: [How-to guides](#how-to-guides) for profiles, env files, accounts, and automation.\n\n---\n\n## How-to guides\n\nGoal-oriented recipes. For every flag, use `ipb <command> --help`.\n\n### How to install\n\n**npm (recommended if you already use Node.js 24+):**\n\n```sh\nnpm install -g investec-ipb\n```\n\nOn Windows PowerShell (if scripts are blocked):\n\n```sh\nSet-ExecutionPolicy Unrestricted -Scope CurrentUser\n```\n\n**Homebrew (standalone binary, no Node.js):**\n\n```sh\nbrew tap devinpearson/ipb\nbrew install ipb\n```\n\n**Direct download:** binaries on [GitHub Releases](https://github.com/devinpearson/ipb/releases).\n\nmacOS:\n\n```sh\n# Apple Silicon\ncurl -L https://github.com/devinpearson/ipb/releases/download/v0.9.3/ipb-macos-arm64 -o ipb\nchmod +x ipb\nsudo mv ipb /usr/local/bin/\n\n# Intel\ncurl -L https://github.com/devinpearson/ipb/releases/download/v0.9.3/ipb-macos-x64 -o ipb\nchmod +x ipb\nsudo mv ipb /usr/local/bin/\n```\n\nLinux (.deb):\n\n```sh\nwget https://github.com/devinpearson/ipb/releases/download/v0.9.3/ipb_0.9.3_amd64.deb\nsudo dpkg -i ipb_0.9.3_amd64.deb\nsudo apt-get install -f\n```\n\nLinux binary:\n\n```sh\ncurl -L https://github.com/devinpearson/ipb/releases/download/v0.9.3/ipb-linux-x64 -o ipb\n# or: ipb-linux-arm64\nchmod +x ipb\nsudo mv ipb /usr/local/bin/\n```\n\nWindows: download `ipb-win-x64.exe`, rename to `ipb.exe`, add to `PATH`.\n\nMore packaging options: [DISTRIBUTION.md](./DISTRIBUTION.md).\n\n### How to configure credentials and profiles\n\n```sh\n# Default credentials (~/.ipb/.credentials.json, mode 600)\nipb config --client-id <id> --client-secret <secret> --api-key <key>\n\n# Optional card key / host — see ipb config --help\nipb config --card-key <card-key>\n\n# Mauritius (MAU) credentials (separate from ZA PB/Card)\nipb config --mau-client-id <id> --mau-client-secret <secret> --mau-api-key <key>\n\n# Named profiles\nipb config --profile production --client-id <id> --client-secret <secret> --api-key <key>\nipb config --profile staging --client-id <id> --client-secret <secret> --api-key <key>\nipb config profile set production\nipb config profile list\nipb config profile show\n```\n\nUse a profile on any command:\n\n```sh\nipb cards --profile staging\nipb deploy --profile production -f main.js -c <card-key>\nipb mau accounts --profile production\n```\n\n### How to use Mauritius (MAU) Open Banking\n\nMAU uses the same OAuth shape as ZA APIs but **separate credentials** (`mauClientId`, `mauClientSecret`, `mauApiKey`, optional `mauHost`).\n\n```sh\nipb mau accounts\nipb mau balances 5331\nipb mau transactions 5331 --from 2024-01-01 --to 2024-01-31\nipb mau documents 5331 --from 2025-01-01 --to 2025-01-31\nipb mau statement 5331 2025-01-31 --output statement.pdf\n```\n\nEdit in your editor (`EDITOR`, default `nano` / `notepad.exe`):\n\n```sh\nipb config edit\nipb config edit --profile production\n```\n\nCustom credentials file:\n\n```sh\nipb cards --credentials-file /path/to/credentials.json\n```\n\n### How to deploy code and manage card environments\n\n```sh\n# One-shot deploy (upload + publish path; confirms by default)\nipb deploy -f main.js -e prod -c <card-key>\nipb deploy -f main.js -c <card-key> --yes\n\n# Split steps\nipb upload -f main.js -c <card-key>\nipb publish -f main.js --code-id <code-id> -c <card-key>\n\n# Environment variables on the card\nipb env -f env.json -c <card-key>\nipb upload-env -f env.json -c <card-key>\n\n# Download code from the card\nipb fetch -f backup.js -c <card-key>\nipb published -f published.js -c <card-key>\n```\n\nUse `.env.<name>` locally and pass `-e <name>` when the command supports it (for example `deploy` / `run`).\n\n![upload command](assets/upload.gif)\n\n### How to simulate transactions\n\n**Local emulator** (no Investec account required):\n\n```sh\nipb run -f main.js -e prod --amount 60000 --currency ZAR --mcc 0000 \\\n  --merchant \"Test Merchant\" --city \"Cape Town\" --country ZA\n```\n\n**Online simulator** (uses API / card context and remote env):\n\n```sh\nipb simulate -f main.js -c <card-key> --amount 60000 --currency ZAR --mcc 0000 \\\n  --merchant \"Test Merchant\" --city \"Cape Town\" --country ZA\n```\n\nReference data for MCC / country / currency values:\n\n```sh\nipb countries\nipb currencies\nipb merchants\n```\n\n### How to enable or disable code on a card\n\n```sh\nipb enable -c <card-key>\nipb disable -c <card-key>          # confirms\nipb disable -c <card-key> --yes\n```\n\n![toggle command](assets/toggle.gif)\n\n### How to work with accounts and payments\n\n```sh\nipb accounts\nipb balances <accountId>\nipb transactions <accountId>\nipb beneficiaries\n```\n\nMoney movement **requires confirmation** (or `--yes` for automation):\n\n```sh\nipb transfer <accountId> <beneficiaryAccountId> <amount> <reference>\nipb pay <accountId> <beneficiaryId> <amount> <reference>\n```\n\nAmounts for transfer/pay are in **rands** (for example `100.50`), not cents.\n\n### How to install shell completion\n\n**Bash:**\n\n```sh\nmkdir -p ~/.bash_completion.d\nipb completion bash > ~/.bash_completion.d/ipb\necho \"source ~/.bash_completion.d/ipb\" >> ~/.bashrc\n```\n\n**Zsh:**\n\n```sh\nmkdir -p ~/.zsh/completions\nipb completion zsh > ~/.zsh/completions/_ipb\n# In ~/.zshrc:\n# fpath=(~/.zsh/completions $fpath)\n# autoload -U compinit && compinit\n```\n\n### How to automate safely\n\n```sh\n# Machine-readable output\nipb cards --json\nipb accounts --json | jq .\n\n# Skip confirms only when intentional\nipb deploy -f main.js -c <card-key> --yes\n\n# Quiet / debug\nipb accounts --no-spinner\nipb accounts --verbose\n# or: DEBUG=1 ipb accounts\n```\n\nWhen stdout is piped, the CLI favours structured output and turns spinners off. Destructive commands need `--yes` in non-interactive use.\n\nHandle exit codes in scripts:\n\n```bash\nif ipb deploy -f main.js -c \"$CARD\" --yes; then\n  echo \"ok\"\nelse\n  echo \"failed with exit $?\"\nfi\n```\n\nSee [Exit codes](#exit-codes) and [Error codes](#error-codes).\n\n---\n\n## Reference\n\nInformation-oriented lookup. Authoritative flags: `ipb <command> --help` or [GENERATED_README.md](./GENERATED_README.md).\n\n### Command map\n\n| Command | Purpose |\n|---------|---------|\n| `cards` (`c`) | List programmable cards |\n| `config` (`cfg`) | Save credentials; `profile` / `edit` subcommands |\n| `new` | Scaffold a local project |\n| `run` (`r`) | Local transaction simulation |\n| `simulate` | Online simulator |\n| `deploy` (`d`) | Deploy code to a card |\n| `upload` (`up`) / `publish` (`pub`) | Upload or publish code |\n| `fetch` (`f`) / `published` | Download saved or published code |\n| `env` / `upload-env` | Card environment variables |\n| `logs` (`log`) | Execution logs |\n| `enable` / `disable` | Toggle code on a card |\n| `accounts` (`acc`) / `balances` (`bal`) / `transactions` (`tx`) | Account data (ZA PB) |\n| `mau` | Mauritius Open Banking (`accounts`, `balances`, `transactions`, `documents`, `statement`) |\n| `beneficiaries` / `transfer` / `pay` | Beneficiaries and payments |\n| `countries` / `currencies` / `merchants` | Reference data |\n| `completion` / `docs` / `env-list` | Shell completion, docs dump, env catalogue |\n\nThese commands are **disabled** and return an error: `ai`, `bank`, `register`, `login`.\n\n### Shared options (most API commands)\n\n- Auth: `--client-id`, `--client-secret`, `--api-key`, `--host`, `--credentials-file`, `--profile`\n- MAU auth: `--mau-client-id`, `--mau-client-secret`, `--mau-api-key`, `--mau-host`\n- Output: `--json`, `--yaml`, `--output <file>`, `-v` / `--verbose`\n- Spinner: `--no-spinner` (preferred); `-s` / `--spinner` is deprecated\n- Destructive: `--yes` where supported\n\n### Environment variables\n\nList everything the CLI documents:\n\n```sh\nipb env-list\nipb env-list --json\n```\n\nCommon categories:\n\n- **API:** `INVESTEC_HOST`, `INVESTEC_CLIENT_ID`, `INVESTEC_CLIENT_SECRET`, `INVESTEC_API_KEY`, `INVESTEC_CARD_KEY`\n- **MAU API:** `INVESTEC_MAU_HOST`, `INVESTEC_MAU_CLIENT_ID`, `INVESTEC_MAU_CLIENT_SECRET`, `INVESTEC_MAU_API_KEY`\n- **Behaviour:** `DEBUG`, `REJECT_UNAUTHORIZED`, `NO_COLOR`, `FORCE_COLOR`, `EDITOR`, `PAGER`, `TMPDIR`, `IPB_NO_UPDATE_CHECK`\n\n### Exit codes\n\n| Exit | Meaning |\n|------|---------|\n| `0` | Success |\n| `1` | General error |\n| `2` | Validation / bad input |\n| `3` | Authentication |\n| `4` | File |\n| `5` | API (includes rate limits) |\n| `6` | Network |\n| `7` | Permission |\n\n### Error codes\n\nMessages look like `Error (E####): …`.\n\n| Code | Description |\n|------|-------------|\n| `E4002` | Missing API token |\n| `E4003` | Missing card key |\n| `E4004` | Missing environment file |\n| `E4005` | Invalid credentials |\n| `E4007` | Template not found |\n| `E4008` | Invalid project name |\n| `E4009` | Project exists |\n| `E4010` | File not found |\n| `E4012` | Missing account ID |\n| `E4014` | Rate limit exceeded |\n| `E4019` | Unsupported operation |\n| `E4020` | Missing or invalid date range (MAU `--from` / `--to`) |\n| `E5001` | Deploy / API operation failed |\n\nQuick fixes: missing card key → `ipb cards` then `-c`; bad auth → `ipb config`; missing `.env.<env>` → create the file or change `-e`.\n\n---\n\n## Explanation\n\nUnderstanding-oriented background. Skip this until you care about the “why”.\n\n### Credentials and secrets\n\nCredential files under `~/.ipb/` use owner-only permissions (`600`) and atomic writes. Environment variables are convenient but can leak via process lists, CI logs, and shell history. The CLI may warn when secrets appear in the environment (especially with `--verbose` / `DEBUG` or in CI). Prefer `ipb config` and profiles for day-to-day use.\n\n**Resolution order** (highest wins):\n\n1. Command-line options (`--api-key`, …)\n2. `--profile` or the active profile\n3. Environment variables\n4. Default credentials file (`~/.ipb/.credentials.json`)\n\n### Destructive operations and `--yes`\n\n`deploy`, `publish`, `disable`, `transfer`, and `pay` change live card state or move money. Interactive runs ask for confirmation. Automation and pipes should pass `--yes` only when the action is intentional.\n\n### Local `run` vs online `simulate`\n\n- **`run`** uses the local emulator and local files/env—good for fast iteration offline.\n- **`simulate`** hits Investec’s online simulator with your card/API context—closer to production behaviour, needs credentials.\n\n### Agent / automation tip\n\nCopyable skill for AI agents that operate `ipb`: [skills/ipb/](./skills/ipb/). Prefer `--json` and confirm money or deploy steps before running them.\n\n---\n\n## Contributing and development\n\nIssues and pull requests are welcome. For running locally, tests, docs, **version bumps**, and releases, see **[CONTRIBUTING.md](./CONTRIBUTING.md)**.\n\n```sh\ngit clone https://github.com/devinpearson/ipb.git\ncd ipb\nnpm install\nnpm run build\nnode bin/index.js --help\n```\n\n---\n\n## License\n\nMIT — see [LICENSE.md](LICENSE.md).\n\n## Contact\n\nOpen a GitHub issue for questions and bugs.\n\n## Acknowledgments\n\n- [Commander](https://www.npmjs.com/package/commander), [Chalk](https://github.com/chalk/chalk), [Ora](https://github.com/sindresorhus/ora), [VHS](https://github.com/charmbracelet/vhs)\n- [CLIG.dev](https://clig.dev/), [Node.js CLI Apps Best Practices](https://github.com/lirantal/nodejs-cli-apps-best-practices)\n- [Investec Programmable Banking Community](https://developer.investec.com/za/community)\n- [Divio documentation system](https://documentation.divio.com/)\n\n## Related projects\n\n- [Banking API Simulator](https://github.com/devinpearson/programmable-banking-sim)\n- [Random Banking Data Generator](https://github.com/devinpearson/programmable-banking-faker)\n- [Open Banking POS](https://github.com/devinpearson/programmable-banking-pos)\n- [Card Issuer](https://github.com/devinpearson/programmable-banking-card-issuer)\n- [Blockly editor for card code](https://github.com/devinpearson/investec-blockly)\n- [HTTP server for card emulator](https://github.com/devinpearson/investec-card-server)\n- [Card code emulator package](https://github.com/devinpearson/programmable-card-code-emulator)\n","readmeFilename":"README.md"}