{"_id":"@acandrade/ac-bot-avatar-utils","_rev":"3-a1c664ff6cd2f39f039b17430bcc5eb5","name":"@acandrade/ac-bot-avatar-utils","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@acandrade/ac-bot-avatar-utils","version":"1.0.0","_id":"@acandrade/ac-bot-avatar-utils@1.0.0","maintainers":[{"name":"adrianocandrade","email":"adrianowebm@gmail.com"}],"dist":{"shasum":"da5c126f018df98f0d830b7e9684db943b973d0f","tarball":"https://registry.npmjs.org/@acandrade/ac-bot-avatar-utils/-/ac-bot-avatar-utils-1.0.0.tgz","fileCount":13,"integrity":"sha512-8SQcYbfQnkLyelEd6rOjRk7WfQHo7Qi0Uh3TyGA+nb6eO3blJNjO19IuQpuuHRYAmUWngeE5jNJo9SStxE8ehQ==","signatures":[{"sig":"MEUCIQC8ImqtAwZlqAjvh0AcDnoRx04rRfladnBuqJnk1GQ31gIgIdtSTiizTneoXSadLttPvzYQpjZYza+mcc9rspfqYEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10482},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0f000bf8e624bf6963876625636000b54be311d8","scripts":{"pack":"npm pack","test":"vitest run --passWithNoTests","build":"tsc"},"_npmUser":{"name":"adrianocandrade","email":"adrianowebm@gmail.com"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@acandrade/ac-bot-avatar-core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ac-bot-avatar-utils_1.0.0_1771605080026_0.7100245444279236","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@acandrade/ac-bot-avatar-utils","version":"1.0.3","keywords":["generator","hash","deterministic","avatar","utils"],"_id":"@acandrade/ac-bot-avatar-utils@1.0.3","maintainers":[{"name":"adrianocandrade","email":"adrianowebm@gmail.com"}],"dist":{"shasum":"800770799fff246f80a45664b627167c1179d840","tarball":"https://registry.npmjs.org/@acandrade/ac-bot-avatar-utils/-/ac-bot-avatar-utils-1.0.3.tgz","fileCount":14,"integrity":"sha512-dWWgr7eWHoj5jl8U15jDxiv046ihKMTfdM9SsjnzS6mFGHThPWcCUCwAUM66c26bLlo+h1HRE95jiaZGeuSNHQ==","signatures":[{"sig":"MEQCIGHn9vXo2yR/nfUuXBXrsEtw2vNIW/hmmDjy00rFLcfPAiA4HUh7TpQJB7UkPNXP96v66bTyF5FLv/iQxC6OnFCs4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11734},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"abf7b857bcc32d2422120d6650fc70b08c29a0e0","scripts":{"pack":"npm pack","test":"vitest run --passWithNoTests","build":"tsc"},"_npmUser":{"name":"adrianocandrade","email":"adrianowebm@gmail.com"},"_npmVersion":"10.8.2","description":"Helper functions for deterministic AC Bot Avatar generation","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@acandrade/ac-bot-avatar-core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ac-bot-avatar-utils_1.0.3_1771606630445_0.0037732780830295187","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@acandrade/ac-bot-avatar-utils@1.1.0","bugs":{"url":"https://github.com/AC-Andrade/ac-bot-avatar/issues"},"dist":{"shasum":"2b16f6a8697fdb79c5499a9f15e63acd3bbd4093","tarball":"https://registry.npmjs.org/@acandrade/ac-bot-avatar-utils/-/ac-bot-avatar-utils-1.1.0.tgz","fileCount":17,"integrity":"sha512-pmS8lA1zwhtrQaQOFGeKe9tarXFdGuDZcrnmJJftXUj7Ghi/8NGuoyl38cpLnrkNJmNsC0CrqUAWfASTUZqQYA==","signatures":[{"sig":"MEQCIFlYL2J5/6Sh+wvIElDCDcAEOH7JvcI7NHMZ7x8MSs0rAiBOIUotuNxNncS78hpGW54hEk52x4ysq5nqmadrPpljTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCnTRT6YkvZcDdzebn+NfWByyjfqM0BzNZO/gXmMFiOawIhAOLy2ZMsSi7lVpfGHJi5/EE+uVRxASQkfm95Cuva/c9v"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@acandrade%2fac-bot-avatar-utils@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":151915},"main":"./dist/cjs/index.cjs","name":"@acandrade/ac-bot-avatar-utils","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.cjs"},"./package.json":"./package.json"},"gitHead":"1d7a900183d44389111352f985bbe42d7c2d151c","license":"MIT","scripts":{"pack":"npm pack","test":"vitest run","build":"node ../../scripts/build-package.mjs","typecheck":"tsc --build --pretty false"},"version":"1.1.0","_npmUser":{"name":"adrianocandrade","email":"adrianowebm@gmail.com"},"homepage":"https://acbot.dev","keywords":["generator","hash","deterministic","avatar","utils"],"repository":{"url":"git+https://github.com/AC-Andrade/ac-bot-avatar.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.8.2","description":"Deterministic generation, hashing and color utilities for AC Bot Avatar","directories":{},"maintainers":[{"name":"adrianocandrade","email":"adrianowebm@gmail.com"}],"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@acandrade/ac-bot-avatar-core":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ac-bot-avatar-utils_1.1.0_1789525987690_0.5969695730476825"}}},"time":{"created":"2026-02-20T16:31:19.911Z","modified":"2026-09-16T02:33:08.087Z","1.0.0":"2026-02-20T16:31:20.177Z","1.0.3":"2026-02-20T16:57:10.601Z","1.1.0":"2026-09-16T02:33:07.769Z"},"keywords":["generator","hash","deterministic","avatar","utils"],"description":"Deterministic generation, hashing and color utilities for AC Bot Avatar","maintainers":[{"name":"adrianocandrade","email":"adrianowebm@gmail.com"}],"readme":"# @acandrade/ac-bot-avatar-utils\n\nHash, cores e geração determinística versionada para AC Bot Avatar.\n\n```bash\nyarn add @acandrade/ac-bot-avatar-utils @acandrade/ac-bot-avatar-core\n```\n\n```ts\nimport { generateAvatarConfig } from \"@acandrade/ac-bot-avatar-utils\";\n\nconst stable = generateAvatarConfig(\"user-123\"); // geração v1 por padrão\nconst expanded = generateAvatarConfig(\"user-123\", {\n  generationVersion: \"v2\",\n  palette: \"warm\",\n});\nconst composed = generateAvatarConfig(\"atlas-9823\", {\n  generationVersion: \"v3\",\n  composition: {\n    theme: \"robot\",\n    background: true,\n    backgroundType: \"gradientLinear\",\n  },\n});\n```\n\n`v1` mantém a sequência da versão 1.0.3. `v2` pode sortear sobrancelhas, detalhes, padrões e acessórios novos. `v3` preserva ambas e adiciona composição semântica, contraste WCAG, distância OKLab, validação e reparo determinístico. Uma paleta também pode ser um array readonly de cores CSS.\n\nAs funções públicas incluem `composeAvatarColors`, `validateColorComposition`, `getRelativeLuminance`, `getContrastRatio`, `getColorDistance`, `isColorCollision` e utilitários para gradientes. Veja [a documentação completa](../../docs/COLOR_COMPOSITION.md).\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","homepage":"https://acbot.dev","repository":{"url":"git+https://github.com/AC-Andrade/ac-bot-avatar.git","type":"git","directory":"packages/utils"},"bugs":{"url":"https://github.com/AC-Andrade/ac-bot-avatar/issues"},"license":"MIT"}