{"_id":"@adobe-commerce/aio-services-kit","_rev":"5-1b6ac85da52700f43225d4eaf5e71f84","name":"@adobe-commerce/aio-services-kit","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@adobe-commerce/aio-services-kit","version":"1.0.0","keywords":["adobe","app-builder","services","rest-endpoints","adobe-commerce","api-services","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-services-kit@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"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"c16ac065b91f24dbe011044554ce9ec2b8d5289a","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-services-kit/-/aio-services-kit-1.0.0.tgz","fileCount":10,"integrity":"sha512-/k/m5e9AeXTL+/tgLJvl39Q0+8V5NEtUXqOzuiFieYbWgN2wG+/wzuYbbY4tzF3bZFfnkvm8SEEbL/WIoj7jtw==","signatures":[{"sig":"MEQCIFubiCmsaj1zjNH72afIvZaeF9ztGRbhwLccBvo3ToMyAiBakzjqkUHh48QyzbnumZLhwvfTuLvPAjQSYjzynj+0Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409859},"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":"7ae1b4dabdb26131ad61c189b387a41e2244e462","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 services kit for Adobe App Builder applications providing REST endpoint services implementation for Adobe Commerce APIs, standardized service patterns, and robust backend development tools with 100% test coverage.","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-services-kit_1.0.0_1761766102087_0.9493420193981938","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adobe-commerce/aio-services-kit","version":"1.0.1","keywords":["adobe","app-builder","services","rest-endpoints","adobe-commerce","api-services","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","_id":"@adobe-commerce/aio-services-kit@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"},{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"}],"dist":{"shasum":"bde94a055f6b825e53f3b51ccf20fe52366be6bc","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-services-kit/-/aio-services-kit-1.0.1.tgz","fileCount":10,"integrity":"sha512-QmttPrkQINzrb7D8gHaGu0Q6cq8tyUwwSnwI9m/TBa29GiXlsBm729K7IGtYs1euNLiGKAco8pWVAdHDR0m3Yg==","signatures":[{"sig":"MEYCIQDfl0fZgOxOEmPsz4HqDsHThdj9oVHiPoLeaiMOK7J+/AIhANu2JuwvDf0GOKONH6qbOgAmAF/LsoMWbMfvGPvxDGlo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442923},"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":"a53e105f9cb4770a3f6ef55cab541b827ef5960c","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 services kit for Adobe App Builder applications providing REST endpoint services implementation for Adobe Commerce APIs, standardized service patterns, and robust backend development tools with 100% test coverage.","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-services-kit_1.0.1_1763467465950_0.6632777177082696","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@adobe-commerce/aio-services-kit","version":"1.0.2","description":"A comprehensive TypeScript services kit for Adobe App Builder applications providing REST endpoint services implementation for Adobe Commerce APIs, standardized service patterns, and robust backend development tools with 100% test coverage.","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup","build:watch":"tsup --watch","clean":"rm -rf dist","dev":"tsc --watch","type-check":"tsc --noEmit","lint":"eslint src test --ext .ts","lint:fix":"eslint src test --ext .ts --fix","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test":"jest --passWithNoTests","test:watch":"jest --watch","test:coverage":"jest --coverage","test:ci":"jest --ci --coverage --watchAll=false","test:fast":"jest --passWithNoTests --silent","pre-add":"echo '🔨 Pre-add validation...' && npm run build && echo '✅ Ready to add files!'","safe-add":"npm run pre-add && git add","validate:commit":"npm run type-check && npm run lint:fix && npm run format && npm run test:fast","validate:push":"npm run format:check && npm run lint && npm run type-check && npm run test:ci && npm run build","security:audit":"npm audit --audit-level=moderate","prepublishOnly":"npm run build","prepare":"husky"},"keywords":["adobe","app-builder","services","rest-endpoints","adobe-commerce","api-services","backend","utilities","typescript","aio"],"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"devDependencies":{"@commitlint/cli":"^19.8.1","@commitlint/config-conventional":"^19.8.1","@types/jest":"^30.0.0","@types/node":"^20.10.0","@typescript-eslint/eslint-plugin":"^6.13.0","@typescript-eslint/parser":"^6.13.0","eslint":"^8.55.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.0.1","husky":"^9.1.7","jest":"^30.1.3","lint-staged":"^16.1.6","prettier":"^3.1.0","ts-jest":"^29.4.1","tsup":"^8.5.0","typescript":"^5.9.2"},"peerDependencies":{"typescript":">=4.9.0"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"_id":"@adobe-commerce/aio-services-kit@1.0.2","gitHead":"dd9ef654d0f6d6917f22b0011e6556d46306a78d","_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-lHi8uBpVvLtJuX29ISUHIG+1DWLcGbdaMdJdKBPXo5tQNPbcR3YZ7fz1mpjnchz1+4ddnX+pVkLrKMR63zWVnQ==","shasum":"6408e7e8c515a573343ba0c170edcf4f975df175","tarball":"https://registry.npmjs.org/@adobe-commerce/aio-services-kit/-/aio-services-kit-1.0.2.tgz","fileCount":10,"unpackedSize":442972,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDRVzvFGcnObGRttt/mGxJSK/II0/2GZ3yKBmqcu0UW1QIhANgceHyE/XHguazAYqEatylsLC4xk15GanTJYl17DHrY"}]},"_npmUser":{"name":"adobe-commerce-ops","email":"adobe-commerce-ops@adobe.com"},"directories":{},"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"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aio-services-kit_1.0.2_1774640438841_0.9386092681486298"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-29T19:28:21.981Z","modified":"2026-03-27T19:40:39.263Z","1.0.0":"2025-10-29T19:28:22.332Z","1.0.1":"2025-11-18T12:04:26.119Z","1.0.2":"2026-03-27T19:40:39.060Z"},"author":{"name":"Hitarth Pattani","email":"hitarth@example.com"},"license":"SEE LICENSE IN LICENSE","keywords":["adobe","app-builder","services","rest-endpoints","adobe-commerce","api-services","backend","utilities","typescript","aio"],"description":"A comprehensive TypeScript services kit for Adobe App Builder applications providing REST endpoint services implementation for Adobe Commerce APIs, standardized service patterns, and robust backend development tools with 100% test coverage.","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-services-kit\n\n## Overview\n\nA comprehensive TypeScript services kit for Adobe App Builder applications providing REST endpoint services implementation for Adobe Commerce APIs, standardized service patterns, and robust backend development tools with 100% test coverage.\n\n## Installation\n\n```bash\nnpm install @adobe-commerce/aio-services-kit\n```\n\n## Usage\n\nThe services kit is organized into framework utilities and Adobe Commerce service modules:\n\n### 🛠️ Framework Components\n\n**Core infrastructure for building and consuming Adobe Commerce REST APIs**\n\n#### `ApiResponse`\nStandardized success/error response handling with Adobe Commerce error format support.\n\n```typescript\nimport { ApiResponse } from '@adobe-commerce/aio-services-kit';\n\n// Create success response\nconst success = ApiResponse.success(data);\n// { success: true, data: [...] }\n\n// Create error response\nconst error = ApiResponse.error(errorResponse);\n// { success: false, error: \"formatted message\", code: 422 }\n\n// Create fallback error\nconst fallback = ApiResponse.fallbackError('Something went wrong', 500);\n\n// Check if response is an error\nif (ApiResponse.isError(response.body)) {\n  // Handle error\n}\n```\n\n#### `SearchCriteriaBuilder`\nFluent API for building complex search queries with filters, sorting, and pagination.\n\n```typescript\nimport { SearchCriteriaBuilder } from '@adobe-commerce/aio-services-kit';\n\nconst criteria = new SearchCriteriaBuilder()\n  // Add filters\n  .addFilter('status', 1, 'eq')\n  .addFilter('price', 100, 'gt')\n  .addFilter('category_id', [1, 2, 3], 'in')\n  \n  // Add sorting\n  .addSortOrder('created_at', 'DESC')\n  .addSortOrder('name', 'ASC')\n  \n  // Add pagination\n  .setPageSize(20)\n  .setCurrentPage(1)\n  \n  // Add field selection\n  .addField('id')\n  .addField('sku')\n  .addField('name')\n  \n  // Create search criteria\n  .create();\n```\n\n**Supported Condition Types:**\n- `eq`, `neq` - Equal / Not equal\n- `gt`, `gteq` - Greater than / Greater than or equal\n- `lt`, `lteq` - Less than / Less than or equal\n- `in`, `nin` - In array / Not in array\n- `null`, `notnull` - Is null / Is not null\n- `like` - Like pattern matching\n\n### 🏪 Commerce Services  \n\n**Complete Adobe Commerce API integration with chainable services**\n\n#### `AdobeCommerceService`\nTop-level service orchestrator providing access to all Adobe Commerce operations.\n\n```typescript\nimport { AdobeCommerceService } from '@adobe-commerce/aio-services-kit';\n\n// Initialize service with your Adobe Commerce client\nconst commerce = new AdobeCommerceService(adobeCommerceClient);\n\n// Access service modules\nconst catalogService = commerce.catalog();\nconst eventService = commerce.event();\nconst checkoutService = commerce.checkout();\nconst configService = commerce.configuration();\n```\n\n#### Catalog Services\n\n**ProductService** - Complete product management:\n```typescript\nconst productService = commerce.catalog().product();\n\n// List products with search criteria\nconst products = await productService.list(\n  new SearchCriteriaBuilder()\n    .addFilter('status', 1, 'eq')\n    .addFilter('visibility', 4, 'eq')\n    .setPageSize(20)\n    .create()\n);\n\n// Get product by SKU\nconst product = await productService.get('PRODUCT-SKU-001');\n\n// Create new product\nconst result = await productService.create({\n  sku: 'NEW-PRODUCT',\n  name: 'New Product',\n  price: 99.99,\n  type_id: 'simple',\n  attribute_set_id: 4,\n  status: 1,\n  visibility: 4\n});\n\n// Update product\nconst updated = await productService.update('PRODUCT-SKU-001', {\n  price: 89.99,\n  name: 'Updated Product Name'\n});\n\n// Delete product\nconst deleted = await productService.delete('PRODUCT-SKU-001');\n```\n\n**ProductAttributeService** - Manage product attributes:\n```typescript\nconst attributeService = commerce.catalog().product().attribute();\n\n// List all attributes\nconst attributes = await attributeService.list();\n\n// List with search criteria\nconst filtered = await attributeService.list(\n  new SearchCriteriaBuilder()\n    .addFilter('is_user_defined', 1, 'eq')\n    .create()\n);\n\n// Get specific attribute\nconst attribute = await attributeService.get('color');\n\n// Create attribute\nconst created = await attributeService.create({\n  attribute_code: 'custom_attr',\n  frontend_label: 'Custom Attribute',\n  frontend_input: 'text',\n  is_required: false\n});\n\n// Update attribute\nconst updated = await attributeService.update('custom_attr', {\n  frontend_label: 'Updated Label'\n});\n\n// Delete attribute\nconst deleted = await attributeService.delete('custom_attr');\n```\n\n**ConfigurableProductService** - Manage configurable products:\n```typescript\nconst configurableService = commerce.catalog().product().configurable();\n\n// Options Management\nconst optionsService = configurableService.options();\n\n// List all options\nconst options = await optionsService.list('CONF-PRODUCT-001');\n\n// Get specific option\nconst option = await optionsService.get('CONF-PRODUCT-001', 123);\n\n// Create new option\nawait optionsService.create('CONF-PRODUCT-001', {\n  attribute_id: 93,\n  label: 'Color',\n  position: 0,\n  values: [\n    { value_index: 0 },\n    { value_index: 1 }\n  ]\n});\n\n// Update option\nawait optionsService.update('CONF-PRODUCT-001', 123, {\n  label: 'Updated Color'\n});\n\n// Delete option\nawait optionsService.delete('CONF-PRODUCT-001', 123);\n\n// Children Management\nconst childrenService = configurableService.children();\n\n// List all children\nconst children = await childrenService.list('CONF-PRODUCT-001');\n\n// Add child product\nawait childrenService.add('CONF-PRODUCT-001', 'CHILD-SKU-001');\n\n// Remove child product\nawait childrenService.remove('CONF-PRODUCT-001', 'CHILD-SKU-001');\n```\n\n**InventoryService** - Manage Multi-Source Inventory (MSI):\n```typescript\nconst inventoryService = commerce.catalog().product().inventory();\n\n// Source Items Management\nconst sourceItemService = inventoryService.sourceItems();\n\n// List all source items\nconst sourceItems = await sourceItemService.list();\n\n// List with search criteria\nconst filtered = await sourceItemService.list(\n  new SearchCriteriaBuilder()\n    .addFilter('sku', 'PRODUCT-SKU', 'eq')\n    .addFilter('source_code', 'default', 'eq')\n    .create()\n);\n\n// Create source items (batch operation)\nconst created = await sourceItemService.create([\n  {\n    sku: 'PRODUCT-SKU-001',\n    source_code: 'default',\n    quantity: 100,\n    status: 1  // 1 = In Stock, 0 = Out of Stock\n  },\n  {\n    sku: 'PRODUCT-SKU-002',\n    source_code: 'warehouse-1',\n    quantity: 50,\n    status: 1\n  }\n]);\n\n// Delete source items (batch operation)\nconst deleted = await sourceItemService.delete([\n  {\n    sku: 'PRODUCT-SKU-001',\n    source_code: 'default'\n  }\n]);\n```\n\n#### Event Services\n\n**EventService** - Comprehensive event management:\n```typescript\nconst eventService = commerce.event();\n\n// Configuration\nawait eventService.configuration().update({\n  enabled: true,\n  merchant_id: 'merchant123',\n  environment_id: 'env456'\n});\n\n// Subscriptions\nconst subscriptionService = eventService.subscription();\n\n// List all subscriptions\nconst subscriptions = await subscriptionService.list();\n\n// Create subscription\nawait subscriptionService.create({\n  name: 'observer.catalog_product_save_after',\n  destination: 'commerce.catalog.product.updated',\n  fields: [\n    { name: 'sku', converter: 'string' }\n  ]\n});\n\n// Create with force flag to overwrite existing\nawait subscriptionService.create(subscriptionData, true);\n\n// Update subscription\nawait subscriptionService.update('subscription-name', {\n  enabled: false\n});\n\n// Delete subscription\nawait subscriptionService.delete('subscription-name');\n\n// Providers\nconst providerService = eventService.provider();\n\n// List all providers\nconst providers = await providerService.list();\n\n// Get specific provider\nconst provider = await providerService.get('provider-id');\n\n// Create provider\nawait providerService.create({\n  provider_id: 'adobe_io',\n  instance_id: 'instance_123',\n  label: 'Adobe I/O Events',\n  description: 'Adobe I/O Events provider'\n});\n\n// Delete provider\nawait providerService.delete('provider-id');\n\n// Supported events\nconst supportedEvents = await eventService.supportedList();\n```\n\n#### Configuration Services\n\n**StoreService** - Store configuration management:\n```typescript\nconst storeService = commerce.configuration().store();\n\n// Get all websites\nconst websites = await storeService.websites();\n// Response: { success: true, data: [...] }\n\n// Get all store views\nconst storeViews = await storeService.storeViews();\n\n// Get all store groups\nconst storeGroups = await storeService.storeGroups();\n\n// Get all store configurations\nconst allConfigs = await storeService.storeConfigs();\n\n// Get specific store configs by code\nconst configs = await storeService.storeConfigs(['default', 'en', 'fr']);\n```\n\n#### Checkout Services\n\n**OopeShippingCarrierService** - Out-of-process shipping carrier management:\n```typescript\nconst carrierService = commerce.checkout().outOfProcess().shippingCarrier();\n\n// List all carriers\nconst carriers = await carrierService.list();\n\n// Get carrier by code\nconst carrier = await carrierService.getByCode('custom_carrier');\n\n// Create carrier\nawait carrierService.create({\n  carrier_code: 'custom_carrier',\n  carrier_title: 'Custom Carrier',\n  active: true\n});\n\n// Update carrier\nawait carrierService.update({\n  carrier_code: 'custom_carrier',\n  carrier_title: 'Updated Carrier'\n});\n\n// Delete carrier\nawait carrierService.deleteByCode('custom_carrier');\n```\n\n### 📦 Type Safety\n\nFull TypeScript support with comprehensive type definitions:\n\n```typescript\nimport type {\n  Product,\n  ProductResponse,\n  ProductAttribute,\n  ProductAttributeResponse,\n  Website,\n  WebsiteResponse,\n  StoreView,\n  StoreViewResponse,\n  EventSubscription,\n  EventSubscriptionResponse,\n  OopeShippingCarrier,\n  OopeShippingCarrierResponse\n} from '@adobe-commerce/aio-services-kit';\n\n// All responses are properly typed\nconst result: ProductResponse = await productService.get('SKU-001');\nif (result.success && result.data) {\n  const product: Product = result.data;\n  console.log(product.name, product.price);\n}\n```\n\n## License\n\nSee the LICENSE file for license rights and limitations.\n","readmeFilename":"README.md"}