{"_id":"@adobe-commerce/aio-toolkit","_rev":"34-2873102db6373babf40a896ccf773966","name":"@adobe-commerce/aio-toolkit","dist-tags":{"latest":"1.2.9"},"versions":{"1.0.0":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.0","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.0","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"}],"homepage":"https://github.com/adobe-commerce/aio-toolkit#readme","bugs":{"url":"https://github.com/adobe-commerce/aio-toolkit/issues"},"dist":{"shasum":"c23a823356c5c46eb503bc6e0deccd536dcfc257","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.0.tgz","fileCount":10,"integrity":"sha512-Lwx/3Bdb2DeBxiWb5oX+cOATCDMkFezzKbXdKxDBvxqwnxOFUQGTIQPiHf/FzXAkzOPkDf2hea8EbHGXURiVUw==","signatures":[{"sig":"MEUCIFjWesPkttp0X2jdkwnJ6H/CuktWWnng2Vi/B9fXUJTOAiEAwxbIdBnukEAADHC7iGC27T1JJrI1Y4NRRfLM80FlTZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1001091},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"553805074c57bbd361c4b9aefd3abe3284138e15","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","postpublish":"git checkout README.md || echo 'README.md restored'","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build && cp docs/package/README.md README.md","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"r48patel","email":"r48patel@gmail.com"},"repository":{"url":"git+https://github.com/adobe-commerce/aio-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.0_1757986520238_0.5224147931214178","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.1","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.1","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"}],"dist":{"shasum":"712b6220d7e863d9985b3800497eab504d589ccd","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.1.tgz","fileCount":10,"integrity":"sha512-sZJa7H6O4oW4EohgIq0pRVdA8m7IDvOkGij5EOfKXLWspk0UHSWEYzqf+t+L8kcKlUT0vp7AvkCGbSHm0SVAjg==","signatures":[{"sig":"MEUCIAOAqJsSdyryMRzigsPHYwMJRccVeVK5m6Ijk7O23yAHAiEAjm3D9rvM+avtkhgok7sxlY6N9KTjGL4lsWwhgWAEF5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1024618},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e65e2606066d69bd5459372cda96bbaa7de47773","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"r48patel","email":"r48patel@gmail.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.1_1758579364676_0.7805174660177834","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.2","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.2","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"}],"dist":{"shasum":"ce76347ee126b4bb057b994a27d439bf9dbcf1e7","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.2.tgz","fileCount":10,"integrity":"sha512-EDgebGmOte44txHVD9spIqZS+HoiZKJGyzzDLJybHxrunUOhKYDRSJE6wTcON0PRBLzpk/6NXA/0RSzglvCMCQ==","signatures":[{"sig":"MEUCIQC/ctRFbcAdg0Y/vKunTj3xbWP0qqtOdL19MNzCV0Y56QIgZM7aErzrDI6fb7dx0Fq55TkvMzv4nw6+8mWo0aPbuiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1038951},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"5952700a1f86069df6bc5ba9c026a6cef2c5bb43","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"r48patel","email":"r48patel@gmail.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.2_1759244801149_0.04239212481148513","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.3","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.3","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"b0334718e2fe58c4c7a77441d7e92a32e88c42f0","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.3.tgz","fileCount":10,"integrity":"sha512-oY8XfH81HwRJ6wsK7o5D4/CTI/s0h7awTrfz+smGyKmIk2plZczQ3wCkH22cyKDBfNCNj5vigh/+4SQvGIh23g==","signatures":[{"sig":"MEYCIQD78ytMuMpzeI9ko2efQaGrPH+3q1RLw4Sn00cKIkC4awIhAKQJGv9XtDOKIXQoGDR9qXv8XaMg9T2fdY9iUe7lAbwP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1134811},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"cacbc7e95591b181cd84ee4864d45a64406f2652","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"r48patel","email":"r48patel@gmail.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.3_1761231829216_0.40597949780545095","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.4","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.4","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"d03728d31c99b22ce62c7f9c04c3ce487a1b09cc","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.4.tgz","fileCount":10,"integrity":"sha512-dcr48whWnPUYiCskmv2hNiK4sy+oOvGaYfwwnU+Y0W2HKt3/Zj502u4ovmEbjTmbGyygGTQhQsIXnq7nfRy3lw==","signatures":[{"sig":"MEQCIEng8+mUNEfi2wL/9cekuSCxjOzbolQKtnt8Lo0BbYvxAiAP2doPF7D0O5jONRXv3LZqjSmMudtVlkDjeu6GXyFqcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1277996},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"effcd5a884b0d7eb6face32330408da4f9cd25a7","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.4_1761757914829_0.05821845884583032","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.5","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.5","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"c440f142303c32bb37bb805a0f8d392b18926a78","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.5.tgz","fileCount":10,"integrity":"sha512-tgQ4T+l56hP2NFZZha/kNOTg56fVOoYRGQX429jaMlWbhuQao3Ms6yICPIvv9wQ4zD81sUEfT2EE686/Z43Atg==","signatures":[{"sig":"MEUCIDc8p1GdtiisXUbBErJg16cqeRDT/Mtx7tzZVnsTxMjvAiEA/HgLn3dBApIIq+UaRGh6lVhYm6hvKAFdrhQV9UyFEzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1281273},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"712f431220fc3d2ffa0816658ee2050d4893b044","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.5_1762182192568_0.8191205928752963","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.6","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.6","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"ba78dbaabe7e2168265a0cdbb0f85c5269b39bad","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.6.tgz","fileCount":10,"integrity":"sha512-TQTv8bcTbIgheSwZ3ttQBDmmkG6TJmwMyod1AJkuY5mkjlty3xzZh1ryjN6CNvXIdc6fbwKHWBY0aysV7QPIIw==","signatures":[{"sig":"MEUCIDqxDd5AkIDSm254BCxnUIPAQKzsWvERMrQzBwF9S9ZwAiEA6lVprbhXIlqAizMtL9j2v3lsmqwQgLXNR5aIRQRvEts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1469821},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1a589a01e11e752bba3a438bf138fab69047f1a0","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.6_1762824912676_0.5370313763615011","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.7","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.7","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"edbd5ec3ead071cb934bceace92e95133e6c0907","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.7.tgz","fileCount":10,"integrity":"sha512-hE2eRTobHMfeKIujdiIR57tX4aflKwxSWaWzztFViVWAC6F+RlZyAaZPc6slLKDn+iMa9Z/w1Bv34njIVEsSKQ==","signatures":[{"sig":"MEYCIQDsZZa2do5pBRyyM4JuLBpU6FskJyWUIe9fFsUdLDDVBQIhANOZqOq38l4HeQ/vDH+4PFRlsqxEB1YsRNpaYjABVqDc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1480130},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"b4bc512187abccffbc06de950f16424ee7c88034","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.7_1762913020864_0.4004724815520533","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.8","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.8","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"c527e3a5f5c13b8f84431c873aaa7f3e8bd03528","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.8.tgz","fileCount":10,"integrity":"sha512-guKhb5P2mi0DDE+cEeHoQMAme5joJf+BWmxxkKRb/GvWvmQ/5EX+ewgwR6xyfYM4ZA5jNjxftmrCjfmBAY3vwg==","signatures":[{"sig":"MEUCIQCyELBogcypeUElKXJ6cdwQI2IpahXvqa/Lj6ydGHlQjwIgUULVrYSjkjeb0ZgfC1nJjRuQReIlS04Qj/LjFAFX1SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1481985},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d596681dfcf3cac571b3d1d0fdd496264df56f57","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.8_1763454860546_0.6227354119350546","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.9","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.9","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"23f6f47e4969b6a453b65fec19aab882642e5bf7","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.9.tgz","fileCount":10,"integrity":"sha512-DRRtM7QCQri8wbH9zMUEKcnNDtz27diI3YIf73SZf23Di6H/z245ZSOe+zxYQi4P/6MtjaocXJQ9SnWD5sEXqg==","signatures":[{"sig":"MEYCIQDvoJV2HIqabI744cuG5lQlZiN/WqPHVwQyP8cEFAxvIgIhAIjmEf1JAo2tcBpemvq5+k18TMYeP524CW6HlT6Jy1Nl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1840154},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3dd1cb6b09506a6b36a66c0618e8a513381644be","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.9_1766635175736_0.5643574113145549","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.10","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.10","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"f5b3ae0f38d0e9ac47d0fbf59468deff23789511","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.10.tgz","fileCount":10,"integrity":"sha512-r0oSrA8GYzIjP2c2tEzvZjZXycO/F9YL0OhcdCPH6AmHALSh5luhnmUFpPBG7pY9GpdpAewur8JqhkjGSQwaZA==","signatures":[{"sig":"MEUCIQD28CnjfXIqFCEHYfByxk25Qgzw+JmwymgskWu/JHde1wIgAf8aBRCGBk9av0cZkazrGZ5sSMLMSPnvGlnPHjVM8Og=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1770485},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f9a003f952c965e22ba7f8129f84e99001c4517d","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.10_1767316780370_0.9757608094348624","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.11","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.11","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"ea84abf8d07462a650b65b926a663ef104aba466","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.11.tgz","fileCount":11,"integrity":"sha512-u+cG4t50ptKOC0WNHNXu4KhJfSAf+OIM0GeYdhD5tACwYSQv9oaG4t+yUvaclKnhOisEYiTqKvevKgFhifeJQA==","signatures":[{"sig":"MEQCIB4IavoqzWjbv1G2Ve/v0Ez0fB9Qyv2nJRt3ML0QcP+9AiBEt9xYpBkjWnteL4tPeGNKvEo/uyfZylyDumwt3P7JpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1845929},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"29fa06b0c39c3e4f06ac504e83d92e7bc3b44e7f","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","postinstall":"node scripts/postinstall.js","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.11_1767652640680_0.41199814270199675","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.12","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.12","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"c07734e489e3b3a1e5b38749bb6244af7b36be65","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.12.tgz","fileCount":11,"integrity":"sha512-6ri1NGq6/Nj/3X5I4kE0q5/WmCNxNDB0UQ52xwRd63rGveoL1Mkia7TN9peQZcAxJA0Oi5IYUnpmiZgLcilQbA==","signatures":[{"sig":"MEQCIBdiH4tQGuvqn+7rjMqsIwGC30mk5rdWFkdxjJiiJX1pAiB/gQJFAs4RbNLRff+Hn1uqJ2siA6uqDVX+/6tQ/NKrfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1849378},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ef11c4e0cad29478b0df9985845886729c98fa4e","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","postinstall":"node scripts/postinstall.js","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.12_1767726356264_0.1494419769931894","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.13","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.13","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"fa37ab964d3b57c52f650b4e6c7bba3019241d32","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.13.tgz","fileCount":10,"integrity":"sha512-UZA+nGnnATIM8aFr3mxrwzMIwEAFCufT2qf+CenIhiq2Sac9IC1XfH8ItnEVv1g11A8oRylTh8hTlR+I0eQnwA==","signatures":[{"sig":"MEQCIATIfUqH/2cG3PlVkLTYLHamebB4cjP5z0BRbZfp+HljAiB/JzeNWIFjZTuIzQ3fXdr02c+c/0sRVKiV7Sx0LIlq3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1858923},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"016557559ada0dbeae5d2e076d411e66d117331e","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.3","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.13_1767813934441_0.3618619679824513","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.14","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.14","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"8a639a53e1c65a2c00f90f90190c18943e795fc2","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.14.tgz","fileCount":10,"integrity":"sha512-7Eqwkgsh1ImUKgaBkOyPOeC9b6RUIQWvrEtfypr7mNjrOybOMdcR8GuCMGlNr5zdqrQEnba4bQTe4t6v/MIQyw==","signatures":[{"sig":"MEYCIQDZGyx04w9dhHUrBI6Bejcse7uUM1RckzBk6NJCNUXq7QIhAP9lIoVGNSTY4luB0J4QcH+NjqwRR/76bsKVjoCa8X4m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2037065},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0a9e5a009a1a43c05876bb8dfacf4546a9e510d6","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.3","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.14_1768923007424_0.7752103544455435","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.15","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.15","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js"},"dist":{"shasum":"9ff14712babd0ed774cdad31504fba94c17b5f29","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.15.tgz","fileCount":19,"integrity":"sha512-Zead+upNJAzvL97r+bc3CKy1YPr/QqPEpwrL7IIaalKsGIP5JMaWPXlbgFXjtm1wQtuGIOgDJwG7bFClZn+0Ng==","signatures":[{"sig":"MEUCIHmydK+yYNQZF4P1TjNmtabK+nJ0Y1UbZqxOPSbM68k4AiEA0/bH0PI9a7vGYWXNIya80qXpxYOyW7VO6f+rUM2LaZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2262908},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e70b6fd283babba93981eff7bbe528f2d29c920a","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.0","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.3","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0","@adobe-commerce/commerce-extensibility-tools":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.15_1770652291171_0.7709861799086484","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.16","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.16","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"fa43b2f370cb4d3d484cf504f668cd3416bad5df","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.16.tgz","fileCount":22,"integrity":"sha512-31aAYpp5P8NAANZAK1XVK3qjedJ/Obt4NQBKWqKdU/0E5SJUuVmuiXiWdDzZVjw3fuhpmZZO7WKTzxJaqpAWsg==","signatures":[{"sig":"MEQCIH1gZPdRR+1ufObaCH7uZ6e6IzVyoaEgm9wwwIR+VKvoAiAYr88snXWVQoOvDyAx+LIbekDDXislp4iqutj8ekftRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3745967},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7349cb83a4630aa4c3f74539ae6e93314f66552e","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.0","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.3","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0","@adobe-commerce/commerce-extensibility-tools":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.16_1771967510411_0.36021331676158397","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.17","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.17","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"6966ec2023b652aad3c6b4a6cbaaa330ce5670cf","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.17.tgz","fileCount":22,"integrity":"sha512-NqfhZQdpfbb7F9N8q9VIycfSgvds/ZoiQGVGlmzf8egY5+hrRUmuR6WLrHqX9Ko4SmTm8gXOYufjLP8qv8Oh+Q==","signatures":[{"sig":"MEUCIDrdCgYQqTpBPC4EWnB0orYYgjt+5a8Eg98RPNuT/Uz+AiEA2D0flU4ZXr8ey/MvAbWY/qsOMTJ9WT08EEqZ8Q4XJoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3747421},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0fe45947d6872a8fdb3f66e4fe40e33c785ff887","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.0","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.3","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0","@adobe-commerce/commerce-extensibility-tools":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.17_1772060123214_0.04082723334098093","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@adobe-commerce/aio-toolkit","version":"1.0.18","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.0.18","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"2ca2074efcc48404e4962ace6ae47fb0200d57bb","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.0.18.tgz","fileCount":22,"integrity":"sha512-hqxw5yFQwP02ro8COlxiwMEfD9zvrZg2MHi+YWa34HB3vTH8sDBBFKmc0+fDejCx/VXQl6fQSFFaTCCmVG53zQ==","signatures":[{"sig":"MEYCIQC/EPwwoqQ31/1dnURI3ravU04K5MtLrxyxOZvmqamCaAIhAPNVxLztGertCmq13EM+aZLRqXrrNd2+SkinMYTJmuL1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3717443},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6da050dcd73b79d3e220eae84f370d5f3e42d71b","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.0","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","dotenv":"^17.3.1","graphql":"^16.11.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe/aio-sdk":"^5.0.0","@adobe/aio-lib-ims":"^7.0.2","@adobe/aio-lib-telemetry":"^1.1.3","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"typescript":">=4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.0.18_1772570433483_0.8219897993128047","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@adobe-commerce/aio-toolkit","version":"1.1.0","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.1.0","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"c4bdb18bef8e72eada8fc790ca574520e82790d5","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.1.0.tgz","fileCount":22,"integrity":"sha512-KOjloMZ1BxtS1l9reHdZyLKuv66M4BhXouumqku9WBG+WYhKTR3cFQcAIDmnqjybD6d5GHkWA5ao6iPxDZM2Xw==","signatures":[{"sig":"MEUCIQCx0SOlTDQFKOVEJdiX/j/Wywa9uHdFH3/kkLp0VP+gqwIgO2kfzlGZaJ8/SAFI1cOngoDQ3MBEJ3GoNQfoiyXf7Vw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2859956},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"753996cf12fbe8626f8e6ac1c9fe713e30cab483","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","oauth-1.0a":"^2.2.6","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","dotenv":"^17.3.1","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","openwhisk":"^3.21.8","node-fetch":"^2.7.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","cloudevents":"^8.0.2","lint-staged":"^16.1.6","@adobe/aio-sdk":"^5.0.0","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"dotenv":">=16.0.0","graphql":">=16.0.0","openwhisk":">=3.0.0","node-fetch":">=2.6.0","typescript":">=4.9.0","cloudevents":">=8.0.0","@adobe/aio-sdk":">=5.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"openwhisk":{"optional":true},"node-fetch":{"optional":true},"cloudevents":{"optional":true},"@adobe/aio-lib-ims":{"optional":true},"@adobe/aio-lib-telemetry":{"optional":true},"@opentelemetry/resources":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.1.0_1774710198960_0.012808193990203165","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@adobe-commerce/aio-toolkit","version":"1.1.1","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.1.1","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"1d4ec9bdf6ada5be1ef524509990732e275f99d4","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.1.1.tgz","fileCount":22,"integrity":"sha512-aYGM2Kdn43m1EmDBcSSsWwI/dF+7+1EqSpxLr/jIz15OP1mX0o2g3CZ4lDVLsbMM3y03RGmYYxXz2ksqP7wLug==","signatures":[{"sig":"MEUCIA+UxbANuAEizjCSFegs4sqgnuvnF4mTsyeO2QuTWyu/AiEAzIZ4lYosfme+ehHY312ujQaaCgtltyco2f+GGvWZHtw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2866099},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"11131500c679665ded41c622494331a03ad465df","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^5.0.0","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=5.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.1.1_1774716404321_0.6568281026236471","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.0","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.0","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"1ac9232d8278b67477f0b789c951de10c1703cfd","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.0.tgz","fileCount":22,"integrity":"sha512-hAESITV56Sx16MiRG3irjYPDShblhRm5smV+xNL33m/lAjE+EnNlo7gFQBZDpl6+F8R6L1kkJqYYqRqMPpj5kQ==","signatures":[{"sig":"MEUCIAIKx6MFGQA/FFOtrqoMS+DAsl9JL14si8NFbzUkMQ1EAiEAvwqiFlqRgb/FAoPW1/2t4+1niW7QcVzqv+ZktNPSd4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2961401},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"8e5d62bbe51d4bb1bcbd106a9616f30c7af18457","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.0_1774899930717_0.9140276048929505","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.1","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.1","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"9a7c9b8ed1082a029ff6c39112fa95ae2d074b4f","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.1.tgz","fileCount":22,"integrity":"sha512-IimbD/YEzMIErZJqB6srQAZbVRiWUXn4LDx1kD7rj8nfEGir/J9Fyl666X4CHG2UfDuRLAClV07N3k7/xXPEeg==","signatures":[{"sig":"MEYCIQCzK8xIrGhyxLO0sG1KFnqGHMU00hqDONbZ1DlY1wWvbgIhAOThHBtYFAp9GtO4RzQtF+dXTbBEmZxGf6CNMlTjpLz6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3017309},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f91fb972a8fd1a410d2bc334b999ce677b35ff94","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.1_1774922987378_0.9402664613639744","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.2","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.2","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"1dbb7969350bf46876b936a20971c20c3859f897","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.2.tgz","fileCount":22,"integrity":"sha512-Ryxzd+SvSgOhBH0Ngez8U3laEW1/iU65j+X75WVDehm6MLTBaOREHN3cpYh+9GVA9eIlGklA8ucnzosVHDpRdA==","signatures":[{"sig":"MEQCIAHx1M/sbSXeGXdPWs4/X5hSb2gkYHm24S9qGIeBSSNlAiBkecyhPTX95+ayc9UnYebuATrFTgNYnpWAMJfKP5z+YQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3938068},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"122bfb10fa0b6c25f48d16363b016f541e1b15f8","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.2_1775141009958_0.6196419617271478","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.3","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.3","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"267e24370ceb92569f352c4235dd6227739b9d1e","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.3.tgz","fileCount":22,"integrity":"sha512-SlQIGY70vDBy89olBCCZT7x+a3OLMQmCCf+pR+5MzNCfmAlhfDnzqVk/FNlSvfi2OSYVQTQ/qiW50mjiOt2nAw==","signatures":[{"sig":"MEYCIQDQa+siCs9XJtsaXRSk1Ws9uCRE0SGnkdgisihTwBIu7AIhALdb6KFyoQbv3GdLfZLQTKhOFhRQVSHu5Zf1MbzrzHzj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3989305},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7daa64a4f5c3effb0a18119ab8adba3eaf7b419e","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","amqplib":"^1.0.3","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/amqplib":"^0.10.8","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.3_1776213575179_0.5824772148471689","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.4","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.4","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"b84f398c5be81cdc47f7ee0ee9bc6c41a33df16a","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.4.tgz","fileCount":22,"integrity":"sha512-8K+WcDBPQkbqG14xlTa4Xd4w/Ki5CBGbAyc0YCIFQDlXj/OW9+TgxYuadS2g/JJDPgm6KXl+p/qrC8uqW8zDmQ==","signatures":[{"sig":"MEQCIC6uRbpmcOCj1BwDAIbvHms6s6/2b6QHOCSXp0GVWdIXAiAsLVj0rsoLWMLFNugBwgV1+RHTW9M9+gcBlktDn6zkZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3998202},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"47446ea4070b5df6fc931bdede4918f7ec5b93cc","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","amqplib":"^1.0.3","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/amqplib":"^0.10.8","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.4_1776723046476_0.7061465778868921","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.5","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.5","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"b1bc24c19a106c1ebe86acab62535f6ec253d115","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.5.tgz","fileCount":22,"integrity":"sha512-OS2rY76chlNdIIYmxx+2xOpodcZYvT3UuIoiYeuQZ74UsSFFehsKum3ugGgDkV+/I5fSzz5dEjEbnu8qTTTyTw==","signatures":[{"sig":"MEQCIDTuuJRdyW+TkiYXR1GNj8tQslAG6Nw2/+NFsQQ31krSAiBxcGlatR9VGg1ACt7OyyI6k7rEtFi9aLqkyU4FGm8E8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3998473},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"823406b911bc374bf6efe716f12a7e802396dd5d","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","amqplib":"^1.0.3","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/amqplib":"^0.10.8","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.5_1776730264043_0.1798884207039193","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.6","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.6","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cli-workflow":"dist/aio-toolkit-cli-workflow/bin/cli.js","aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"0dba75e01b321cd9a2a87be16f80feebf7dc3f16","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.6.tgz","fileCount":35,"integrity":"sha512-20Mm7P0wOS5HFRST01NaLQne/eCexKxTkKbw6lgQH/vLOkTOgD+Q3LLULVnVCdrvuYwOCanQt3FuQoMz45+PbQ==","signatures":[{"sig":"MEQCIDI0Jgia0fYSV7z5A69xQ3Q7/Q7wAUXYWkG9V5NdcurCAiBFdQikl8lhJMuKvsQN5MTm0gDrWF/F/ZRsLn0Mws5Cqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4510486},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"19dda808604f3e2024162c79131bb0f0620cde7e","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","amqplib":"^1.0.3","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@aws-sdk/client-sqs":"^3.1045.0","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/amqplib":"^0.10.8","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.6_1779384005057_0.3617788895450449","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.7","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.7","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cli-workflow":"dist/aio-toolkit-cli-workflow/bin/cli.js","aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"04e2f14024f6250bba5f1b11fb60e7753ae8c998","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.7.tgz","fileCount":35,"integrity":"sha512-I0XsEt2MpXMi9NVyadxM0JhNEzyTCmLHFnZmw4c15fyqw9sysLa9CgVOamS2NZHNYMoryKhRgT21VtLkFiP8KA==","signatures":[{"sig":"MEUCIQDakZYbsgJajd2rHVkm9KdQv8U20JvS5YQeNsdOk2wFGwIgcViPS/xClODHV+d4nhYrWoQAAiFpXPtPSQnZIwn2f04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4605872},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4e37d360155686190bd5d536ec6d075aff59ff73","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","amqplib":"^1.0.3","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@aws-sdk/client-sqs":"^3.1045.0","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/amqplib":"^0.10.8","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.7_1781833846587_0.22228250170837938","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"@adobe-commerce/aio-toolkit","version":"1.2.8","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-toolkit@1.2.8","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"bin":{"aio-toolkit-cli-workflow":"dist/aio-toolkit-cli-workflow/bin/cli.js","aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"2a19c9957f6bcf6278279c26d06888db440f07f9","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.8.tgz","fileCount":35,"integrity":"sha512-6cSlwAcqb1YFc7ugZVpl1U6/F1eleWH+a1WB4G7FXJocC1wrMsMqyX+YtnqJ1kV6HuLl5w1h8V6WL9ogESF9Yw==","signatures":[{"sig":"MEYCIQDPn0CmrpEwJtQllVHjiUAWwDpF+JXwRRNo++OFi6rNqQIhAObKq7qEnr8tlqNQiqmGh6DbsRQuf+6w7Gf7Nt00xvcB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4609001},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d6a729ac2a114921d2dff78967a952f2c201d8a2","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","amqplib":"^1.0.3","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@aws-sdk/client-sqs":"^3.1045.0","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/amqplib":"^0.10.8","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^7.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aio-toolkit_1.2.8_1787848602341_0.1204300803582854","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"_id":"@adobe-commerce/aio-toolkit@1.2.9","bin":{"aio-toolkit-cli-workflow":"dist/aio-toolkit-cli-workflow/bin/cli.js","aio-toolkit-cursor-context":"dist/aio-toolkit-cursor-context/bin/cli.js","aio-toolkit-onboard-events":"dist/aio-toolkit-onboard-events/bin/cli.js"},"dist":{"shasum":"d0f49f3bf499c915ea6b2a148fa983beaa98de57","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-toolkit/-/aio-toolkit-1.2.9.tgz","fileCount":35,"integrity":"sha512-S5ZX2seH6aHyDiUDFNw7L/pnfTczU6bOEvwKdk9bufD32RBp5pFftFJ+R6Ghfr0QW2yhnJzY/IuQOUR098zyGA==","signatures":[{"sig":"MEUCIQCOTQJYUMJnb9yH+4DvA87dS7z4FlxCNf7emI8Fi8RR5QIgJHPFq1lS65nuj1W1VIt7OjkhRkqBTW+qu3iFMIRt5K0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD2iaNdOt2ys7aBZaUKR35qrjzP4kbm4KouwvGLu+ObFwIgMjnxYZ4exV+atW7Dfb1aTaBKxjfS1aFPPsdVpmpRr0o="}],"unpackedSize":4625017},"main":"./dist/index.js","name":"@adobe-commerce/aio-toolkit","types":"./dist/index.d.ts","author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7f3de84171e64db2e8e37652519ae08fcd7b1807","license":"SEE LICENSE IN LICENSE","scripts":{"dev":"tsc --watch","lint":"eslint src test --ext .ts","test":"jest --passWithNoTests","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","prepare":"husky","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src test --ext .ts --fix","safe-add":"npm run pre-add && git add","test:fast":"jest --passWithNoTests --silent","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsup --watch","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"jest --coverage","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","prepublishOnly":"npm run build","security:audit":"npm audit --audit-level=moderate","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast"},"version":"1.2.9","_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"_npmVersion":"10.8.2","description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"_nodeVersion":"20.20.2","dependencies":{"got":"^11.8.6","uuid":"^10.0.0","yaml":"^2.0.0","dotenv":"^17.3.1","amqplib":"^1.0.3","openwhisk":"^3.21.8","node-fetch":"^2.7.0","oauth-1.0a":"^2.2.6","cloudevents":"^8.0.2","@aws-sdk/client-sqs":"^3.1045.0","@adobe-commerce/aio-services-kit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.1.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^8.55.0","graphql":"^16.11.0","ts-jest":"^29.4.1","prettier":"^3.1.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.6","@adobe/aio-sdk":"^6.0.0","@types/amqplib":"^0.10.8","@types/graphql":"^14.2.3","@commitlint/cli":"^19.8.1","@adobe/aio-lib-db":"^1.0.1","@types/node-fetch":"^2.6.13","@adobe/aio-lib-ims":"^8.1.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","@adobe/aio-lib-telemetry":"^1.1.3","@opentelemetry/resources":"^2.0.0","@typescript-eslint/parser":"^6.13.0","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"graphql":">=14.0.0","typescript":">=4.9.0","@adobe/aio-sdk":">=6.0.0","@adobe/aio-lib-db":">=1.0.0","@adobe/aio-lib-ims":">=7.0.0","@adobe/aio-lib-telemetry":">=1.0.0","@opentelemetry/resources":">=2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aio-toolkit_1.2.9_1789956762612_0.7739097608812597"}}},"time":{"created":"2025-09-16T01:35:20.147Z","modified":"2026-09-21T02:12:42.968Z","1.0.0":"2025-09-16T01:35:20.487Z","1.0.1":"2025-09-22T22:16:04.979Z","1.0.2":"2025-09-30T15:06:41.467Z","1.0.3":"2025-10-23T15:03:49.427Z","1.0.4":"2025-10-29T17:11:55.048Z","1.0.5":"2025-11-03T15:03:12.789Z","1.0.6":"2025-11-11T01:35:12.907Z","1.0.7":"2025-11-12T02:03:41.153Z","1.0.8":"2025-11-18T08:34:20.816Z","1.0.9":"2025-12-25T03:59:35.960Z","1.0.10":"2026-01-02T01:19:40.614Z","1.0.11":"2026-01-05T22:37:20.905Z","1.0.12":"2026-01-06T19:05:56.427Z","1.0.13":"2026-01-07T19:25:34.661Z","1.0.14":"2026-01-20T15:30:07.569Z","1.0.15":"2026-02-09T15:51:31.414Z","1.0.16":"2026-02-24T21:11:50.656Z","1.0.17":"2026-02-25T22:55:23.486Z","1.0.18":"2026-03-03T20:40:33.677Z","1.1.0":"2026-03-28T15:03:19.204Z","1.1.1":"2026-03-28T16:46:44.529Z","1.2.0":"2026-03-30T19:45:30.986Z","1.2.1":"2026-03-31T02:09:47.606Z","1.2.2":"2026-04-02T14:43:30.178Z","1.2.3":"2026-04-15T00:39:35.357Z","1.2.4":"2026-04-20T22:10:46.765Z","1.2.5":"2026-04-21T00:11:04.208Z","1.2.6":"2026-05-21T17:20:05.309Z","1.2.7":"2026-06-19T01:50:46.760Z","1.2.8":"2026-08-27T16:36:42.546Z","1.2.9":"2026-09-21T02:12:42.750Z"},"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","keywords":["adobe","app-builder","toolkit","backend","utilities","typescript","aio"],"description":"A comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverag","maintainers":[{"name":"grahamcrackers","email":"gmrogers04@gmail.com"},{"name":"kaydenalthen","email":"althen@adobe.com"},{"name":"depatil","email":"depatil@adobe.com"},{"name":"r48patel","email":"r48patel@gmail.com"},{"name":"wbrandon_adobe","email":"wbrandon@adobe.com"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"readme":"# @adobe-commerce/aio-toolkit\n\n## Overview\n\nA comprehensive TypeScript toolkit for Adobe App Builder applications providing standardized Adobe Commerce integrations, I/O Events orchestration, file storage utilities, authentication helpers, and robust backend development tools with 100% test coverage and enterprise-grade reliability.\n\n## Installation\n\n```bash\nnpm install @adobe-commerce/aio-toolkit \\\n  @adobe/aio-sdk \\\n  @adobe/aio-lib-db \\\n  @adobe/aio-lib-ims \\\n  @adobe/aio-lib-telemetry \\\n  @opentelemetry/resources \\\n  graphql\n```\n\n> **App Builder projects** already include `@adobe/aio-sdk`, `@adobe/aio-lib-ims`, and `graphql` — you only need to add the missing ones. See [Dependency Resolution](#dependency-resolution) for details.\n\n## Usage\n\nThe toolkit is organized into five main modules:\n\n### 🛠️ Framework Components\n\n**Core infrastructure for Adobe App Builder applications**\n\n#### `RuntimeAction`\nHTTP request handling and business logic execution for Adobe I/O Runtime.\n\n```typescript\nconst {\n  RuntimeAction,\n  RuntimeActionResponse,\n  HttpMethod,\n  HttpStatus,\n} = require('@adobe-commerce/aio-toolkit');\n\n// Create a simple action\nconst myAction = RuntimeAction.execute(\n  'process-user', // Action name\n  [HttpMethod.POST], // Allowed HTTP methods\n  ['userId'], // Required parameters\n  ['authorization'], // Required headers\n  async (params, ctx) => {\n    // Your business logic here\n    const { userId } = params;\n    const { logger } = ctx;\n\n    logger.info(`Processing request for user: ${userId}`);\n\n    // Return success response\n    return RuntimeActionResponse.success({\n      message: 'Action completed successfully',\n      userId: userId,\n    });\n  }\n);\n\n// Export for Adobe I/O Runtime\nexports.main = myAction;\n```\n\n#### `EventConsumerAction`\nEvent-driven processing for Adobe I/O Events with automatic validation.\n\n```typescript\nconst { \n  EventConsumerAction,\n  RuntimeActionResponse,\n  HttpStatus\n} = require('@adobe-commerce/aio-toolkit');\n\n// Create a simple event consumer\nconst myEventConsumer = EventConsumerAction.execute(\n  'commerce-event-handler',\n  ['eventType'], // Required parameters\n  ['x-adobe-signature'], // Required headers\n  async (params, ctx) => {\n    const { eventType } = params;\n    const { logger } = ctx;\n\n    logger.info(`Processing event: ${eventType}`);\n\n    // Process the event\n    await processCommerceEvent(eventType, params);\n\n    // Return success response\n    return RuntimeActionResponse.success({\n      message: 'Event processed successfully',\n      eventType: eventType,\n      processedAt: new Date().toISOString()\n    });\n  }\n);\n\n// Export for Adobe I/O Runtime\nexports.main = myEventConsumer;\n```\n\n#### `WebhookAction`\nSecure webhook request handler with built-in Adobe Commerce signature verification.\n\n```typescript\nconst { \n  WebhookAction,\n  WebhookActionResponse,\n  SignatureVerification\n} = require('@adobe-commerce/aio-toolkit');\n\n// Create a webhook action with signature verification enabled\nconst myWebhook = WebhookAction.execute(\n  'order-webhook',\n  ['orderId'], // Required parameters\n  ['x-adobe-commerce-webhook-id'], // Required headers\n  SignatureVerification.ENABLED, // Enable signature verification\n  async (params, ctx) => {\n    const { orderId } = params;\n    const { logger } = ctx;\n\n    logger.info(`Processing order webhook: ${orderId}`);\n\n    // Your webhook logic here\n    // Return structured webhook response\n    return [\n      WebhookActionResponse.add('result', {\n        orderId: orderId,\n        status: 'processed',\n        timestamp: new Date().toISOString()\n      }),\n      WebhookActionResponse.success()\n    ];\n  }\n);\n\n// Export for Adobe I/O Runtime\nexports.main = myWebhook;\n\n// Disable signature verification for testing\nconst testWebhook = WebhookAction.execute(\n  'test-webhook',\n  ['data'],\n  [],\n  SignatureVerification.DISABLED,\n  async (params, ctx) => {\n    return WebhookActionResponse.success();\n  }\n);\n```\n\n**WebhookActionResponse Operations:**\n- `success()`: Indicates successful webhook processing\n- `exception(message?, exceptionType?)`: Returns error response with an optional Magento exception type (e.g. `'Magento\\\\Framework\\\\GraphQl\\\\Exception\\\\GraphQlInputException'`)\n- `add(path, value, instance?)`: Adds data to response\n- `replace(path, value, instance?)`: Replaces data in response\n- `remove(path)`: Removes data from response\n\n**Exception response example:**\n```typescript\n// Return a typed Magento exception — Commerce will surface it as a proper error\nreturn WebhookActionResponse.exception(\n  'Lease term not available for this cart',\n  'Magento\\\\Framework\\\\GraphQl\\\\Exception\\\\GraphQlInputException'\n);\n// Produces: { \"op\": \"exception\", \"type\": \"Magento\\\\...\", \"message\": \"...\" }\n```\n\n#### `PublishEvent`\nEvent publishing component for Adobe I/O Events with CloudEvents support.\n\n```typescript\nconst { PublishEvent } = require('@adobe-commerce/aio-toolkit');\n\n// Initialize the publisher\nconst publishEvent = new PublishEvent(\n  'your-ims-org-id@AdobeOrg',\n  'your-api-key',\n  'your-access-token',\n  logger // Optional custom logger\n);\n\n// Publish a simple event\nconst result = await publishEvent.execute(\n  'your-provider-id',\n  'commerce.order.created',\n  {\n    orderId: 'ORD-123456',\n    customerId: 'CUST-789',\n    amount: 199.99,\n    currency: 'USD'\n  },\n  'eventId'\n);\n\nconsole.log(`Event published: ${result.eventId}, Status: ${result.status}`);\n\n// Publish an event with subject (eventId is optional; pass undefined to use auto-generated ID)\nconst orderResult = await publishEvent.execute(\n  'commerce-provider',\n  'com.adobe.commerce.order.shipped',\n  {\n    orderId: 'ORD-123456',\n    trackingNumber: 'TRK-789',\n    carrier: 'UPS',\n    estimatedDelivery: '2023-12-05T18:00:00Z'\n  },\n  undefined,\n  'orders/ORD-123456'\n);\n\n// Handle publishing results\nif (orderResult.status === 'published') {\n  console.log(`Order shipped event published successfully: ${orderResult.eventId}`);\n} else {\n  console.error(`Failed to publish event: ${orderResult.error}`);\n}\n```\n\n#### `GraphQlAction`\nGraphQL server implementation with schema validation and introspection control.\n\n```typescript\nconst { GraphQlAction } = require('@adobe-commerce/aio-toolkit');\n\nconst schema = `\n  type Query {\n    hello: String\n    user(id: ID!): User\n  }\n  \n  type User {\n    id: ID!\n    name: String!\n    email: String!\n  }\n`;\n\nconst resolvers = async ctx => {\n  const { logger } = ctx;\n\n  return {\n    hello: () => 'Hello, World!',\n    user: ({ id }) => {\n      logger.debug(`Fetching user: ${id}`);\n      return {\n        id,\n        name: 'John Doe',\n        email: 'john@example.com'\n      };\n    }\n  };\n};\n\n// Create and export GraphQL endpoint\nexports.main = GraphQlAction.execute(schema, resolvers);\n```\n\n#### `OpenWhisk` & `OpenWhiskAction`\nOpenWhisk client for serverless action invocation and integration. OpenWhisk action wrapper with enhanced logging and error handling.\n\n```typescript\nconst { OpenWhisk, OpenwhiskAction, RuntimeActionResponse } = require('@adobe-commerce/aio-toolkit');\n\n// Invoke another action\nconst invokeAction = async (params) => {\n  try {\n    // Initialize OpenWhisk client\n    const openwhisk = new Openwhisk(params.API_HOST, params.API_AUTH)\n\n    const result = await openwhisk.execute('hello-world', {\n      name: 'World'\n    });\n    \n    console.log('Action result:', result);\n    return result;\n  } catch (error) {\n    console.error('Action invocation failed:', error);\n    throw error;\n  }\n};\n\n// Simple action with logging\nconst helloWorldAction = OpenwhiskAction.execute('hello-world', async (params, ctx) => {\n  const { logger } = ctx;\n  const { name = 'World' } = params;\n\n  logger.info(`Greeting request for: ${name}`);\n\n  const message = `Hello, ${name}!`;\n\n  logger.info(`Generated greeting: ${message}`);\n\n  return RuntimeActionResponse.success({\n    message,\n    timestamp: new Date().toISOString(),\n    action: 'hello-world'\n  });\n});\n\n// Export for Adobe I/O Runtime\nexports.main = helloWorldAction;\n```\n\n#### `Telemetry`\nOpenTelemetry integration for enterprise-grade observability with distributed tracing, metrics collection, and structured logging.\n\n**Features:**\n- Automatic telemetry instrumentation for all framework action classes\n- Request ID correlation across all log messages (`x-adobe-commerce-request-id`)\n- Action type identification for better filtering (`action.type`)\n- Access to current OpenTelemetry span via `ctx.telemetry` for custom instrumentation\n- `telemetry.instrument()` method for wrapping functions with automatic span creation\n- Conditional span access based on `ENABLE_TELEMETRY` flag\n- Multi-provider support (New Relic and Grafana LGTM implemented)\n- Graceful fallback when telemetry is not configured\n- Zero performance impact when disabled (opt-in via feature flags)\n\n**Configuration:**\n\nConfigure telemetry in your `app.config.yaml`:\n\n```yaml\nruntime-action:\n  function: actions/runtime-action/index.js\n  web: 'yes'\n  runtime: nodejs:22\n  inputs:\n    LOG_LEVEL: debug\n    ENVIRONMENT: $ENVIRONMENT\n    ENABLE_TELEMETRY: true\n    NEW_RELIC_TELEMETRY: true\n    NEW_RELIC_SERVICE_NAME: $NEW_RELIC_SERVICE_NAME\n    NEW_RELIC_LICENSE_KEY: $NEW_RELIC_LICENSE_KEY\n  annotations:\n    require-adobe-auth: true\n    final: true\n```\n\nSet environment variables in your `.env` file:\n\n```bash\n# Telemetry configuration\nENVIRONMENT=production\nNEW_RELIC_SERVICE_NAME=my-app-builder-app\nNEW_RELIC_LICENSE_KEY=your-license-key-here\nNEW_RELIC_URL=https://otlp.nr-data.net:4318  # Optional\n```\n\n**Usage Example:**\n\nTelemetry is automatically initialized when you use framework action classes:\n\n```javascript\n/*\n * <license header>\n */\n\nconst { RuntimeAction, RuntimeActionResponse, HttpMethod } = require(\"@adobe-commerce/aio-toolkit\");\n\n// Custom function with telemetry\nconst processData = (data, telemetry, logger) => {\n  const span = telemetry?.getCurrentSpan?.();\n  if (span) {\n    span.setAttribute('data.size', data.length);\n  }\n  logger.info('Processing data');\n  return { processed: true };\n};\n\nexports.main = RuntimeAction.execute(\n  'my-action',\n  [HttpMethod.POST],\n  ['data'],\n  ['Authorization'],\n  async (params, ctx) => {\n    const { logger, telemetry } = ctx;\n\n    // Logger automatically includes x-adobe-commerce-request-id and action.type\n    logger.info('Action started');\n\n    // Wrap function to create child span\n    const instrumented = telemetry?.instrument?.('data.process', processData) || processData;\n    const result = instrumented(params.data, telemetry, logger);\n\n    return RuntimeActionResponse.success(result);\n  }\n);\n```\n\n**Key Features:**\n- `telemetry.getCurrentSpan(params)` - Access current span for custom attributes and events\n- `telemetry.instrument(spanName, fn)` - Wrap functions to create child spans automatically\n- Safe with optional chaining - gracefully degrades when telemetry is disabled\n- Logger automatically includes request ID and action type for correlation\n\n**What Gets Logged Automatically:**\n\nAll log messages automatically include:\n- `x-adobe-commerce-request-id` - Extracted from webhook headers for request correlation\n- `action.type` - Identifies the action type (runtime-action, webhook-action, event-consumer-action, openwhisk-action)\n- Action lifecycle events (start, parameters, completion, errors)\n- Full stack traces for errors\n\n**Viewing in New Relic:**\n\nOnce configured, you can query your logs in New Relic using these attributes:\n\n```sql\n-- Filter by request ID\nSELECT * FROM Log WHERE `x-adobe-commerce-request-id` = 'request-123'\n\n-- Filter by action type\nSELECT * FROM Log WHERE `action.type` = 'webhook-action'\n\n-- Find errors for a specific request\nSELECT * FROM Log WHERE `x-adobe-commerce-request-id` = 'request-123' AND level = 'error'\n\n-- Group by action type\nSELECT count(*) FROM Log FACET `action.type` SINCE 1 hour ago\n```\n\n---\n\n#### Grafana LGTM Telemetry\n\nThe Grafana provider forwards traces, metrics, and logs to an OTLP/HTTP collector backed by the [Grafana LGTM](https://github.com/grafana/docker-otel-lgtm) all-in-one stack (**L**oki · **G**rafana · **T**empo · **M**imir). It works in two modes:\n\n| Mode | When | Collector URL |\n|---|---|---|\n| **Dev** | `GRAFANA_DEV=true` | `http://localhost:4318` (Docker image) |\n| **Deployed** | `GRAFANA_DEV` not set | `GRAFANA_ENDPOINT` (e.g. Cloudflare tunnel) |\n\n##### Dev mode — local Docker stack\n\nStart the LGTM stack with a single command:\n\n```bash\ndocker run --rm -p 3000:3000 -p 4317:4317 -p 4318:4318 \\\n  --name otel-lgtm \\\n  grafana/otel-lgtm:latest\n```\n\nThis exposes:\n\n| Port | Service |\n|---|---|\n| `3000` | Grafana UI — open `http://localhost:3000` (default credentials: `admin` / `admin`) |\n| `4317` | OTLP gRPC endpoint |\n| `4318` | OTLP HTTP endpoint (used by the toolkit) |\n\nConfigure `app.config.yaml`:\n\n```yaml\nruntime-action:\n  function: actions/runtime-action/index.js\n  web: 'yes'\n  runtime: nodejs:22\n  inputs:\n    LOG_LEVEL: debug\n    ENABLE_TELEMETRY: true\n    GRAFANA_TELEMETRY: true\n    GRAFANA_DEV: true\n    GRAFANA_SERVICE_NAME: $GRAFANA_SERVICE_NAME\n  annotations:\n    require-adobe-auth: true\n    final: true\n```\n\n`.env`:\n\n```bash\nGRAFANA_SERVICE_NAME=my-app-builder-app\n```\n\n##### Deployed mode — Cloudflare tunnel\n\nAdobe I/O Runtime actions run in the cloud and cannot reach `localhost`. Expose your local LGTM stack via a [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/trycloudflare/):\n\n```bash\nnpx cloudflared tunnel --url http://localhost:4318\n# Outputs a URL like: https://abc123-def456.trycloudflare.com\n```\n\nConfigure `app.config.yaml`:\n\n```yaml\nruntime-action:\n  function: actions/runtime-action/index.js\n  web: 'yes'\n  runtime: nodejs:22\n  inputs:\n    LOG_LEVEL: debug\n    ENABLE_TELEMETRY: true\n    GRAFANA_TELEMETRY: true\n    GRAFANA_ENDPOINT: $GRAFANA_ENDPOINT\n    GRAFANA_SERVICE_NAME: $GRAFANA_SERVICE_NAME\n  annotations:\n    require-adobe-auth: true\n    final: true\n```\n\n`.env`:\n\n```bash\nGRAFANA_ENDPOINT=https://abc123-def456.trycloudflare.com\nGRAFANA_SERVICE_NAME=my-app-builder-app\n```\n\n##### Usage example\n\nTelemetry is automatically initialized when you use framework action classes:\n\n```javascript\n/*\n * <license header>\n */\n\nconst { RuntimeAction, RuntimeActionResponse, HttpMethod } = require('@adobe-commerce/aio-toolkit');\nconst name = 'runtime-action';\n\nexports.main = RuntimeAction.execute(\n  name,\n  [HttpMethod.POST],\n  [],\n  ['Authorization'],\n  async (params, ctx) => {\n    const { logger, telemetry } = ctx;\n\n    logger.info({\n      message: `${name}-log`,\n      params: JSON.stringify(params),\n    });\n\n    const sampleInstrumental = telemetry.instrument(\n      `runtime.action.${name}.sampleInstrumental`,\n      async () => {\n        const span = telemetry.getCurrentSpan();\n\n        if (span) {\n          span.setAttribute('test', 'ABC');\n        }\n\n        logger.info({\n          message: `${name}-sampleInstrumental`,\n          test: 'ABC',\n        });\n\n        return 'Hello World';\n      }\n    );\n\n    const result = await sampleInstrumental();\n\n    return RuntimeActionResponse.success(result);\n  }\n);\n```\n\n##### Grafana Cloud\n\nGrafana Cloud provides a managed LGTM backend. It uses the same OTLP/HTTP protocol but requires\nHTTP Basic authentication with your stack's **Instance ID** and an **API key**.\n\nFind your OTLP endpoint and instance ID in **Grafana Cloud → Stack → OpenTelemetry**.\n\nConfigure `app.config.yaml`:\n\n```yaml\nruntime-action:\n  inputs:\n    ENABLE_TELEMETRY: true\n    GRAFANA_TELEMETRY: true\n    GRAFANA_CLOUD: true\n    GRAFANA_ENDPOINT: $GRAFANA_ENDPOINT\n    GRAFANA_SERVICE_NAME: $GRAFANA_SERVICE_NAME\n    GRAFANA_INSTANCE_ID: $GRAFANA_INSTANCE_ID\n    GRAFANA_API_KEY: $GRAFANA_API_KEY\n```\n\n`.env`:\n\n```bash\nGRAFANA_ENDPOINT=https://otlp-gateway-prod-us-east-0.grafana.net/otlp\nGRAFANA_SERVICE_NAME=my-app-builder-app\nGRAFANA_INSTANCE_ID=123456\nGRAFANA_API_KEY=glc_xxx\n```\n\n##### Environment variable reference\n\n| Variable | Mode | Required | Default | Description |\n|---|---|---|---|---|\n| `ENABLE_TELEMETRY` | all | ✅ | — | Must be `true` to enable any telemetry |\n| `GRAFANA_TELEMETRY` | all | ✅ | — | Must be `true` to select the Grafana provider |\n| `GRAFANA_DEV` | dev | — | `false` | Set `true` to use `http://localhost:4318` |\n| `GRAFANA_CLOUD` | cloud | — | `false` | Set `true` to enable Grafana Cloud Basic auth |\n| `GRAFANA_ENDPOINT` | tunnel / cloud | ✅ | — | Collector base URL (not needed in dev mode) |\n| `GRAFANA_SERVICE_NAME` | tunnel / cloud | ✅ | `app-builder-app` | Service name tag (not needed in dev mode) |\n| `GRAFANA_INSTANCE_ID` | cloud | ✅ | — | Grafana Cloud stack instance ID |\n| `GRAFANA_API_KEY` | cloud | ✅ | — | Grafana Cloud API key / token |\n\n**Multi-provider fallback chain:**\n\nThe toolkit tries providers in this order:\n1. **New Relic** — when `NEW_RELIC_TELEMETRY=true`\n2. **Grafana LGTM** — when `GRAFANA_TELEMETRY=true`\n3. **No telemetry** — original action runs uninstrumented\n\n---\n\n**Supported Action Classes:**\n\nTelemetry is automatically integrated with all framework action classes:\n- `RuntimeAction` - HTTP request handling with telemetry\n- `WebhookAction` - Webhook processing with telemetry\n- `EventConsumerAction` - Event-driven processing with telemetry\n- `OpenwhiskAction` - OpenWhisk action handling with telemetry\n\nAll action classes provide structured logging with automatic request ID and action type tracking.\n\n#### `LogSanitizer`\n\nUtility class that deep-clones a value and replaces sensitive field values with `\"[REDACTED]\"` before writing to logs. Used internally by all action classes and available for direct use.\n\n**Sensitive key detection (case-insensitive):**\n\n| Match type | Keys / patterns |\n|---|---|\n| Exact | `authorization`, `x-api-key`, `cookie`, `set-cookie` |\n| Suffix | `*_api_key`, `*_secret`, `*_token`, `*_password`, `*_key`, `*-token`, `*-secret`, `*-key` |\n\n**Constructor:**\n\n```typescript\nnew LogSanitizer(\n  additionalSensitiveKeys?: ReadonlySet<string>, // extra keys to redact (lowercase)\n  maxDepth?: number                              // recursion limit, default 10\n)\n```\n\n**`LogSanitizer.parseSensitiveKeys(raw: unknown): ReadonlySet<string>`**\n\nStatic helper that parses the `SENSITIVE_KEYS` runtime param into a `ReadonlySet<string>` suitable for the constructor. Accepts three input forms:\n\n| Input type | Example value | Result |\n|---|---|---|\n| Comma-separated string | `\"x-merchant-token,internal_id\"` | `Set { \"x-merchant-token\", \"internal_id\" }` |\n| Array | `[\"x-merchant-token\", \"INTERNAL_ID\"]` | `Set { \"x-merchant-token\", \"internal_id\" }` |\n| Single string | `\"x-merchant-token\"` | `Set { \"x-merchant-token\" }` |\n| Anything else (incl. `undefined`) | — | `Set {}` (no-op) |\n\nAll keys are lowercased; whitespace around commas and in array elements is trimmed; non-string array elements are silently dropped.\n\n**Automatic `SENSITIVE_KEYS` param support:**\n\nAll action classes (`RuntimeAction`, `EventConsumerAction`, `OpenwhiskAction`) and `Telemetry.createLogger()` automatically call `parseSensitiveKeys(params.SENSITIVE_KEYS)` when initializing `LogSanitizer`. To extend sanitization with project-specific keys, add them to `app.config.yaml`:\n\n```yaml\napplication:\n  actions:\n    my-action:\n      function: actions/my-action/index.js\n      inputs:\n        SENSITIVE_KEYS: \"x-merchant-token,internal_order_id\"\n```\n\nOr pass an array when testing:\n\n```typescript\nawait myAction({ ...params, SENSITIVE_KEYS: ['x-merchant-token', 'internal_order_id'] });\n```\n\n**Usage:**\n\n```typescript\nconst { LogSanitizer } = require('@adobe-commerce/aio-toolkit');\n\nconst sanitizer = new LogSanitizer();\n\n// Sanitize HTTP headers before logging\nlogger.debug({\n  message: 'Headers received',\n  headers: sanitizer.execute(params.__ow_headers || {}),\n});\n// authorization, x-api-key, cookie → \"[REDACTED]\"\n\n// Sanitize full action parameters (includes env-bound secrets)\nlogger.debug({\n  message: 'Parameters received',\n  parameters: sanitizer.execute(params),\n});\n// MY_API_KEY, NEW_RELIC_LICENSE_KEY, GRAFANA_API_KEY → \"[REDACTED]\"\n\n// Extend with project-specific keys using parseSensitiveKeys\nconst customSanitizer = new LogSanitizer(\n  LogSanitizer.parseSensitiveKeys(params.SENSITIVE_KEYS)\n);\ncustomSanitizer.execute(data);\n\n// Or construct a Set directly\nconst fixedSanitizer = new LogSanitizer(new Set(['x-merchant-token', 'my_internal_secret']));\nfixedSanitizer.execute(data);\n```\n\n**Behaviour:**\n- Returns a deep copy — never mutates the input\n- Handles nested objects and arrays recursively (configurable depth limit)\n- Primitives (`string`, `number`, `boolean`, `null`, `undefined`) are returned as-is\n\n---\n\n#### `RuntimeApiGatewayService`\nFlexible Adobe I/O Runtime API Gateway client that accepts bearer tokens for authenticated requests.\n\n```typescript\nconst { RuntimeApiGatewayService, AdobeAuth } = require('@adobe-commerce/aio-toolkit');\n\n// Step 1: Generate token using AdobeAuth (implement caching in your application)\nconst token = await AdobeAuth.getToken(\n  'your-client-id',\n  'your-client-secret',\n  'your-technical-account-id',\n  'your-technical-account-email@example.com',\n  'your-ims-org-id@AdobeOrg',\n  ['openid', 'AdobeID', 'adobeio_api']\n);\n\n// Step 2: Initialize the service with the token\nconst apiGatewayService = new RuntimeApiGatewayService(\n  'your-namespace-12345',          // Runtime namespace\n  'your-ims-org-id@AdobeOrg',      // IMS Org ID\n  token,                            // Bearer token\n  logger                            // Optional custom logger\n);\n\n// GET request\nconst data = await apiGatewayService.get('v1/web/my-package/my-action');\nconsole.log('Action response:', data);\n\n// POST request with payload\nconst result = await apiGatewayService.post('v1/web/my-package/process', {\n  orderId: 'ORD-123',\n  action: 'process'\n});\n\n// PUT request\nconst updateResult = await apiGatewayService.put('v1/web/my-package/update', {\n  id: '123',\n  status: 'completed'\n});\n\n// DELETE request\nconst deleteResult = await apiGatewayService.delete('v1/web/my-package/remove/123');\n```\n\n**Key Features:**\n- Built-in authentication headers\n- Support for GET, POST, PUT, DELETE methods\n- Flexible endpoint configuration\n- Comprehensive error handling\n- Accepts pre-generated bearer tokens (implement your own caching strategy)\n- CustomLogger integration\n\n**💡 Best Practice:** Implement token caching at the application level (Redis, Memcached, in-memory) and validate tokens with `BearerToken.info()` before use to avoid unnecessary token generation calls.\n\n#### `FileRepository`\nFile-based storage with CRUD operations for Adobe I/O Runtime applications.\n\n**Key Methods:**\n- `save(payload, id?, overwrite?)`: Saves data with optional ID parameter and overwrite flag. The `id` parameter takes precedence over `payload.id`. IDs are automatically sanitized to alphanumeric + underscore characters. Set `overwrite: true` to replace entire file, or `false` (default) to merge with existing data.\n- `load(id)`: Loads data by ID with file system timestamps (`createdAt`, `updatedAt`)\n- `list()`: Lists all stored records with file system timestamps\n- `metadata(id?)`: Retrieves file metadata (size, timestamps) without reading content - faster than `list()` for large datasets\n- `delete(ids)`: Deletes records by ID array\n\n**New in v1.0.4:**\n- **File System Timestamps**: `createdAt` and `updatedAt` are now retrieved from actual file system properties instead of being stored in file content\n- **Metadata Method**: New `metadata()` method for efficient file property retrieval without reading file content\n- **Overwrite Flag**: Control file update strategy with `save(payload, id, overwrite)` - merge (default) or replace entire file\n\n**Best Practice:** Create custom repository classes that extend FileRepository for specific entities.\n\n##### **1. Define Entity Repository**\nCreate a custom repository class extending FileRepository:\n\n```javascript\nconst { FileRepository } = require(\"@adobe-commerce/aio-toolkit\");\n\nclass EntityRepository extends FileRepository {\n    /**\n     * @constructor\n     */\n    constructor() {\n        super(\"/toolkit-demo/entity\");\n    }\n}\n\nmodule.exports = EntityRepository;\n```\n\n##### **2. List Action**\nRetrieve all entities from the repository:\n\n```javascript\nconst { HttpMethod, RuntimeAction, RuntimeActionResponse } = require(\"@adobe-commerce/aio-toolkit\");\nconst EntityRepository = require(\"@lib/EntityRepository\");\n\nexports.main = RuntimeAction.execute(\n    \"entity-list\",\n    [HttpMethod.POST],\n    [],\n    ['Authorization'],\n    async (params) => {\n        const entityRepository = new EntityRepository();\n        return RuntimeActionResponse.success(await entityRepository.list());\n    }\n);\n```\n\n##### **3. Load Action**\nLoad a specific entity by ID:\n\n```javascript\nconst { HttpMethod, RuntimeAction, RuntimeActionResponse } = require(\"@adobe-commerce/aio-toolkit\");\nconst EntityRepository = require(\"@lib/EntityRepository\");\n\nexports.main = RuntimeAction.execute(\n    \"entity-load\",\n    [HttpMethod.POST],\n    ['id'],\n    ['Authorization'],\n    async (params) => {\n        const entityRepository = new EntityRepository();\n        return RuntimeActionResponse.success(await entityRepository.load(params.id));\n    }\n);\n```\n\n##### **4. Save Action**\nSave entity data with flexible ID handling using the new optional ID parameter:\n\n```javascript\nconst { HttpMethod, RuntimeAction, RuntimeActionResponse } = require(\"@adobe-commerce/aio-toolkit\");\nconst EntityRepository = require(\"@lib/EntityRepository\");\n\nconst requiredParams = [\n    \"name\",\n    \"status\"\n];\n\nexports.main = RuntimeAction.execute(\n    \"entity-save\",\n    [HttpMethod.POST],\n    requiredParams,\n    ['Authorization'],\n    async (params) => {\n        const entityRepository = new EntityRepository();\n\n        // Build payload with required fields\n        let payload = {};\n        for (const fieldName in requiredParams) {\n            payload[requiredParams[fieldName]] = params[requiredParams[fieldName]];\n        }\n\n        // Extract ID parameter for prioritized handling\n        const explicitId = params.id || params.customId || null;\n        \n        // Save with optional ID parameter - it takes precedence over payload.id\n        const savedId = await entityRepository.save(payload, explicitId);\n\n        return RuntimeActionResponse.success({\n            id: savedId,\n            message: 'Entity saved successfully'\n        });\n    }\n);\n```\n\n##### **5. Save with Overwrite Flag**\nControl file update strategy with the overwrite parameter:\n\n```javascript\nconst { HttpMethod, RuntimeAction, RuntimeActionResponse } = require(\"@adobe-commerce/aio-toolkit\");\nconst EntityRepository = require(\"@lib/EntityRepository\");\n\nexports.main = RuntimeAction.execute(\n    \"entity-save-overwrite\",\n    [HttpMethod.POST],\n    ['name', 'status'],\n    ['Authorization'],\n    async (params) => {\n        const entityRepository = new EntityRepository();\n\n        const payload = {\n            name: params.name,\n            status: params.status\n        };\n\n        // Replace entire file instead of merging\n        const savedId = await entityRepository.save(payload, params.id, true);\n\n        return RuntimeActionResponse.success({\n            id: savedId,\n            message: 'Entity replaced successfully'\n        });\n    }\n);\n```\n\n##### **6. Metadata Action**\nRetrieve file metadata without reading content (faster for large datasets):\n\n```javascript\nconst { HttpMethod, RuntimeAction, RuntimeActionResponse } = require(\"@adobe-commerce/aio-toolkit\");\nconst EntityRepository = require(\"@lib/EntityRepository\");\n\nexports.main = RuntimeAction.execute(\n    \"entity-metadata\",\n    [HttpMethod.POST],\n    [],\n    ['Authorization'],\n    async (params) => {\n        const entityRepository = new EntityRepository();\n        \n        // Get metadata for all files\n        const allMetadata = await entityRepository.metadata();\n        \n        // Or get metadata for specific file\n        const singleMetadata = params.id \n            ? await entityRepository.metadata(params.id)\n            : null;\n\n        return RuntimeActionResponse.success({\n            all: allMetadata,\n            single: singleMetadata\n        });\n    }\n);\n```\n\n##### **7. Delete Action**\nDelete entities by providing an array of IDs:\n\n```javascript\nconst { HttpMethod, RuntimeAction, RuntimeActionResponse } = require(\"@adobe-commerce/aio-toolkit\");\nconst EntityRepository = require(\"@lib/EntityRepository\");\n\nexports.main = RuntimeAction.execute(\n    \"entity-delete\",\n    [HttpMethod.POST],\n    ['ids'],\n    ['Authorization'],\n    async (params) => {\n        const entityRepository = new EntityRepository();\n        return RuntimeActionResponse.success(await entityRepository.delete(params.ids));\n    }\n);\n```\n\nThis approach provides:\n- **Separation of concerns**: Each CRUD operation has its own action file\n- **Reusable repository**: Custom repository can be shared across actions  \n- **Proper validation**: Required parameters and headers are enforced\n- **Consistent responses**: All actions use RuntimeActionResponse for standardized output\n- **Flexible ID management**: Support for explicit IDs, payload IDs, and auto-generation\n- **Automatic sanitization**: IDs are cleaned to ensure file system compatibility\n\n#### `AbdbColumn` & `AbdbCollection`\n\nTyped schema definition and managed database connectivity via `@adobe/aio-lib-db`.\n\nThe recommended pattern is to create a dedicated collection class per entity by extending `AbdbCollection`, then use it directly inside runtime actions.\n\n##### 1. Provision a database\n\nA database must be provisioned before any collection can connect. There are two ways to do this:\n\n**Declarative provisioning via `app.config.yaml`** (runs on `aio app deploy`):\n\n```yaml\napplication:\n  runtimeManifest:\n    database:\n      auto-provision: true\n      region: emea\n```\n\nWhen the application is deployed with `aio app deploy`, a database is provisioned in the specified region unless one is already present. Declarative provisioning does **not** run during `aio app run` or `aio app dev`, so the database must be provisioned manually for local development (see below).\n\n**Manual provisioning via the AIO CLI:**\n\n```bash\naio app db provision [--region <area>]\n```\n\n##### 2. Configure authentication\n\nEvery `@adobe/aio-lib-db` call requires an IMS access token. The recommended approach is to use `@adobe/aio-sdk`, which handles token caching and refresh automatically:\n\n```javascript\nconst { generateAccessToken } = require('@adobe/aio-sdk').Core.AuthClient;\nconst libDb = require('@adobe/aio-lib-db');\n\nasync function main(params) {\n  const token = await generateAccessToken(params);\n  const db = await libDb.init({ token: token.access_token });\n}\n```\n\n**Requirements:**\n\n- The AIO project workspace must include the **App Builder Data Services API**.\n- The runtime action must have the `include-ims-credentials` annotation set to `true` in `app.config.yaml`:\n\n```yaml\nactions:\n  action:\n    function: actions/generic/action.js\n    annotations:\n      include-ims-credentials: true\n```\n\n> `@adobe/aio-sdk` transparently manages token caching and refresh — you do not need to implement this yourself.\n\n##### 3. Define a custom collection\n\nCreate a reusable collection class that declares the schema once:\n\n```javascript\n// src/collections/UserCollection.js\n'use strict';\n\nconst { AbdbCollection, AbdbColumnType } = require('@adobe-commerce/aio-toolkit');\n\n/**\n * ABDB collection for the `users` table.\n *\n * Columns:\n * - `first_name` (STRING, required)\n * - `last_name`  (STRING, required)\n * - `email`      (STRING, required)\n */\nclass UserCollection extends AbdbCollection {\n  constructor() {\n    super('users', (c) => {\n      c.addColumn('first_name', AbdbColumnType.STRING, 'First name', true)\n       .addColumn('last_name',  AbdbColumnType.STRING, 'Last name',  true)\n       .addColumn('email',      AbdbColumnType.STRING, 'Email address', true);\n    });\n  }\n}\n\nmodule.exports = UserCollection;\n```\n\n##### 4. Use it in a runtime action\n\n```javascript\nconst { HttpMethod, RuntimeAction, RuntimeActionResponse } = require('@adobe-commerce/aio-toolkit');\nconst { generateAccessToken } = require('@adobe/aio-sdk').Core.AuthClient;\nconst UserCollection = require('@lib/UserCollection');\n\nexports.main = RuntimeAction.execute(\n  'users-create',\n  [HttpMethod.POST],\n  ['first_name', 'last_name', 'email'],\n  ['Authorization'],\n  async (params, ctx) => {\n    const { first_name, last_name, email } = params;\n    const { logger } = ctx;\n\n    const token = await generateAccessToken(params);\n    const accessToken = token.access_token;\n\n    const users = new UserCollection();\n\n    // Fail-fast validation — throws before touching the DB\n    users.validate({ first_name, last_name, email });\n\n    // Open DB connection, run the operation, close in finally\n    const result = await users.run(async (collection) => {\n      return await collection.insertOne({ first_name, last_name, email });\n    }, accessToken);\n\n    logger.info(`User inserted: ${result.insertedId}`);\n\n    return RuntimeActionResponse.success(result);\n  }\n);\n```\n\n##### 5. API surface reference\n\n**`addColumn` call forms:**\n\n```javascript\n// Positional (short form) — description and isRequired are optional positional args\nc.addColumn('email', AbdbColumnType.STRING, 'Email address', true);\n\n// Options-object form — no undefined placeholder needed when setting only one option\nc.addColumn('email', AbdbColumnType.STRING, { isRequired: true });\nc.addColumn('note',  AbdbColumnType.STRING, { description: 'An optional note' });\n```\n\n**Supported types (`AbdbColumnType`):**\n\n| Value | Accepts |\n|---|---|\n| `STRING` | Primitive string |\n| `NUMBER` | Finite number, or numeric string (e.g. `\"3.14\"`) |\n| `BOOLEAN` | `true`/`false`, or `\"true\"`/`\"false\"` (case-insensitive) |\n| `DATETIME` | `Date`, finite timestamp (ms), or ISO 8601 string |\n\n**Validation strategies:**\n\n```javascript\n// Fail-fast — throws on the first error (use before DB writes)\nusers.validate({ first_name: 'Jane', last_name: 'Doe', email: 'jane@example.com' });\n\n// Collect all errors — ideal for API validation responses\nconst errors = users.validateAll({ first_name: '', email: 'not-an-email' });\n// errors → ['\"first_name\" expects a string', '\"last_name\" is required']\n```\n\n**Column introspection:**\n\n```javascript\nusers.hasColumn('email');          // true\nusers.getColumn('email');          // AbdbColumn instance (or undefined)\nusers.getColumns();                // Map<string, AbdbColumn> in insertion order\n```\n\n#### `AbdbRepository`\n\nA generic CRUD repository that wraps an `AbdbCollection` and holds the IMS token and region for the lifetime of the instance. All write methods validate payloads against the collection schema before touching the database, and `_created_at` / `_updated_at` timestamps are stamped automatically.\n\n##### Basic usage\n\n```javascript\nconst { AbdbRepository } = require('@adobe-commerce/aio-toolkit');\nconst { generateAccessToken } = require('@adobe/aio-sdk').Core.AuthClient;\nconst UserCollection = require('@lib/UserCollection');\n\nexports.main = async (params) => {\n  const token = await generateAccessToken(params);\n  const accessToken = token.access_token;\n\n  const repo = new AbdbRepository(new UserCollection(), accessToken);\n\n  // Insert — returns raw insertOne result (result.insertedId contains the new _id)\n  const insertResult = await repo.save({ first_name: 'Jane', last_name: 'Doe', email: 'jane@example.com' });\n  const id = insertResult.insertedId;\n\n  // Read by _id (shorthand)\n  const doc = await repo.findById(id);\n\n  // Read one by any field\n  const byEmail = await repo.findOne({ email: 'jane@example.com' });\n\n  // Read all (optional filter + optional pagination/sort)\n  const all    = await repo.find();\n  const active = await repo.find({ active: true });\n  const paged  = await repo.find({ active: true }, { current_page: 2, page_size: 20, sort: { column: '_created_at', direction: 'desc' } });\n\n  // Partial update — only provided fields are validated; required fields already in the DB are not re-checked\n  await repo.save({ first_name: 'Janet' }, id);\n\n  // Delete by _id\n  await repo.deleteById(id);\n};\n```\n\n##### Automatic timestamps\n\nThe repository automatically registers two extra columns on the collection:\n\n| Column | Set on | Value |\n|---|---|---|\n| `_created_at` | First insert only | ISO 8601 UTC string |\n| `_updated_at` | Every insert and update | ISO 8601 UTC string |\n\nThese are added once per collection instance, so re-using the same collection across multiple repository instances is safe.\n\n##### API reference\n\n**Single-document operations:**\n\n| Method | Description | Returns |\n|---|---|---|\n| `save(payload)` | Insert via `insertOne` (full validation, stamps both timestamps) | `Promise<Record<string, any>>` — raw `insertOne` result |\n| `save(payload, id)` | Update via `updateOne` with `upsert: true` (partial validation, stamps `_updated_at`) | `Promise<Record<string, any>>` — raw `updateOne` result |\n| `insertOne(payload)` | Single-document insert (full validation, stamps both timestamps) | `Promise<Record<string, any>>` — raw `insertOne` result (e.g. `insertedId`) |\n| `updateOne(payload, filter?, options?)` | Single-document update via `{ $set: payload }` (partial validation, stamps `_updated_at`) | `Promise<Record<string, any>>` — raw `updateOne` result (e.g. `modifiedCount`) |\n| `findOne(filter)` | First document matching filter, e.g. `{ email: 'a@b.com' }` | `Promise<T \\| null>` |\n| `findById(id)` | Shorthand for `findOne({ _id: new ObjectId(id) })` | `Promise<T \\| null>` |\n| `find(filter?, options?)` | All documents matching filter with optional pagination and sort (`AbdbFindOptions`) | `Promise<T[]>` |\n| `isIdExists(id)` | Returns `true` if a document with the given `_id` exists (no-op for empty id) | `Promise<boolean>` |\n| `exists(filter?, options?)` | Returns `true` if any document matching `filter` exists via `countDocuments` | `Promise<boolean>` |\n| `deleteOne(filter?)` | Delete first matching document via `deleteOne` | `Promise<Record<string, any>>` — raw `deleteOne` result |\n| `deleteById(id)` | Shorthand for `deleteOne({ _id: new ObjectId(id) })` | `Promise<Record<string, any>>` |\n| `count(filter?, options?)` | Count matching documents via `countDocuments` (default: all) | `Promise<number>` |\n\n**Bulk operations (single DB round-trip each):**\n\n| Method | Description | Returns |\n|---|---|---|\n| `insert(payloads[])` | Bulk insert via `insertMany` — each payload stamped and validated | `Promise<Record<string, any>>` — raw `insertMany` result (e.g. `insertedIds`) |\n| `update(payload, filter?, options?)` | Bulk update via `updateMany` with `{ $set: payload }` — stamps `_updated_at`, partial validation | `Promise<Record<string, any>>` — raw `updateMany` result (e.g. `modifiedCount`) |\n| `delete(filter?)` | Bulk delete via `deleteMany` (default: all documents) | `Promise<Record<string, any>>` — raw `deleteMany` result (e.g. `deletedCount`) |\n\n**Accessors:**\n\n| Method | Description |\n|---|---|\n| `getName()` | Returns the underlying collection name |\n| `getCollection()` | Returns the underlying `AbdbCollection` instance |\n\n##### Pagination and sorting\n\n`find` accepts an optional second argument for server-side pagination and sorting:\n\n```javascript\n// All active users, newest first\nconst all = await repo.find(\n  { active: true },\n  { sort: { column: '_created_at', direction: 'desc' } }\n);\n\n// Page 2, 20 results per page, sorted ascending by name\nconst page2 = await repo.find(\n  {},\n  { current_page: 2, page_size: 20, sort: { column: 'name', direction: 'asc' } }\n);\n\n// Just limit — no pagination offset\nconst top10 = await repo.find({}, { page_size: 10 });\n```\n\n`AbdbFindOptions` fields (all optional):\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `sort.column` | `string` | — | Field to sort by |\n| `sort.direction` | `'asc' \\| 'desc'` | `'asc'` | Sort direction |\n| `page_size` | `number` | — | Max documents to return (enables `.limit()`) |\n| `current_page` | `number` | — | 1-based page index; computes `.skip((page-1) * page_size)` |\n\n##### Custom region\n\n```javascript\n// Default region is 'amer'. Pass a third argument to override:\nconst repo = new AbdbRepository(new UserCollection(), accessToken, 'emea');\n```\n\n##### Bulk operations\n\n```javascript\n// Insert multiple documents in one DB call\nconst result = await repo.insert([\n  { first_name: 'Alice', last_name: 'Smith', email: 'alice@example.com' },\n  { first_name: 'Bob',   last_name: 'Jones', email: 'bob@example.com'   },\n]);\nconsole.log(result.insertedIds); // array of inserted _id values\n\n// Update all matching documents in one DB call\nconst updateResult = await repo.update({ active: false }, { email: 'bob@example.com' });\nconsole.log(updateResult.modifiedCount); // number of documents updated\n\n// Delete all matching documents in one DB call\nconst deleteResult = await repo.delete({ active: false });\nconsole.log(deleteResult.deletedCount); // number of documents deleted\n\n// Delete everything in the collection\nawait repo.delete();\n```\n\n### 🏪 Commerce Components  \n\n**Adobe Commerce API integration and authentication**\n\n#### `AdobeAuth`\nAdobe IMS authentication and token management.\n\n```typescript\nconst { AdobeAuth } = require('@adobe-commerce/aio-toolkit');\n\n// Get authentication token\nconst token = await AdobeAuth.getToken(\n  'your-client-id',\n  'your-client-secret', \n  'your-technical-account-id',\n  'your-technical-account-email',\n  'your-ims-org-id',\n  ['AdobeID', 'openid', 'adobeio_api'] // Scopes\n);\n\nconsole.log('Authentication token:', token);\n```\n\n#### `AdobeCommerceClient`\nHTTP client for Adobe Commerce API integration with multiple authentication methods.\n\n**OAuth 1.0a Authentication**\n```typescript\nconst { AdobeCommerceClient, Oauth1aConnection } = require('@adobe-commerce/aio-toolkit');\n\nconst connection = new Oauth1aConnection(\n  'consumer-key',\n  'consumer-secret',\n  'access-token',\n  'access-token-secret',\n  logger // Optional custom logger\n);\n\n// Create client\nconst client = new AdobeCommerceClient('https://your-commerce-store.com/rest', connection);\n\n// Make API calls\nconst products = await client.get('V1/products');\nconst newProduct = await client.post('V1/products', {}, productData);\n```\n\n**IMS (Identity Management System) Authentication**\n```typescript\nconst { AdobeCommerceClient, ImsConnection, AdobeAuth, BearerToken } = require('@adobe-commerce/aio-toolkit');\n\n// Step 1: Generate token using AdobeAuth (implement caching in your application)\n// Check your application cache first\nlet token = await yourAppCache.get('commerce_ims_token');\n\nif (!token || !BearerToken.info(token).isValid) {\n  // Generate new token\n  token = await AdobeAuth.getToken(\n    'client-id',\n    'client-secret',\n    'technical-account-id',\n    'technical-account-email',\n    'ims-org-id@AdobeOrg',\n    ['AdobeID', 'openid', 'adobeio_api']\n  );\n\n  // Store in your application cache with appropriate TTL\n  const tokenInfo = BearerToken.info(token);\n  if (tokenInfo.isValid && tokenInfo.timeUntilExpiry) {\n    const ttl = Math.floor(tokenInfo.timeUntilExpiry / 1000) - 600; // 10-min buffer\n    await yourAppCache.set('commerce_ims_token', token, ttl);\n  }\n}\n\n// Step 2: Create connection with token\nconst connection = new ImsConnection(token, logger); // Optional logger\n\n// Step 3: Create client with IMS authentication\nconst client = new AdobeCommerceClient('https://your-commerce-store.com', connection);\n\n// Make API calls\nconst products = await client.get('V1/products');\nconst newProduct = await client.post('V1/products', {}, productData);\n```\n\n> **💡 Best Practice:** Implement token caching at the application level (Redis, Memcached, in-memory) to avoid unnecessary token generation calls.\n\n**⚠️ DEPRECATED: ImsToken Class**\n\n> **This class is deprecated due to built-in caching mechanism issues:**\n> - Relies on Adobe I/O Runtime State API which has reliability issues\n> - State API may not be available in all runtime environments\n> - Hard-coded TTL buffers and minimum TTL are inflexible\n> - Limited control over caching strategy\n> \n> **Migration Required:** Use `AdobeAuth` directly and implement caching at the application level.\n\n```typescript\n// ❌ OLD (Deprecated) - ImsToken with built-in caching\nconst { ImsToken } = require('@adobe-commerce/aio-toolkit');\n\nconst imsToken = new ImsToken(\n  'client-id',\n  'client-secret',\n  'technical-account-id',\n  'technical-account-email',\n  'ims-org-id@AdobeOrg',\n  ['AdobeID', 'openid', 'adobeio_api'],\n  logger // optional\n);\n\nconst token = await imsToken.execute();\n```\n\n```typescript\n// ✅ NEW (Recommended) - AdobeAuth with application-level caching\nconst { AdobeAuth, BearerToken } = require('@adobe-commerce/aio-toolkit');\n\n// Check your application cache first (Redis, Memcached, in-memory, etc.)\nlet token = await yourAppCache.get('ims_token');\n\n// Validate cached token\nif (!token || !BearerToken.info(token).isValid) {\n  // Generate new token using AdobeAuth\n  token = await AdobeAuth.getToken(\n    'client-id',\n    'client-secret',\n    'technical-account-id',\n    'technical-account-email',\n    'ims-org-id@AdobeOrg',\n    ['AdobeID', 'openid', 'adobeio_api']\n  );\n\n  // Store in your application cache with appropriate TTL\n  const tokenInfo = BearerToken.info(token);\n  if (tokenInfo.isValid && tokenInfo.timeUntilExpiry) {\n    const ttl = Math.floor(tokenInfo.timeUntilExpiry / 1000) - 600; // 10-min buffer\n    await yourAppCache.set('ims_token', token, ttl);\n  }\n}\n\n// Use the token\nconsole.log('Token:', token);\n```\n\n**Why Migrate?**\n- ✅ Full control over caching strategy (Redis, Memcached, in-memory, etc.)\n- ✅ Better error handling and retry logic\n- ✅ Works in any environment (not just Adobe I/O Runtime)\n- ✅ Easier to test and mock\n- ✅ Flexible TTL management based on your needs\n\n**Basic Authentication**\n```typescript\nconst { AdobeCommerceClient, BasicAuthConnection } = require('@adobe-commerce/aio-toolkit');\n\nconst connection = new BasicAuthConnection(\n  'username',\n  'password',\n  logger // Optional custom logger\n);\n\n// Create client\nconst client = new AdobeCommerceClient('https://your-commerce-store.com/rest', connection);\n\n// Make API calls\nconst products = await client.get('V1/products');\n```\n\n#### `ShippingCarrier`\nFluent builder for creating custom shipping carriers for Adobe Commerce webhook extensibility.\n\n```typescript\nconst { \n  ShippingCarrier,\n  ShippingCarrierResponse\n} = require('@adobe-commerce/aio-toolkit');\n\n// Create a custom shipping carrier with methods\nconst carrier = new ShippingCarrier('fedex', (carrier) => {\n  carrier\n    .setTitle('FedEx Express')\n    .setStores(['default', 'store1'])\n    .setCountries(['US', 'CA', 'MX'])\n    .setSortOrder(10)\n    .setActive(true)\n    .setTrackingAvailable(true)\n    .setShippingLabelsAvailable(true)\n    .addMethod('standard', (method) => {\n      method\n        .setMethodTitle('Standard Shipping')\n        .setPrice(9.99)\n        .setCost(5.00)\n        .addAdditionalData('delivery_time', '3-5 business days')\n        .addAdditionalData('tracking_available', true);\n    })\n    .addMethod('express', (method) => {\n      method\n        .setMethodTitle('Express Shipping')\n        .setPrice(19.99)\n        .setCost(12.00)\n        .addAdditionalData('delivery_time', '1-2 business days');\n    })\n    .removeMethod('overnight'); // Remove a method\n});\n\n// Get carrier configuration\nconst carrierData = carrier.getData();\nconsole.log(carrierData);\n\n// Access added and removed methods\nconst addedMethods = carrier.getAddedMethods();   // ['standard', 'express']\nconst removedMethods = carrier.getRemovedMethods(); // ['overnight']\n\n// Generate webhook response operations\nconst response = new ShippingCarrierResponse(carrier);\nconst operations = response.generate();\nreturn operations; // Use in webhook action\n\n// Update carrier data (code is immutable)\ncarrier.setData({\n  code: 'ups', // This will be ignored - code remains 'fedex'\n  title: 'Demo Postal Service',\n  stores: ['default'],\n  countries: ['US', 'CA'],\n  sort_order: 10,\n  active: true,\n  tracking_available: true,\n  shipping_labels_available: true\n});\n\n// Code property is immutable - create new instance if you need different code\nconst newCarrier = new ShippingCarrier('ups', (c) => {\n  c.addMethod('ground', (m) => {\n    m.setMethodTitle('UPS Ground').setPrice(12.99);\n  });\n});\n```\n\n**Key Features:**\n- Builder pattern with method chaining\n- Validation for carrier and method codes (alphanumeric and underscores only)\n- Add and remove shipping methods dynamically\n- Configure carrier properties (title, stores, countries, sort order, etc.)\n- **Immutable code property** - prevents accidental carrier identity changes\n- Public getter methods: `getAddedMethods()` and `getRemovedMethods()`\n- Generate webhook response operations\n- Type-safe TypeScript interfaces\n\n**Validation Rules:**\n- Carrier and method codes must contain only alphanumeric characters and underscores\n- No spaces, hyphens, dots, or special characters allowed\n- Empty or whitespace-only codes throw errors\n- Code property cannot be changed after initialization\n\n#### `OnboardCommerce`\nComplete Adobe Commerce I/O Events configuration orchestration with automated provider setup and event subscription management.\n\n```typescript\nconst { \n  OnboardCommerce, \n  AdobeCommerceClient, \n  ImsConnection \n} = require('@adobe-commerce/aio-toolkit');\nconst Core = require('@adobe/aio-sdk').Core;\n\n// Generate token using AdobeAuth (implement caching in your application)\nconst token = await AdobeAuth.getToken(\n  'client-id',\n  'client-secret',\n  'technical-account-id',\n  'technical-account-email',\n  'ims-org-id@AdobeOrg',\n  ['AdobeID', 'openid', 'adobeio_api']\n);\n\n// Initialize Adobe Commerce client\nconst connection = new ImsConnection(token, logger);\nconst adobeCommerceClient = new AdobeCommerceClient(\n  'https://your-commerce-store.com',\n  connection\n);\n\n// Initialize logger\nconst logger = Core.Logger('onboard-client', {\n  level: 'debug'\n});\n\n// Initialize OnboardCommerce\nconst onboardCommerce = new OnboardCommerce(\n  adobeCommerceClient,\n  process.env.COMMERCE_ADOBE_IO_EVENTS_MERCHANT_ID || '',\n  process.env.COMMERCE_ADOBE_IO_EVENTS_ENVIRONMENT_ID || '',\n  logger,\n  false // isPaaS: set to true for PaaS instances (defaults to false)\n);\n\n// Define commerce provider\nconst commerceProvider = {\n  raw: {\n    id: 'commerce-provider-id',\n    label: 'Commerce Events Provider',\n    description: 'Provider for Adobe Commerce events',\n    docsUrl: 'https://developer.adobe.com/commerce/events'\n  }\n};\n\n// Define workspace configuration\nconst workspaceConfig = {\n  project: {\n    id: process.env.ADOBE_PROJECT_ID,\n    name: 'My Commerce Project',\n    title: 'Commerce Integration'\n  },\n  workspace: {\n    id: process.env.ADOBE_WORKSPACE_ID,\n    name: 'Production'\n  }\n};\n\n// Define commerce events configuration\nconst commerceEventsConfig = [\n  {\n    event: {\n      name: 'com.adobe.commerce.observer.catalog_product_save_after',\n      label: 'Product Saved',\n      description: 'Triggered when a product is saved'\n    }\n  },\n  {\n    event: {\n      name: 'com.adobe.commerce.observer.sales_order_save_after',\n      label: 'Order Saved',\n      description: 'Triggered when an order is saved'\n    }\n  }\n];\n\n// Execute configuration\nconst result = await onboardCommerce.process(\n  commerceProvider.raw,\n  workspaceConfig,\n  commerceEventsConfig\n);\n\nif (result.success) {\n  console.log('✅ Commerce events configured successfully');\n  console.log(`Provider: ${result.provider?.label}`);\n} else {\n  console.error('❌ Configuration failed:', result.error);\n}\n```\n\n**Key Features:**\n- Automated provider configuration with validation\n- Event subscription management with duplicate detection\n- Intelligent event metadata validation against supported Commerce events\n- **PaaS support** for Adobe Commerce Cloud instances with native event handling\n- Structured logging with prefixes: `[START]`, `[CREATE]`, `[SKIP]`, `[ERROR]`, `[IMPORTANT]`\n- Comprehensive summary reporting with event subscription statistics\n- Integration with Adobe Commerce API for event discovery\n- Automatic post-subscription CLI instructions for PaaS instances\n- 100% test coverage\n\n**PaaS Support:**\n\nFor Adobe Commerce PaaS (Platform as a Service) instances, enable PaaS mode to support native events:\n\n```typescript\n// Initialize OnboardCommerce for PaaS instances\nconst onboardCommercePaaS = new OnboardCommerce(\n  adobeCommerceClient,\n  merchantId,\n  environmentId,\n  logger,\n  true // Enable PaaS mode\n);\n\n// Define native PaaS events (observer.*, plugin.*)\nconst paasEventsConfig = [\n  {\n    event: {\n      name: 'observer.catalog_product_save_after',\n      label: 'Product Saved',\n      description: 'Native observer event'\n    }\n  },\n  {\n    event: {\n      name: 'plugin.magento.catalog.model.product.save',\n      label: 'Product Save Plugin',\n      description: 'Native plugin event'\n    }\n  }\n];\n\n// Process PaaS events\nconst result = await onboardCommercePaaS.process(\n  commerceProvider.raw,\n  workspaceConfig,\n  paasEventsConfig\n);\n\n// PaaS mode automatically:\n// - Skips supported events validation for better performance\n// - Handles native events without the 'parent' field\n// - Displays post-subscription Magento CLI commands\n```\n\nAfter successful event subscription on PaaS, the system displays:\n\n```\n[IMPORTANT] ⚠️  Post-Subscription Steps for PaaS:\n[IMPORTANT] 1. Run: bin/magento events:generate:module to generate module after successful event subscription\n[IMPORTANT] 2. Run: bin/magento setup:upgrade && bin/magento setup:di:compile && bin/magento cache:flush to install the generated module\n```\n\n### 🎨 Experience Components\n\n**Adobe Commerce Admin UI extension and user experience tools**\n\n#### `AdminUiSdk`\nCreate and manage Adobe Commerce Admin UI extensions with menu items, sections, and page configurations.\n\n```typescript\nconst { AdminUiSdk } = require('@adobe-commerce/aio-toolkit');\n\nconst sdk = new AdminUiSdk('dataMappingTool');\n\n// Add menu section with external parent\nsdk.addMenuSection(\n  'dataMappingTool::checkout_integration',\n  'Checkout Integration',\n  100,\n  'Magento_Backend::system'\n);\n\n// Add menu item\nsdk.addMenuItem(\n  'dataMappingTool::application',\n  'Application',\n  1,\n  'dataMappingTool::checkout_integration'\n);\n\n// Set page title and get registration\nsdk.addPage('Data Mapping Tool Dashboard');\nconst registration = sdk.getRegistration();\n```\n\n### 🔗 Integration Components\n\n**External API integration and utility functions**\n\n#### `RestClient`\nHTTP client for external API integration with support for various payload types.\n\n**Basic Usage**\n```typescript\nconst { RestClient } = require('@adobe-commerce/aio-toolkit');\n\nconst client = new RestClient();\n\n// GET request\nconst response = await client.get('https://api.example.com/data', {\n  'Authorization': 'Bearer token'\n});\n```\n\n**JSON Payloads (default)**\n```typescript\n// POST with JSON (automatic Content-Type: application/json)\nconst jsonData = { name: 'Product', price: 99.99 };\nconst response = await client.post('https://api.example.com/products', {\n  'Authorization': 'Bearer token'\n}, jsonData);\n```\n\n**Form-Encoded Requests**\n```typescript\n// URLSearchParams for form-encoded data (automatic Content-Type: application/x-www-form-urlencoded)\nconst formData = new URLSearchParams({\n  grant_type: 'client_credentials',\n  client_id: 'your-client-id',\n  client_secret: 'your-client-secret'\n});\n\nconst tokenResponse = await client.post('https://auth.example.com/token', {\n  Accept: 'application/json'\n}, formData);\n```\n\n**File Upload**\n```typescript\n// FormData for file uploads (Content-Type boundary handled automatically)\nconst uploadData = new FormData();\nuploadData.append('file', fileBuffer, 'document.pdf');\nuploadData.append('description', 'Important document');\n\nconst uploadResponse = await client.post('https://api.example.com/upload', {\n  'Authorization': 'Bearer token'\n}, uploadData);\n```\n\n**Text/XML Payloads**\n```typescript\n// String payloads with custom content type\nconst xmlData = '<?xml version=\"1.0\"?><order><id>123</id></order>';\nconst xmlResponse = await client.post('https://api.example.com/orders', {\n  'Authorization': 'Bearer token',\n  'Content-Type': 'application/xml'\n}, xmlData);\n```\n\n#### `BearerToken`\nBearer token extraction and JWT analysis utility. Supports both standard HTTP headers and OpenWhisk format for maximum portability.\n\n**Extract from Standard HTTP Headers**\n```typescript\nconst { BearerToken } = require('@adobe-commerce/aio-toolkit');\n\nconst headers = { authorization: 'Bearer abc123token' };\nconst tokenInfo = BearerToken.extract(headers);\nconsole.log(tokenInfo);\n// Output: {\n//   token: 'abc123token',\n//   tokenLength: 11,\n//   isValid: true,\n//   expiry: '2024-01-02T12:00:00.000Z',\n//   timeUntilExpiry: 86400000\n// }\n```\n\n**Extract from OpenWhisk Params (Backward Compatibility)**\n```typescript\nconst params = { __ow_headers: { authorization: 'Bearer abc123token' } };\nconst owTokenInfo = BearerToken.extract(params);\nconsole.log(owTokenInfo); // Same output format as above\n```\n\n**Direct Token Analysis**\n```typescript\nconst directInfo = BearerToken.info('jwt-token-string');\nif (directInfo.isValid) {\n  console.log(`Token expires at: ${directInfo.expiry}`);\n  console.log(`Time until expiry: ${directInfo.timeUntilExpiry}ms`);\n} else {\n  console.log('Token is invalid or expired');\n}\n```\n\n**Methods:**\n- `extract(headersOrParams)` - Extracts Bearer token from headers or OpenWhisk params\n- `info(token)` - Analyzes token string and returns validation/expiry details\n\n#### `RabbitMQClient`\nPull-based AMQP consumer and publisher for RabbitMQ. Manages the full connection lifecycle per call (connect → channel → close) and exposes a clean, typed interface without exposing raw AMQP primitives to the caller.\n\n**Installation**\n```bash\nnpm install amqplib\n```\n\n**Basic Usage**\n```typescript\nconst { RabbitMQClient } = require('@adobe-commerce/aio-toolkit');\n\nconst client = new RabbitMQClient({\n  host: 'rabbitmq.example.com',\n  port: '5672',\n  username: 'user',\n  password: 'secret',\n  vhost: '/',\n  secure: false, // set true to use amqps://\n});\n```\n\n**Consuming messages**\n```typescript\nconst stats = await client.consume(\n  'orders-queue',\n  { batchSize: 100, maxParallel: 10 },\n  async (queueName, content) => {\n    const order = JSON.parse(content);\n    await processOrder(order);\n  }\n);\n\nconsole.log(`consumed=${stats.consumed} acked=${stats.acked} nacked=${stats.nacked}`);\nif (stats.errors.length) {\n  console.error('Failed messages:', stats.errors);\n}\n```\n\n**Consuming with exchange binding**\n```typescript\nconst stats = await client.consume(\n  'orders-queue',\n  {\n    batchSize: 50,\n    maxParallel: 5,\n    exchange: 'orders-exchange', // asserts exchange + binds queue before consuming\n    nackRequeue: false,          // dead-letter failed messages instead of requeueing\n  },\n  async (queueName, content) => {\n    await processOrder(JSON.parse(content));\n  }\n);\n```\n\n**Publishing messages**\n```typescript\nconst payloads = orders.map(o => JSON.stringify(o));\nconst stats = await client.publish('orders-queue', payloads);\n\nconsole.log(`published=${stats.published} failed=${stats.failed}`);\nif (stats.errors.length) {\n  console.error('Failed payloads:', stats.errors);\n}\n```\n\n**API Reference**\n\n| Method | Description | Returns |\n|---|---|---|\n| `consume(queueName, options, handler)` | Checks queue depth and pull-consumes up to `batchSize` messages via `channel.get` in parallel windows of `maxParallel` | `Promise<ConsumeStats>` |\n| `publish(queueName, payloads)` | Asserts queue and enqueues each payload as a persistent message | `Promise<PublishStats>` |\n\n**`RabbitMQConsumeOptions`**\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `batchSize` | `number` | ✅ | Maximum number of messages to process in this call |\n| `maxParallel` | `number` | ✅ | Max messages processed concurrently per window (client-side) |\n| `nackRequeue` | `boolean` | — | Requeue on nack (default: `true`) |\n| `exchange` | `string` | — | If set, asserts a `direct` exchange and binds the queue before consuming |\n\n**`ConsumeStats`**\n\n| Field | Type | Description |\n|---|---|---|\n| `consumed` | `number` | Total messages received from the broker |\n| `acked` | `number` | Messages successfully processed and acked |\n| `nacked` | `number` | Messages that failed handler and were nacked |\n| `errors` | `Array<{ content: string; error: unknown }>` | Per-failure details |\n\n**`PublishStats`**\n\n| Field | Type | Description |\n|---|---|---|\n| `published` | `number` | Messages successfully enqueued |\n| `failed` | `number` | Messages that could not be enqueued |\n| `errors` | `Array<{ payload: string; error: unknown }>` | Per-failure details (thrown errors only; write-buffer-full is handled via backpressure) |\n\n---\n\n#### `AmazonSQSClient`\nBatched publisher and long-polling consumer for Amazon SQS standard and FIFO queues.\n\n**Installation**\n```bash\nnpm install @aws-sdk/client-sqs\n```\n\n**Basic Usage**\n```typescript\nconst { AmazonSQSClient } = require('@adobe-commerce/aio-toolkit');\n\nconst client = new AmazonSQSClient({\n  region: 'us-east-1',\n  accessKeyId: process.env.AWS_ACCESS_KEY_ID,\n  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,\n  queueUrl: 'https://sqs.us-east-1.amazonaws.com/123456789/my-queue',\n});\n```\n\n**Publishing messages**\n```typescript\nconst payloads = orders.map(o => JSON.stringify(o));\nconst stats = await client.publish(payloads);\n\nconsole.log(`published=${stats.published} failed=${stats.failed}`);\nif (stats.errors.length) {\n  console.error('Failed payloads:', stats.errors);\n}\n```\n\n**Publishing to a FIFO queue**\n```typescript\nconst fifoClient = new AmazonSQSClient({\n  region: 'us-east-1',\n  accessKeyId: process.env.AWS_ACCESS_KEY_ID,\n  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,\n  queueUrl: 'https://sqs.us-east-1.amazonaws.com/123456789/my-queue.fifo',\n  messageGroupId: 'order-processing',         // required for FIFO\n  messageDeduplicationId: 'unique-batch-id',  // optional — omit to use content-based dedup\n});\n\nconst stats = await fifoClient.publish(payloads);\n```\n\n**Consuming messages**\n```typescript\nconst stats = await client.consume(\n  { batchSize: 10, waitTimeSeconds: 20 }, // long polling\n  async (message) => {\n    const order = JSON.parse(message.body);\n    await processOrder(order);\n  }\n);\n\nconsole.log(`consumed=${stats.consumed} acked=${stats.acked} failed=${stats.failed}`);\n```\n\n**API Reference**\n\n| Method | Description | Returns |\n|---|---|---|\n| `publish(payloads)` | Sends each payload as an SQS message; FIFO queues include group/dedup IDs | `Promise<PublishStats>` |\n| `consume(options, handler)` | Long-polls the queue, invokes `handler` for each message, auto-deletes on success | `Promise<ConsumeStats>` |\n\n---\n\n#### `InfiniteLoopBreaker`\nDetect and prevent infinite loops in event-driven applications.\n\n```typescript\nconst { InfiniteLoopBreaker } = require('@adobe-commerce/aio-toolkit');\n\n// Basic infinite loop detection\nconst isLoop = await InfiniteLoopBreaker.isInfiniteLoop({\n  keyFn: 'order-processing-key',\n  fingerprintFn: orderData,\n  eventTypes: ['order.created', 'order.updated'],\n  event: 'order.created'\n});\n\nif (isLoop) {\n  console.log('Infinite loop detected, skipping processing');\n  return;\n}\n\n// Process the event\nawait processOrderEvent(orderData);\n\n// Store fingerprint to prevent future loops\nawait InfiniteLoopBreaker.storeFingerPrint(\n  'order-processing-key',\n  orderData,\n  300 // 5 minutes TTL\n);\n```\n\n#### `OnboardIOEvents` (formerly `OnboardEvents`)\nComplete onboarding orchestration for Adobe I/O Events (providers, metadata, and registrations).\n\n> **Note**: `OnboardEvents` is deprecated and will be removed in v2.0.0. Please use `OnboardIOEvents` instead.\n\n```typescript\nconst { OnboardIOEvents } = require('@adobe-commerce/aio-toolkit');\n\n// ✅ Recommended - Use OnboardIOEvents\nconst onboardEvents = new OnboardIOEvents(\n  'My E-commerce Store',\n  process.env.ADOBE_CONSUMER_ID!,\n  process.env.ADOBE_PROJECT_ID!,\n  process.env.ADOBE_WORKSPACE_ID!,\n  process.env.ADOBE_API_KEY!,\n  process.env.ADOBE_ACCESS_TOKEN!\n);\n\nconst basicOnboardingExample = async () => {\n  const input = {\n    providers: [\n      {\n        key: 'ecommerce-provider',\n        label: 'E-commerce Events Provider',\n        description: 'Provider for e-commerce platform events',\n        docsUrl: 'https://docs.mystore.com/events',\n        registrations: [\n          {\n            key: 'order-events',\n            label: 'Order Events Registration',\n            description: 'Registration for order-related events',\n            events: [\n              {\n                eventCode: 'com.mystore.order.placed',\n                runtimeAction: 'mystore/order-placed-handler',\n                deliveryType: 'webhook',\n                sampleEventTemplate: {\n                  orderId: 'ord_123456',\n                  customerId: 'cust_789',\n                  totalAmount: 99.99,\n                  currency: 'USD',\n                  status: 'placed',\n                  timestamp: '2023-01-01T12:00:00Z'\n                }\n              },\n              {\n                eventCode: 'com.mystore.order.shipped',\n                runtimeAction: 'mystore/order-shipped-handler',\n                deliveryType: 'journal',\n                sampleEventTemplate: {\n                  orderId: 'ord_123456',\n                  trackingNumber: 'TN123456789',\n                  carrier: 'UPS',\n                  shippedAt: '2023-01-02T10:00:00Z'\n                }\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  };\n\n  try {\n    const result = await onboar","readmeFilename":"README.md"}