{"_id":"@agendacheia/lambda-utils","_rev":"4-06d1aca0e7e2e25752fc785605122b41","name":"@agendacheia/lambda-utils","dist-tags":{"latest":"1.3.1"},"versions":{"1.1.0":{"name":"@agendacheia/lambda-utils","version":"1.1.0","keywords":["aws","lambda","utilities","typescript","agendacheia"],"author":{"name":"Agenda Cheia"},"license":"UNLICENSED","_id":"@agendacheia/lambda-utils@1.1.0","maintainers":[{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},{"name":"gaugustog","email":"gabri.augustog@gmail.com"}],"dist":{"shasum":"a892252e7503cf9938f57f2fc2a99bd432d43a9a","tarball":"https://registry.npmjs.org/@agendacheia/lambda-utils/-/lambda-utils-1.1.0.tgz","fileCount":398,"integrity":"sha512-9IaDSArChkRgXnC6yIZ4i/pbcMWXkp5XOsGTBtTRDd7eyUG3UfqZOEDWUZfSry1Svu8ZiL1kQA5bS/BRNfG3tA==","signatures":[{"sig":"MEQCIHZt4XuJAvYZrvycjq66E+DsA8Cn+LEZ4EMMR3LWJzftAiB+XPai1/HmgXiP/UEdXEzmYe2YK8m2GvHBLFlHKPqojQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":687955},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./aws":{"types":"./dist/aws/index.d.ts","import":"./dist/aws/index.js"},"./http":{"types":"./dist/http/index.d.ts","import":"./dist/http/index.js"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./logger":{"types":"./dist/logger/index.d.ts","import":"./dist/logger/index.js"},"./graphql":{"types":"./dist/graphql/index.d.ts","import":"./dist/graphql/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./validation":{"types":"./dist/validation/index.d.ts","import":"./dist/validation/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run type-check && npm run lint && npm run format:check","clean":"rm -rf dist coverage","format":"prettier --write \"src/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc -p tsconfig.build.json --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"vitest run --coverage","test:integration":"vitest run --config vitest.integration.config.ts","setup:integration":"bash scripts/setup-all.sh","teardown:integration":"bash scripts/teardown-all.sh","test:integration:full":"bash scripts/run-integration-tests.sh","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"gaugustog","email":"gabri.augustog@gmail.com"},"_npmVersion":"11.6.1","description":"Shared utilities for AWS Lambda functions in the AgendaCheia platform","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"uuid":"^11.1.0","sharp":"^0.33.5","node-fetch":"^3.3.2","@types/uuid":"^10.0.0","@aws-sdk/client-s3":"^3.936.0","@aws-sdk/client-ses":"^3.699.0","@aws-sdk/client-sqs":"^3.936.0","@aws-sdk/client-sesv2":"^3.936.0","@aws-sdk/protocol-http":"^3.374.0","@aws-sdk/client-kinesis":"^3.936.0","@aws-sdk/client-firehose":"^3.936.0","@aws-sdk/client-cloudwatch":"^3.936.0","@aws-sdk/s3-request-presigner":"^3.936.0","@aws-sdk/client-cloudwatch-logs":"^3.936.0","@aws-sdk/client-socialmessaging":"^3.699.0","@aws-sdk/client-pinpoint-sms-voice-v2":"^3.936.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^1.0.0","prettier":"^3.6.2","@vitest/ui":"^1.6.1","typescript":"^5.6.3","@types/node":"^22.9.0","@types/aws-lambda":"^8.10.159","@vitest/coverage-v8":"^1.0.0","aws-sdk-client-mock":"^4.1.0","@typescript-eslint/parser":"^7.18.0","@agendacheia/eslint-config":"*","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/lambda-utils_1.1.0_1763736416130_0.9683728642287377","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@agendacheia/lambda-utils","version":"1.2.0","keywords":["aws","lambda","utilities","typescript","agendacheia"],"author":{"name":"Agenda Cheia"},"license":"UNLICENSED","_id":"@agendacheia/lambda-utils@1.2.0","maintainers":[{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},{"name":"gaugustog","email":"gabri.augustog@gmail.com"}],"dist":{"shasum":"4bef4d953bd54d20858b05fa4b45aba1fcf22c5f","tarball":"https://registry.npmjs.org/@agendacheia/lambda-utils/-/lambda-utils-1.2.0.tgz","fileCount":398,"integrity":"sha512-PwlLR/dfpbccoktJXtI0/iQ6koXLoK9ggvIiXabRCv51d6z7xfC9CGan8JLmaenDET9/cNJxh/yQGM8BifkBPg==","signatures":[{"sig":"MEQCIDY8ij2sX5Gj6AVuWpxNxZcG/EfbAfHuCp8o10S/mRrsAiAGQFPtOaJ4ORsmGxK0NRS5B9/eXGg0+Kr/S3+VI7VhEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":691543},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./aws":{"types":"./dist/aws/index.d.ts","import":"./dist/aws/index.js"},"./http":{"types":"./dist/http/index.d.ts","import":"./dist/http/index.js"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./logger":{"types":"./dist/logger/index.d.ts","import":"./dist/logger/index.js"},"./graphql":{"types":"./dist/graphql/index.d.ts","import":"./dist/graphql/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./validation":{"types":"./dist/validation/index.d.ts","import":"./dist/validation/index.js"},"./package.json":"./package.json"},"gitHead":"54526a2ecd827e7fe180e3e619c6ef3011edb17c","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run type-check && npm run lint && npm run format:check","clean":"rm -rf dist coverage","format":"prettier --write \"src/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc -p tsconfig.build.json --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"vitest run --coverage","test:integration":"vitest run --config vitest.integration.config.ts","setup:integration":"bash scripts/setup-all.sh","teardown:integration":"bash scripts/teardown-all.sh","test:integration:full":"bash scripts/run-integration-tests.sh","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},"_npmVersion":"11.6.1","description":"Shared utilities for AWS Lambda functions in the AgendaCheia platform","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"uuid":"^11.1.0","sharp":"^0.33.5","node-fetch":"^3.3.2","@types/uuid":"^10.0.0","@aws-sdk/client-s3":"^3.936.0","@aws-sdk/client-ses":"^3.699.0","@aws-sdk/client-sqs":"^3.936.0","@smithy/signature-v4":"^4.0.0","@aws-crypto/sha256-js":"^5.2.0","@aws-sdk/client-sesv2":"^3.936.0","@aws-sdk/protocol-http":"^3.374.0","@aws-sdk/client-kinesis":"^3.936.0","@aws-sdk/client-firehose":"^3.936.0","@aws-sdk/client-cloudwatch":"^3.936.0","@aws-sdk/s3-request-presigner":"^3.936.0","@aws-sdk/client-cloudwatch-logs":"^3.936.0","@aws-sdk/client-socialmessaging":"^3.699.0","@aws-sdk/credential-provider-node":"^3.936.0","@aws-sdk/client-pinpoint-sms-voice-v2":"^3.936.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^1.0.0","prettier":"^3.6.2","@vitest/ui":"^1.6.1","typescript":"^5.6.3","@types/node":"^22.9.0","@types/aws-lambda":"^8.10.159","@vitest/coverage-v8":"^1.0.0","aws-sdk-client-mock":"^4.1.0","@typescript-eslint/parser":"^7.18.0","@agendacheia/eslint-config":"*","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/lambda-utils_1.2.0_1768161626639_0.20449780274486606","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@agendacheia/lambda-utils","version":"1.3.0","keywords":["aws","lambda","utilities","typescript","agendacheia"],"author":{"name":"Agenda Cheia"},"license":"UNLICENSED","_id":"@agendacheia/lambda-utils@1.3.0","maintainers":[{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},{"name":"gaugustog","email":"gabri.augustog@gmail.com"}],"dist":{"shasum":"7f91c33fbb5bf48d6187c3ba37e3e47d8f7dc726","tarball":"https://registry.npmjs.org/@agendacheia/lambda-utils/-/lambda-utils-1.3.0.tgz","fileCount":446,"integrity":"sha512-yOch3+xrIBJLRVlKAZhKBgfcVtnapRbLE21pvmgcYNPCgkcj6QXqRd34jCAmYQ/2J6cHprNuZpj52ijA78ulCQ==","signatures":[{"sig":"MEUCIQCCYAa+ulcckntAqHQvATbQOsD4ShaHANfLurtVXKtFrQIgdoJ6zzWFoobgxRKH1GHvctpyHgyEiX3xgqwlXSSSH+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":873458},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./aws":{"types":"./dist/aws/index.d.ts","import":"./dist/aws/index.js"},"./http":{"types":"./dist/http/index.d.ts","import":"./dist/http/index.js"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./logger":{"types":"./dist/logger/index.d.ts","import":"./dist/logger/index.js"},"./stripe":{"types":"./dist/stripe/index.d.ts","import":"./dist/stripe/index.js"},"./graphql":{"types":"./dist/graphql/index.d.ts","import":"./dist/graphql/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./validation":{"types":"./dist/validation/index.d.ts","import":"./dist/validation/index.js"},"./package.json":"./package.json","./stripe/billing":{"types":"./dist/stripe/billing/index.d.ts","import":"./dist/stripe/billing/index.js"},"./stripe/connect":{"types":"./dist/stripe/connect/index.d.ts","import":"./dist/stripe/connect/index.js"},"./stripe/payments":{"types":"./dist/stripe/payments/index.d.ts","import":"./dist/stripe/payments/index.js"},"./stripe/webhooks":{"types":"./dist/stripe/webhooks/index.d.ts","import":"./dist/stripe/webhooks/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run type-check && npm run lint && npm run format:check","clean":"rm -rf dist coverage","format":"prettier --write \"src/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc -p tsconfig.build.json --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"vitest run --coverage","test:integration":"vitest run --config vitest.integration.config.ts","setup:integration":"bash scripts/setup-all.sh","teardown:integration":"bash scripts/teardown-all.sh","test:integration:full":"bash scripts/run-integration-tests.sh","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},"_npmVersion":"11.6.1","description":"Shared utilities for AWS Lambda functions in the AgendaCheia platform","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"uuid":"^11.1.0","sharp":"^0.33.5","stripe":"^17.5.0","node-fetch":"^3.3.2","@types/uuid":"^10.0.0","@aws-sdk/client-s3":"^3.936.0","@aws-sdk/client-ses":"^3.699.0","@aws-sdk/client-sqs":"^3.936.0","@smithy/signature-v4":"^4.0.0","@aws-crypto/sha256-js":"^5.2.0","@aws-sdk/client-sesv2":"^3.936.0","@aws-sdk/protocol-http":"^3.374.0","@aws-sdk/client-kinesis":"^3.936.0","@aws-sdk/client-firehose":"^3.936.0","@aws-sdk/client-cloudwatch":"^3.936.0","@aws-sdk/s3-request-presigner":"^3.936.0","@aws-sdk/client-cloudwatch-logs":"^3.936.0","@aws-sdk/client-socialmessaging":"^3.699.0","@aws-sdk/credential-provider-node":"^3.936.0","@aws-sdk/client-pinpoint-sms-voice-v2":"^3.936.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","vitest":"^1.0.0","prettier":"^3.6.2","@vitest/ui":"^1.6.1","typescript":"^5.6.3","@types/node":"^22.9.0","@types/aws-lambda":"^8.10.159","@vitest/coverage-v8":"^1.0.0","aws-sdk-client-mock":"^4.1.0","@typescript-eslint/parser":"^7.18.0","@agendacheia/eslint-config":"*","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/lambda-utils_1.3.0_1769898712022_0.07604409967752024","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@agendacheia/lambda-utils","version":"1.3.1","description":"Shared utilities for AWS Lambda functions in the AgendaCheia platform","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./http":{"import":"./dist/http/index.js","types":"./dist/http/index.d.ts"},"./graphql":{"import":"./dist/graphql/index.js","types":"./dist/graphql/index.d.ts"},"./logger":{"import":"./dist/logger/index.js","types":"./dist/logger/index.d.ts"},"./aws":{"import":"./dist/aws/index.js","types":"./dist/aws/index.d.ts"},"./validation":{"import":"./dist/validation/index.js","types":"./dist/validation/index.d.ts"},"./errors":{"import":"./dist/errors/index.js","types":"./dist/errors/index.d.ts"},"./config":{"import":"./dist/config/index.js","types":"./dist/config/index.d.ts"},"./types":{"import":"./dist/types/index.js","types":"./dist/types/index.d.ts"},"./testing":{"import":"./dist/testing/index.js","types":"./dist/testing/index.d.ts"},"./stripe":{"import":"./dist/stripe/index.js","types":"./dist/stripe/index.d.ts"},"./stripe/billing":{"import":"./dist/stripe/billing/index.js","types":"./dist/stripe/billing/index.d.ts"},"./stripe/connect":{"import":"./dist/stripe/connect/index.js","types":"./dist/stripe/connect/index.d.ts"},"./stripe/payments":{"import":"./dist/stripe/payments/index.js","types":"./dist/stripe/payments/index.d.ts"},"./stripe/webhooks":{"import":"./dist/stripe/webhooks/index.js","types":"./dist/stripe/webhooks/index.d.ts"},"./package.json":"./package.json"},"sideEffects":false,"scripts":{"build":"tsc -p tsconfig.build.json","build:watch":"tsc -p tsconfig.build.json --watch","clean":"rm -rf dist coverage","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:ui":"vitest --ui","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts","test:integration:full":"bash scripts/run-integration-tests.sh","setup:integration":"bash scripts/setup-all.sh","teardown:integration":"bash scripts/teardown-all.sh","type-check":"tsc --noEmit","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","format":"prettier --write \"src/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\"","check":"npm run type-check && npm run lint && npm run format:check"},"keywords":["aws","lambda","utilities","typescript","agendacheia"],"author":{"name":"Agenda Cheia"},"license":"UNLICENSED","publishConfig":{"access":"restricted"},"dependencies":{"@aws-crypto/sha256-js":"^5.2.0","@aws-sdk/client-cloudwatch":"^3.936.0","@aws-sdk/client-cloudwatch-logs":"^3.936.0","@aws-sdk/client-firehose":"^3.936.0","@aws-sdk/client-kinesis":"^3.936.0","@aws-sdk/client-pinpoint-sms-voice-v2":"^3.936.0","@aws-sdk/client-s3":"^3.936.0","@aws-sdk/client-ses":"^3.699.0","@aws-sdk/client-sesv2":"^3.936.0","@aws-sdk/client-socialmessaging":"^3.699.0","@aws-sdk/client-sqs":"^3.936.0","@aws-sdk/credential-provider-node":"^3.936.0","@aws-sdk/protocol-http":"^3.374.0","@aws-sdk/s3-request-presigner":"^3.936.0","@smithy/signature-v4":"^4.0.0","@types/uuid":"^10.0.0","node-fetch":"^3.3.2","sharp":"^0.33.5","stripe":"^17.5.0","uuid":"^11.1.0"},"devDependencies":{"@agendacheia/eslint-config":"*","@types/aws-lambda":"^8.10.159","@types/node":"^22.9.0","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","@vitest/coverage-v8":"^1.0.0","@vitest/ui":"^1.6.1","aws-sdk-client-mock":"^4.1.0","eslint":"^8.57.1","prettier":"^3.6.2","typescript":"^5.6.3","vitest":"^1.0.0"},"_id":"@agendacheia/lambda-utils@1.3.1","_nodeVersion":"22.20.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-HAjmTFs8qzE1WR03b2/IuL08OGwYOQf+mgDg8ti4e/lcUzHY8YoGsleL6JyqfLHsXrV+Jd8SC7tDBdt9Z/c8Cg==","shasum":"13cb24849cade6c3070bc10100ab5f5db5bb9eb4","tarball":"https://registry.npmjs.org/@agendacheia/lambda-utils/-/lambda-utils-1.3.1.tgz","fileCount":534,"unpackedSize":1581929,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBgx9ntjDHLJ7iN+9r+Cl/8hckMuEhEGbEbT7mxb9MoFAiEA4/pJuv4SXAgbcfsbd2X5CK8Wt2cLU6glTb3x6t7xC3A="}]},"_npmUser":{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},"directories":{},"maintainers":[{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},{"name":"gaugustog","email":"gabri.augustog@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lambda-utils_1.3.1_1769969848761_0.864626078551719"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-21T14:46:56.041Z","modified":"2026-02-01T18:17:29.108Z","1.1.0":"2025-11-21T14:46:56.379Z","1.2.0":"2026-01-11T20:00:26.818Z","1.3.0":"2026-01-31T22:31:52.174Z","1.3.1":"2026-02-01T18:17:28.957Z"},"author":{"name":"Agenda Cheia"},"license":"UNLICENSED","keywords":["aws","lambda","utilities","typescript","agendacheia"],"description":"Shared utilities for AWS Lambda functions in the AgendaCheia platform","maintainers":[{"name":"gaugoncalves","email":"gab.augustog@gmail.com"},{"name":"gaugustog","email":"gabri.augustog@gmail.com"}],"readme":"# @agendacheia/lambda-utils\n\nShared utilities for AWS Lambda functions in the AgendaCheia platform.\n\n## Installation\n\n```bash\nnpm install @agendacheia/lambda-utils\n```\n\n## Features\n\n- **HTTP Utilities**: Request/response handling, CORS, headers\n- **Logger**: Structured CloudWatch logging with context support\n- **GraphQL Client**: Type-safe GraphQL operations with retry logic\n- **AWS Clients**: Pre-configured S3, SQS, SES, Kinesis, CloudWatch clients\n- **Validation**: Input validation and sanitization\n- **Error Classes**: Standardized error handling\n- **Configuration**: Environment variable helpers\n- **Stripe Integration**: Complete Stripe SDK utilities for Billing, Connect, Payments, and Webhooks\n\n## Usage\n\n### Logger\n\n```typescript\nimport { createPreSignUpLogger } from '@agendacheia/lambda-utils/logger'\n\nconst logger = createPreSignUpLogger(event, context)\nlogger.info('Processing request', { userId: '123' })\n```\n\n### HTTP Response\n\n```typescript\nimport { createResponse, ok, badRequest } from '@agendacheia/lambda-utils/http'\n\nreturn ok({ message: 'Success' })\nreturn badRequest('Invalid input')\n```\n\n### Validation\n\n```typescript\nimport { createSchema, required, email } from '@agendacheia/lambda-utils/validation'\n\nconst schema = createSchema({\n  email: { rules: [required(), email()] },\n})\nconst result = schema.validate(input)\n```\n\n### Error Classes\n\n```typescript\nimport { ValidationError, NotFoundError } from '@agendacheia/lambda-utils/errors'\n\nthrow new ValidationError('Email is required')\nthrow new NotFoundError('User')\n```\n\n### Stripe Integration\n\n```typescript\nimport {\n  createStripeClientFromEnv,\n  createSubscription,\n  cancelSubscription,\n  StripeApiError,\n} from '@agendacheia/lambda-utils/stripe'\n\nconst client = createStripeClientFromEnv(logger)\n\n// Create a subscription\nconst subscription = await createSubscription(client, {\n  customerId: 'cus_xxx',\n  priceId: 'price_xxx',\n  trialPeriodDays: 14\n})\n\n// Handle Stripe Connect\nimport { createConnectAccount, getAccountStatus } from '@agendacheia/lambda-utils/stripe/connect'\n\nconst account = await createConnectAccount(client, {\n  businessId: 'biz_123',\n  email: 'business@example.com',\n  type: 'individual'\n})\n\n// Process PIX payments (Brazil)\nimport { createPixPayment, getPixQrCode } from '@agendacheia/lambda-utils/stripe/payments'\n\nconst payment = await createPixPayment(client, {\n  amount: 10000, // R$ 100.00 in centavos\n  customerId: 'cus_xxx',\n  businessId: 'biz_123'\n})\n\n// Webhook handling\nimport { WebhookRouter, verifyWebhookSignature } from '@agendacheia/lambda-utils/stripe/webhooks'\n\nconst router = new WebhookRouter()\nrouter.on('invoice.paid', handleInvoicePaid)\nrouter.on('payment_intent.succeeded', handlePaymentSuccess)\n```\n\n## Module Exports\n\n| Module | Import Path |\n|--------|-------------|\n| HTTP | `@agendacheia/lambda-utils/http` |\n| Logger | `@agendacheia/lambda-utils/logger` |\n| GraphQL | `@agendacheia/lambda-utils/graphql` |\n| AWS | `@agendacheia/lambda-utils/aws` |\n| Validation | `@agendacheia/lambda-utils/validation` |\n| Errors | `@agendacheia/lambda-utils/errors` |\n| Config | `@agendacheia/lambda-utils/config` |\n| Stripe (all) | `@agendacheia/lambda-utils/stripe` |\n| Stripe Billing | `@agendacheia/lambda-utils/stripe/billing` |\n| Stripe Connect | `@agendacheia/lambda-utils/stripe/connect` |\n| Stripe Payments | `@agendacheia/lambda-utils/stripe/payments` |\n| Stripe Webhooks | `@agendacheia/lambda-utils/stripe/webhooks` |\n\n## License\n\nUNLICENSED - Internal use only\n","readmeFilename":"README.md"}