{"_id":"@adatechnology/catalog-contracts","_rev":"6-eb15eb282114e095101b61d1fe8416d8","name":"@adatechnology/catalog-contracts","dist-tags":{"rc":"0.1.0-rc.4","latest":"0.1.0"},"versions":{"0.1.0-rc.1":{"name":"@adatechnology/catalog-contracts","version":"0.1.0-rc.1","license":"MIT","_id":"@adatechnology/catalog-contracts@0.1.0-rc.1","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"c816b0e528180269b90c5137131af5a537cacab0","tarball":"https://registry.npmjs.org/@adatechnology/catalog-contracts/-/catalog-contracts-0.1.0-rc.1.tgz","fileCount":8,"integrity":"sha512-iYxtPMO+Kb7S/28TagHiM9PBeb1Ua1do8+MiD/nUeVO3s4zOjdy34phgFnrsFMNiPJuwuyD+UKP/hjzVMiZGOg==","signatures":[{"sig":"MEQCIBwcUVbDh5/3fJHV+WHHBW6yHCD1tKa6VeY1aOshsccjAiBzoU/TBBb/00wndzmUrxVKfdm7aqhTPg2dRV8Mn9ZvWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124123},"main":"dist/index.js","type":"module","_from":"file:adatechnology-catalog-contracts-0.1.0-rc.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/3ce58b51be6260b05b6f7c9adccc4d38/adatechnology-catalog-contracts-0.1.0-rc.1.tgz","_integrity":"sha512-iYxtPMO+Kb7S/28TagHiM9PBeb1Ua1do8+MiD/nUeVO3s4zOjdy34phgFnrsFMNiPJuwuyD+UKP/hjzVMiZGOg==","_npmVersion":"10.9.8","description":"Shared types, zod schemas and port interfaces for the catalog trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/catalog-contracts_0.1.0-rc.1_1785852811753_0.9844226034413233","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.2":{"name":"@adatechnology/catalog-contracts","version":"0.1.0-rc.2","license":"MIT","_id":"@adatechnology/catalog-contracts@0.1.0-rc.2","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"0eab6b53fee89b09eb7dc2483b33cd259d088337","tarball":"https://registry.npmjs.org/@adatechnology/catalog-contracts/-/catalog-contracts-0.1.0-rc.2.tgz","fileCount":8,"integrity":"sha512-6itC0cF30hQOi70NNIjIkQ9jMrn3eM8XvI4DywGJXFfdSo0ABmExk5D5kfSst5iI+cVHTjJqqyaASUrAn1F3lw==","signatures":[{"sig":"MEQCIFk7uk8xH+zdFlA8824FGp+GcfctcytmZtnxGCWGF+Y/AiANG/bYazoRrFTPCKLgHoGwVlh03/7waA0ROVyi4sF0Uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129198},"main":"dist/index.js","type":"module","_from":"file:adatechnology-catalog-contracts-0.1.0-rc.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/e9210e8494e6f7f2fa4ee07ec58b07f2/adatechnology-catalog-contracts-0.1.0-rc.2.tgz","_integrity":"sha512-6itC0cF30hQOi70NNIjIkQ9jMrn3eM8XvI4DywGJXFfdSo0ABmExk5D5kfSst5iI+cVHTjJqqyaASUrAn1F3lw==","_npmVersion":"10.9.8","description":"Shared types, zod schemas and port interfaces for the catalog trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/catalog-contracts_0.1.0-rc.2_1786635004561_0.5327784128242314","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.3":{"name":"@adatechnology/catalog-contracts","version":"0.1.0-rc.3","license":"MIT","_id":"@adatechnology/catalog-contracts@0.1.0-rc.3","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"7a2feb030b68ca1aea5b9941e31415a4da9ae2c0","tarball":"https://registry.npmjs.org/@adatechnology/catalog-contracts/-/catalog-contracts-0.1.0-rc.3.tgz","fileCount":8,"integrity":"sha512-DzgbsR2eeViT64H82mb6CvtkgVuCQ0ab/uePGjRZpALcnlnnp0TNluuBGkszdOvVrWyqv1RZ++4p+D0X8h9aZA==","signatures":[{"sig":"MEYCIQC7oQ8VyFejGOBIydwkoBUTXbPE2K1kkB8KBGp5l+zv/QIhANk66W2IZh98EMf8N0CVWiXU2vaiG4JWfkizBnx54mXX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162911},"main":"dist/index.js","type":"module","_from":"file:adatechnology-catalog-contracts-0.1.0-rc.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/40d7184129a4106d7c999bee07a644a0/adatechnology-catalog-contracts-0.1.0-rc.3.tgz","_integrity":"sha512-DzgbsR2eeViT64H82mb6CvtkgVuCQ0ab/uePGjRZpALcnlnnp0TNluuBGkszdOvVrWyqv1RZ++4p+D0X8h9aZA==","_npmVersion":"10.9.8","description":"Shared types, zod schemas and port interfaces for the catalog trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/catalog-contracts_0.1.0-rc.3_1787097025841_0.3049419140377718","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.4":{"name":"@adatechnology/catalog-contracts","version":"0.1.0-rc.4","license":"MIT","_id":"@adatechnology/catalog-contracts@0.1.0-rc.4","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"6eff1dff1d0aae9570c44fd9aa7bd3508eb0ad58","tarball":"https://registry.npmjs.org/@adatechnology/catalog-contracts/-/catalog-contracts-0.1.0-rc.4.tgz","fileCount":8,"integrity":"sha512-mCupGM3Cb3zvsb5xx0FyyUtcCUoNNH+XIUa8wfMOLHAkRvEQ3oSY6BJCzCUSzJF83UcF1DM1+M6C5csBTSwhUA==","signatures":[{"sig":"MEYCIQDUeUGydTPL8G5b1KCkBWyOH290Dzg+PC9Jrcsyl1FM8wIhAOIT/zaE8+uWbBKQOeIxH02URK4nWbHT0vXT+TSQSVmL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193819},"main":"dist/index.js","type":"module","_from":"file:adatechnology-catalog-contracts-0.1.0-rc.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/98ee919b0c9262f2d3fea4eb96722a3e/adatechnology-catalog-contracts-0.1.0-rc.4.tgz","_integrity":"sha512-mCupGM3Cb3zvsb5xx0FyyUtcCUoNNH+XIUa8wfMOLHAkRvEQ3oSY6BJCzCUSzJF83UcF1DM1+M6C5csBTSwhUA==","_npmVersion":"10.9.8","description":"Shared types, zod schemas and port interfaces for the catalog trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/catalog-contracts_0.1.0-rc.4_1788287001047_0.2826414521714731","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@adatechnology/catalog-contracts","version":"0.1.0","license":"MIT","description":"Shared types, zod schemas and port interfaces for the catalog trio (contracts only — no runtime behavior)","publishConfig":{"access":"public"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"dependencies":{"zod":"^3.24.1"},"devDependencies":{"@types/bun":"1.3.14","tsup":"^8.5.1","typescript":"^5.7.3"},"scripts":{"build":"tsup","check":"tsc -p tsconfig.json --noEmit","test":"bun test"},"_id":"@adatechnology/catalog-contracts@0.1.0","_integrity":"sha512-2iOoViaZ5pGKHecUV2AtwaOaKkxrxUYh2Wn/hpwEvY+68IZTHsLboMJSbQNPSKwvRQE0Oa+vBxBZ1+/nLkEKIA==","_resolved":"/tmp/ec8b7c2580abd0313435b49b23b18fcb/adatechnology-catalog-contracts-0.1.0.tgz","_from":"file:adatechnology-catalog-contracts-0.1.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-2iOoViaZ5pGKHecUV2AtwaOaKkxrxUYh2Wn/hpwEvY+68IZTHsLboMJSbQNPSKwvRQE0Oa+vBxBZ1+/nLkEKIA==","shasum":"e70b3157983c16531982460f41c37f0462441467","tarball":"https://registry.npmjs.org/@adatechnology/catalog-contracts/-/catalog-contracts-0.1.0.tgz","fileCount":8,"unpackedSize":193814,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG5xPBRGhYTwwfrICR35mdk0F/WKnxCQJBwSnwMB7wfRAiA8T46BdOtt0b0fV81D1HwRUtJM/HU6DZadfRNuTaPRdw=="}]},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"directories":{},"maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/catalog-contracts_0.1.0_1788318078294_0.9314120936527297"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T14:13:31.568Z","modified":"2026-09-02T03:01:18.725Z","0.1.0-rc.1":"2026-08-04T14:13:31.950Z","0.1.0-rc.2":"2026-08-13T15:30:04.721Z","0.1.0-rc.3":"2026-08-18T23:50:25.967Z","0.1.0-rc.4":"2026-09-01T18:23:21.205Z","0.1.0":"2026-09-02T03:01:18.452Z"},"license":"MIT","description":"Shared types, zod schemas and port interfaces for the catalog trio (contracts only — no runtime behavior)","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"readme":"# @adatechnology/catalog-contracts\n\nTipos, schemas zod e portas do trio `catalog-*`. **Sem comportamento de runtime** — backend valida\ncom ele, frontend tipa as queries com ele, e mudança de contrato quebra os dois lados em\ncompile-time em vez de em produção.\n\nÚnica dependência: `zod`.\n\n## Instalação\n\n```bash\nbun add @adatechnology/catalog-contracts\n```\n\n## O que traz\n\n| Área | Conteúdo |\n|---|---|\n| Entidades | `Product`, `Catalog`, `Section`, `PaginatedResponse` |\n| Entrada | `createProductSchema`, `updateProductSchema`, `createCatalogSchema`, `listProductsQuerySchema`, … |\n| Portas | `MetaCatalogSyncPort`, `ProductImageStoragePort`, `ProductSuggestionPort`, `CatalogProductLookup` |\n| Eventos | 9 eventos de domínio + `CatalogHooks` |\n| Erros | `CatalogError` e subclasses, com `statusCode` e `code` estáveis |\n\n## Invariantes\n\n- **`companyId` nunca entra em schema de corpo.** Vem do contexto autenticado do host.\n- **Dinheiro é `integer` de centavos**, com `.int()` no zod — sem isso `19.99` vira preço.\n- **Nenhum import de Meta.** A publicação é porta; quem só gerencia catálogo interno não carrega\n  cliente de Graph API.\n- `DEFAULT_META_SYNC` é `{ products: false, catalogs: false }`.\n\n## `MetaSyncOutcome` é união discriminada\n\n```ts\ntype MetaSyncOutcome =\n  | { outcome: 'synced'; externalId: string }\n  | { outcome: 'permanent'; errorCode: string; message: string }\n  | { outcome: 'retriable'; errorCode: string; message: string }\n```\n\nQuem classifica é o **adaptador**, nunca o módulo: só ele conhece o vocabulário de erro do\nprovedor. O módulo reage ao discriminante — e é isso que evita retry infinito em erro definitivo.\n\n## Fora do contrato, de propósito\n\n`PriceReference`, `PriceHistoryEntry` e `RelatedProduct` vivem no `products-ui`. Vêm de NF-e e de\nanalytics de pedido — não são dado de catálogo, o módulo não os produz, e prometê-los aqui seria\ncontrato que ninguém cumpre.\n\n## Licença\n\nMIT © Ada Technology\n","readmeFilename":"README.md"}