{"_id":"@egose/keycloak-fluent","_rev":"26-d1c35f367ebe9e85f224f3de4888651f","name":"@egose/keycloak-fluent","dist-tags":{"latest":"0.14.0"},"versions":{"0.0.1":{"name":"@egose/keycloak-fluent","version":"0.0.1","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.0.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://github.com/egose/keycloak-fluent#readme","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"e83050dc4cc317f4c8f1811353ef4d3e4cbcaea2","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.0.1.tgz","fileCount":104,"integrity":"sha512-VO7lHBDwXO8ofsQc+O6wGDIqvkJLfadelhrbUMWVaoMwwHXH3wb5eFOq/5OdhXrFC/RrykECFy3ljA/468j48A==","signatures":[{"sig":"MEQCICEdhPYbEhP0g2X8uilKp15UoRZ9twCvjxAfZgbL59MfAiBUrdZTZsiLnpu6j5sNquNHHHyO+rtV4ICzf8tjlQbqbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216510},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"ab60de0d77491af8dae34f375ee9f63c2ad7c356","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.0.1_1764990723168_0.7166804349005762","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@egose/keycloak-fluent","version":"0.1.0","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.1.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://github.com/egose/keycloak-fluent#readme","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"50b07aa47249b59a7fcfebd16268e15ee83f79ef","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.1.0.tgz","fileCount":124,"integrity":"sha512-gIalzWrFbd4FFsb08d9UvP4c2DyAs0UtPr95iF9seedS0AC+nrI9Xb800xS/MofBn2g6VUWzVkccDo3JYxrncA==","signatures":[{"sig":"MEUCIQDs8oOot+Diw6aAaqnoGNrRkoyUlPNeDjFNS0QM98qN+QIgGIV5CPn/ZlNY8Xie0bcApCBfpEGTVFRCW7EO3DwkcqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243538},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"b63b32e109ddee92c6ba3b428e45b9d0d27a33ee","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.1.0_1764994617315_0.7098969528079115","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@egose/keycloak-fluent","version":"0.2.0","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.2.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://github.com/egose/keycloak-fluent#readme","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"bb9149fc061ac2aa188ba0bbe46a10c73a49653f","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.2.0.tgz","fileCount":202,"integrity":"sha512-VPzzOgOu/1ub24QCJ75tNphtPWkpCjRZbIP2S5FGiLU8ZratpacLlKBtdIiRi7eG4PeDTF+Zdrx31hdl03jo1A==","signatures":[{"sig":"MEQCIHDrMBgSlttoV6ar//nYF1+AiYtHM7PxDcrueyWlr0+WAiAXMa3utEs5t2tmdUilR2HZWNeO1qrXPulXJkg04GilmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":444188},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"138c634b782286e021026cce4e78230f48fe851b","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.2.0_1765244859925_0.2887531775565795","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@egose/keycloak-fluent","version":"0.2.1","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.2.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://github.com/egose/keycloak-fluent#readme","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"81d6b8771d38b12209f4e24bc6183f4576c7ea38","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.2.1.tgz","fileCount":202,"integrity":"sha512-C+o3xFEj9ws1CJJM/eNlgPrepKRmF9Ud8F0Mud4HbWeFZ7rhezcdyqB+dTAlJXGZe3QgusVubk75owSSSkLkZw==","signatures":[{"sig":"MEUCIQDlYLCsIGej9W9XGwAoDqn9aOAvueaa7aD4duAmdaPZ0wIgLCsVtOaxXBnbZfUm9hSG3pwOCBWKTaPzur8xw8/+HwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":444352},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"12658e55c1f99c3037e2befb6b0b05990ad29f9f","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.2.1_1765316834664_0.18001259131590697","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@egose/keycloak-fluent","version":"0.3.0","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.3.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://github.com/egose/keycloak-fluent#readme","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"fd0949230853768daec9f7fb096d3368f045761d","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.3.0.tgz","fileCount":202,"integrity":"sha512-05EFURLPQS+hvvMCmX96z197KYlR8+H5/zOYC4lMQfi3PJz3i3vM298JelnD0fS62/31S9BWmkq2Nv2o5P2sqg==","signatures":[{"sig":"MEUCIQCTp+GnTGRjyW5aoYPBo0H0AWJQRcX1Dm1mMay0SoyOxAIgQSro1z4mW8jQ8EpRHTRE2RKs40rYKPQb1JoxWM2I1js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449156},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"36c7a4fd0a5b3014224b37d3e2d6312d55fb6609","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.3.0_1765318537526_0.3636281647540842","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@egose/keycloak-fluent","version":"0.4.0","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.4.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://github.com/egose/keycloak-fluent#readme","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"39762e2d9cd9bb862e182a53968d45fd427be455","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.4.0.tgz","fileCount":202,"integrity":"sha512-IRg5/aEQP0Tl5/i/dOvFC7LepgrGcWRHwSU/o5+/CgQL+jnk7JPsMajjAL6OoB2b6WHRGCP5757A9mfK+wNxrw==","signatures":[{"sig":"MEUCIE4J9nSNaOP96vxGBaB/g3muB85G/A7Im3OogiwK+lCGAiEApoRZYnPAO0VuktSvIXLTeiVpMXbHjA5sFhUu625h9ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483560},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"e46f9d1fc09cf8102988f62433ba589e7fd240ce","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.4.0_1765333206054_0.17853099162656894","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@egose/keycloak-fluent","version":"0.5.0","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.5.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"7ea4a255c3899ff54b3413e7c041e957bceb4b99","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.5.0.tgz","fileCount":202,"integrity":"sha512-tOhy/v1mZI1OuMgnN8PEAG9PGJDhzmhw5FJZ2nJ0D6zcfYdveuqsGhdqzRbz/wnY9uuDZwsCyOazA5e4eDeZMQ==","signatures":[{"sig":"MEUCIQDbODypBqutmMY6pOfUdNzCkWhqZWlduFAn5F4Ki7eqcQIgF4cj6kz3zQ/j7vZlrR390QH1BTOU2bSALGByq1MNqBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491478},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"6a97a273aea98ec340fefe26a21c86fbfebe0a3c","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.5.0_1765687469713_0.1403279613234245","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@egose/keycloak-fluent","version":"0.5.1","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.5.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"10c0b7cbfa4a6a557ed46eda0e83f6b74e9e2439","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.5.1.tgz","fileCount":202,"integrity":"sha512-u+yBJYJaieAzghjaZ5y64HjLP0nike8enQN3XWcx/EZ95Zxh8h58iqBt5IboBfCP9Yya+kjTjtyi6TXajieUHw==","signatures":[{"sig":"MEYCIQCo7KaAY53/0OuMhGGOYsFE1DvOlnNpVGdPTNJqQfBgfAIhAPoul4yc4ZtlqI/MYILJv1uVKc3EBcYAxC5/jpJhNcGx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491568},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"ba42cbd0adcda6c718cd117a16caf78dd3c3d228","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.5.1_1766541948252_0.743943152804845","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@egose/keycloak-fluent","version":"0.5.2","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.5.2","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"5aa983eec990150bb246f87c6b1f23ae3b887aa7","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.5.2.tgz","fileCount":202,"integrity":"sha512-EtnHhvjigF/63NTrH6YM0UeoozJndSwcvZTZGKq+ZSG/C7z/ghiqpoGqSJAdKybm0E/tggcFis1oMU2mFgSTlQ==","signatures":[{"sig":"MEUCICXo/Ck0QtUeUYneZgYh223P0dVUuWcTrF9p1R3CFNsEAiEAjnC+vpJhyW2EhiBE2IzrQMx/eQwSsRmshmWbckXWkzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491658},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"0f08c7c9faad7ea584ff65bc9704a54d76190c8b","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.5.2_1766545049106_0.19219183458101452","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@egose/keycloak-fluent","version":"0.6.0","keywords":["keycloak","extension","declarative","fluent"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.6.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"ccc1cc64ad0a8c0890551309699d6c74dc214b57","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.6.0.tgz","fileCount":336,"integrity":"sha512-qFogZwC+SGg6rro39ARZWNJvmBQGN2R3K73DESmXZpYGux2zAPDuw8ab9KWQ+uDCJ8Wob2KtpT++9APFIHARAQ==","signatures":[{"sig":"MEQCIEven6IQh+u5pkknxostZUsvtyodcSuGpySJ0PUbWNjRAiAlPYkTtEVv6mcvD/ijJjVN3O5fZtcyYWklE6la1fmsTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1500617},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"9b399ace39fb0f76253aabb5438a3d9e513e067f","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"A fluent TypeScript wrapper for the Keycloak Admin API that lets developers manage Keycloak resources through a readable, chainable DSL. It ensures entities exist with desired properties, supports updates and removals, and abstracts away low-level REST co","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.6.0_1775017658681_0.5182588762394491","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@egose/keycloak-fluent","version":"0.6.1","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.6.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"a27cbf5b60e7b0d2350f5e76def9c23a3430ee87","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.6.1.tgz","fileCount":208,"integrity":"sha512-OvI4zBpHYxPh4NmFYCS3PyLS7YY7Jq5MH8n9maa/v3A+mjNkcU9tzqUn7LQLK56r9Vfw26gwkCq0PQa4h+yw9A==","signatures":[{"sig":"MEUCIBSRUVeeNkYRFFx9SYM+hajYtL4nlEmiedXTo+PWEzjFAiEA7DhvkZOx3+88y6vw1U4ns8jj+3fK+LdxLUp3xEv2nCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773370},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"475181070a568c9819b9ebc7b4e954f625b97760","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.6.2","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"lodash-es":"^4.17.21","@keycloak/keycloak-admin-client":"^26.4.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.6.1_1775019014990_0.7118073872825097","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@egose/keycloak-fluent","version":"0.6.3","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.6.3","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"e407ce88413a5cf8f61a9ea3fc647f471aaff617","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.6.3.tgz","fileCount":240,"integrity":"sha512-xvynBYVKBPKwHfG4cuyZSULTDrbIi8DRMyvOkmsxV7A49jCqZS98LCvQARtKCm8pzEvhRdxeqpefcgoPT3yg+w==","signatures":[{"sig":"MEQCIBtlORhWDWHkrSOemIPGEnGPHtR+PZJiR/GzGsQg+pDRAiAvoaTLX6OGrYWddSofXadcXiI2aIHg5CGMBKXCNDchqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808227},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"7f36187c02760b51629bb3a1e9b862ee0e4a8a0f","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.11.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.6.3_1775167754568_0.8207463275610771","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@egose/keycloak-fluent","version":"0.6.4","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.6.4","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"1790c2e8c536fd72efcac274ad8843460ddcf001","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.6.4.tgz","fileCount":240,"integrity":"sha512-YY2xadLOdqHGkmkfo/StvkeSDZXK2zavXqy8LrdqEUetg18vh6HP4/QPkc43UJMCKRhA81XubCw3tvgvGwkKdQ==","signatures":[{"sig":"MEUCIQD3XCSU9vX2Ev8x3HHl2eBGrHpMTkVyHphTJ3MZy00QJAIgBngzDIq3vqeZOeKaiZxSEo9BwpfiDc1quPpZ+0QzmTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808318},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"a2610bb1e89ef16a5cec8015fbd789f138252676","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.12.1","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.6.4_1776619974695_0.47139931315551786","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@egose/keycloak-fluent","version":"0.7.0","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.7.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"6065b5426fd5057d20e18f714c92c5ddc275d25e","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.7.0.tgz","fileCount":240,"integrity":"sha512-ptGhX/gTW0gcFpDpEOXEspvaMV1tTk5j2qn9sy/rJQiWUSkk5wPY5H0WJPPxDohE2HiywG5GJOwa+/6O8RlHTg==","signatures":[{"sig":"MEYCIQDheB0BqfKiroOKSxCHkKbeeSXHAVah+alfyBA7kTVYzQIhAJ2t6uzdto36YrfO1UVCxrsh1CodGCf1GmFe9KkacW/v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808492},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"40435db33e258b3fbe7a15c0068768740c43412b","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.13.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.2.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.7.0_1781132277082_0.9357091663131847","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@egose/keycloak-fluent","version":"0.8.0","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.8.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"fa5d4451461934c26dda062e126f240e33de350c","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.8.0.tgz","fileCount":246,"integrity":"sha512-IGX0HpM9fbvcljZl4MbfDtzLVLly9dtenC5pEU+vE+NdVTwTheuJHnYy3PzkEj14JBgGAeWJG8s+Tpvp8A1bXg==","signatures":[{"sig":"MEQCIA/KrRYPB8sbWYseBE9i+z3M8q46/0ACMw9qTEFHNvWBAiBs+8RG4mwn6tzmWSXfPo3fGbb5LWgbag2ZfeyRYJBcFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":827654},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"e76419a50aace8297ae6cb958a437eaaf5d6f2d9","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.16.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.8.0_1781655829117_0.42384843681032747","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@egose/keycloak-fluent","version":"0.8.2","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.8.2","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"568878cc39dfd98c5d8ff1c6d43bb8f810e05c3c","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.8.2.tgz","fileCount":246,"integrity":"sha512-uZkHwAnetqQ7NuhIerAPSPdSlX35+69D8qbFcl0iJeG5cLvDiwTXnue7LYS7yO53eYpIg+Cmz7xV2Wu7FqMtlQ==","signatures":[{"sig":"MEUCIQDMTXSIDu/WxykiurxM7BMCLhlj7C7LmMHBffcLXReMlgIga7SqFjn+iJroRy8F/kj4Dmm92bHxZzv8MC+KWTo+Gr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":830542},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{"bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"main":"./index.cjs","name":"@egose/keycloak-fluent","type":"module","files":["./","!dist/**/*.map","README.md","LICENSE","CHANGELOG.md"],"types":"./index.d.ts","author":"J.Dev","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"license":"Apache-2.0","scripts":{"dev":"tsc -w","test":"vitest run --no-cache","build":"rimraf ./build && tsc","bundle":"tsup","release":"release-it","lint-fix":"eslint --fix .","changelog":"node changelog.mjs","test:unit":"vitest run --no-cache --config vitest.unit.config.ts","test:integration":"vitest run --no-cache --config vitest.integration.config.ts"},"version":"0.8.2","homepage":"https://keycloak-fluent.pages.dev/","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"repository":{"url":"https://github.com/egose/keycloak-fluent","type":"git"},"description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","sideEffects":false,"dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","yargs":"^18.0.0","dotenv":"^17.4.0","eslint":"10.2.1","rimraf":"^6.1.3","semver":"^7.8.4","vitest":"^4.1.9","wait-on":"^9.0.4","fs-extra":"^11.3.4","prettier":"4.0.0-alpha.13","@eslint/js":"^10.0.1","release-it":"^20.0.1","typescript":"^6.0.2","@types/node":"^25.9.3","@commitlint/cli":"^20.5.0","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.61.1","@commitlint/format":"^20.5.0","@release-it/bumper":"^7.0.5","conventional-changelog":"^7.2.0","eslint-config-prettier":"^10.1.8","@types/eslint-config-prettier":"^6.11.3","@commitlint/config-conventional":"^20.5.0","conventional-changelog-conventionalcommits":"^9.3.1"}},"gitHead":"bfab4d2610d04d3d78b7325f06cb99a11b04592e","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.16.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.8.2_1781839582750_0.6992864351974348","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@egose/keycloak-fluent","version":"0.9.0","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.9.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"d2123174ffc8ad66b5daa78c0196b8bc71323830","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.9.0.tgz","fileCount":260,"integrity":"sha512-s7wLiAl/IFSnr8E32mXUVMu702QNb4rpJujEKASrVRg7c5JwkdWRKXhntySJ+KGZq6aDbQ7JVt5u4Y3dz7KxeA==","signatures":[{"sig":"MEUCIB2uCWC9kKJzaUz/K1ptYxU3XMr8UkbOAyrNeQUSzGr/AiEAv0SJ6CXTFje4YJMiC7d8C+5Re65rU3opkWujDm7YfHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2644722},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{"bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"main":"./index.cjs","name":"@egose/keycloak-fluent","type":"module","files":["./","!dist/**/*.map","README.md","LICENSE","CHANGELOG.md"],"types":"./index.d.ts","author":"J.Dev","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"license":"Apache-2.0","scripts":{"dev":"tsc -w","test":"vitest run --no-cache","build":"rimraf ./build && tsc","bundle":"tsup","release":"release-it","lint-fix":"eslint --fix .","changelog":"node changelog.mjs","test:unit":"vitest run --no-cache --config vitest.unit.config.ts","test:integration":"vitest run --no-cache --config vitest.integration.config.ts"},"version":"0.9.0","homepage":"https://keycloak-fluent.pages.dev/","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"repository":{"url":"https://github.com/egose/keycloak-fluent","type":"git"},"description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","sideEffects":false,"dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","yargs":"^18.0.0","dotenv":"^17.4.0","eslint":"10.2.1","rimraf":"^6.1.3","semver":"^7.8.4","vitest":"^4.1.9","wait-on":"^9.0.4","fs-extra":"^11.3.4","prettier":"4.0.0-alpha.13","@eslint/js":"^10.0.1","release-it":"^20.0.1","typescript":"^6.0.2","@types/node":"^25.9.3","@commitlint/cli":"^20.5.0","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.61.1","@commitlint/format":"^20.5.0","@release-it/bumper":"^7.0.5","conventional-changelog":"^7.2.0","eslint-config-prettier":"^10.1.8","@types/eslint-config-prettier":"^6.11.3","@commitlint/config-conventional":"^20.5.0","conventional-changelog-conventionalcommits":"^9.3.1"}},"gitHead":"227a52b7cd57facd33e6ac8ad8b9352a6d1b5d7d","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.16.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.9.0_1782000440211_0.9917255731872174","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@egose/keycloak-fluent","version":"0.9.1","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.9.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"e47cdab9518fa0a1b73825eab8bc9eff630fd7f4","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.9.1.tgz","fileCount":260,"integrity":"sha512-era0R9IYU9iLYS5SvociwYhFlKyNgyjs9lppttpS9ajqCAk6bMGOyJ/zG+2ZsLnWbysFVhYUmmkZpWNNJkOVNw==","signatures":[{"sig":"MEUCIH5lqfFWqfRH7fTq81/bXPUOryetZt4SxdbOf4HrhwFVAiEAjFGSV5TuNQkflEDM3FAvIHPZI/qURI3p4sEsMc/C5XU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2642284},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"a04951320362b08db86161e687baf2368238631c","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.16.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.9.1_1782152649008_0.07928529011916119","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@egose/keycloak-fluent","version":"0.10.0","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.10.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"303994a5d0dbc838e3a4ea977cf5c61fb105afab","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.10.0.tgz","fileCount":266,"integrity":"sha512-AhSGgU+YiQukrHVu2KfJSa+GNJEO96ohR55GCThTX+El/Km9scrzmMypci2f2BHa7omdEmZ+XcIKX5DAZV8MMw==","signatures":[{"sig":"MEQCHwFQDS+pBDBw4p8oRPmmK/HGniqqfu66p+r5Gdi8uYsCIQDflkTEomQQBaet6PcIe+RLc5F+EdeqmLOHZS8nLdlsLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2652027},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"173fa3bbb17de186a29293b3117cf5e849dcb4f6","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.17.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.10.0_1782535562009_0.1150255814339256","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@egose/keycloak-fluent","version":"0.10.1","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.10.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"6c7e07dbdaeede3c397c3c6e8afa90c44a0e1b54","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.10.1.tgz","fileCount":266,"integrity":"sha512-Cm+kFVKtKt+Kz1vfZiztDGP4desxW30YhP0VLkQtQuUU8EQOx0mzTkStivGqvJcVHzxnYx6+JjkRhjRxRHoGpw==","signatures":[{"sig":"MEUCIF8vWi0RIesV5fjIbQ7sf/Rmkt6wW/r86Wf7yHyYKckPAiEA4uslk3nAqWcHHAPL6ALcC1wOEvZbefVz++Zy1k7CiBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2652231},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"87b50df4667552425c6f502a6121ed69b58c86d5","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.17.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.10.1_1783381561145_0.8912061607795234","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@egose/keycloak-fluent","version":"0.10.2","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.10.2","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"a86dddd526a119b88b7bca6b4abde5dd3485426a","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.10.2.tgz","fileCount":266,"integrity":"sha512-BuBn47RQ6DksNcw6ONsSwFNSyQgmE5Ig232IpZ0VhFgwFRmpVolMYZzG+ut/aCtqt63lb3/wxhL2Euqsq5l6BA==","signatures":[{"sig":"MEQCIAwD9tkffkRpV1JFCSXbHNnkYvAqYRm1ZZb+P4X1E1G7AiBlEHEHOIF7Xt/1s7+cNFbC7sayTjT0Hy8fV0Caf/iUwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2652350},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"9a8ec2d5481f43865ca39daaf6b3ac074e4e0a99","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.17.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.10.2_1783476635368_0.4556990646250205","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@egose/keycloak-fluent","version":"0.11.0","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.11.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"efaba390914d23ea6a5cac5e6ebe6153cf97625f","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.11.0.tgz","fileCount":8,"integrity":"sha512-A8tqFOt2GigBtZ6AA6QyLBiDCwlNWSLCjvbDHJAWfG0Ck8rHKDoJ3aBAiWcTfn+Ii0Aa8W5fkYvl3zMnY1lMzA==","signatures":[{"sig":"MEYCIQDkaEC1WZ06rZxkRXN40M1TLtL0GnBCts6oDVa1ZQ9NLQIhALcSjX0yeN4hYon9SFp4/PHLGpETS0d69a+MNXELOnPC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600522},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"cae619f710057afed4d0567e68917bf49dabe48c","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.19.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.11.0_1786691482271_0.05112524644148153","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@egose/keycloak-fluent","version":"0.12.0","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.12.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"2d143f8073ae06f2d3f67c93e1e3c73d7ea2bd6a","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.12.0.tgz","fileCount":8,"integrity":"sha512-r29V0s6K8w+sBKxHqPoQTl+/RtEon+RisphCiKYR6/2S3e/0IGxcWbrA/zScS3v6bDQcQcV+8VAQwXqPDUNqjg==","signatures":[{"sig":"MEYCIQDEGxdAjDna+wQF8oseqVIn2Wn1Pj5qJKvAD9MDMJ5iEQIhAOCh+EErky1OXX1t3OX9lblmjtRboqB13j16zAMYvFix","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625834},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"e3287b77b59cc6a888b89bd24bbefd048ac8ee68","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.19.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.12.0_1787431254038_0.8319844754890815","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@egose/keycloak-fluent","version":"0.12.1","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.12.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"53a5695fab428ba2aa56d8becf034b2c3668e4d5","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.12.1.tgz","fileCount":8,"integrity":"sha512-CJelJTNjlcFbu5pipAloTOT4xANIcmuyWYu8cgZbzM6Trlo0xY5s7tO5Psg322cH++EXadeCgWL2hV3zfSKiQQ==","signatures":[{"sig":"MEYCIQCFIq6g2bi4+oUBD/hOtNfCIIl3YRqq4a8qkAJkyBGfcwIhAPC664hfdowjEkSabg8RVKHo94gpqQS/7+XvNE8pPHWi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626734},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"7ea4864c8bb1dfa66706fb12ae17e199ed5b4531","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.19.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.12.1_1787442838980_0.6573809502494505","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@egose/keycloak-fluent","version":"0.13.1","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"author":{"name":"J.Dev"},"license":"Apache-2.0","_id":"@egose/keycloak-fluent@0.13.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://keycloak-fluent.pages.dev/","bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"dist":{"shasum":"a3a0e695bcca5ee568c750a546293e4df39c61a8","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.13.1.tgz","fileCount":8,"integrity":"sha512-TMy6Opv0XDdc8oUpe7gSNO8Wqz8ReLCC018N6aKJjvt6Xxrte8+tpKcCS48c1K9E4bde1v85U+REDWmvrztb4A==","signatures":[{"sig":"MEQCIFn5sM/Rs7eWgzlfOMRPMMdl50xMVkXGBRLOreS42mfeAiBOgmx442C+1Ok8MEA8ETQZiV4LsGEMUt6/lkTtf77rsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628448},"main":"./index.cjs","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"efb140e5befa38f1c13664dc93d73d45bdf9329f","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/keycloak-fluent.git","type":"git"},"_npmVersion":"11.19.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"lodash-es":"^4.18.1","@keycloak/keycloak-admin-client":"^26.5.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keycloak-fluent_0.13.1_1787444897309_0.4893089403202511","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@egose/keycloak-fluent","version":"0.14.0","description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"scripts":{"dev":"tsc -w --noEmit","typecheck":"tsc --noEmit","typecheck:tests":"tsc --noEmit --project tsconfig.test.json","build":"rimraf ./dist && tsup","bundle":"pnpm build","prepack":"pnpm build","lint":"eslint .","lint:check":"eslint .","lint:fix":"eslint --fix .","test:unit":"vitest run --no-cache --config vitest.unit.config.ts","test:integration":"vitest run --no-cache --config vitest.integration.config.ts","test":"vitest run --no-cache","pack:inspect":"node scripts/pack-inspect.mjs","pack:consumers":"node scripts/pack-consumers.mjs","docs:check":"node scripts/check-docs.mjs","release:workflow:check":"node scripts/verify-release-workflow.mjs","publish:check":"pnpm lint:check && pnpm typecheck && pnpm typecheck:tests && pnpm test:unit && pnpm build && pnpm pack:inspect && pnpm pack:consumers","release":"release-it","changelog":"repo-toolkit-changelog"},"type":"module","author":{"name":"J.Dev"},"license":"Apache-2.0","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/egose/keycloak-fluent.git"},"bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"homepage":"https://keycloak-fluent.pages.dev/","engines":{"node":">=20"},"devDependencies":{"@commitlint/cli":"^20.5.0","@commitlint/config-conventional":"^20.5.0","@commitlint/format":"^20.5.0","@eslint/js":"^10.0.1","@release-it/bumper":"^7.0.5","@repo-toolkit/changelog":"^0.2.0","@types/eslint-config-prettier":"^6.11.3","@types/lodash-es":"^4.17.12","@types/node":"^25.9.3","dotenv":"^17.4.0","eslint":"10.2.1","eslint-config-prettier":"^10.1.8","fs-extra":"^11.3.4","prettier":"4.0.0-alpha.13","release-it":"^20.0.1","rimraf":"^6.1.3","semver":"^7.8.4","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"^6.0.2","typescript-eslint":"^8.61.1","vitest":"^4.1.9","wait-on":"^9.0.4","yargs":"^18.0.0"},"dependencies":{"@keycloak/keycloak-admin-client":"^26.5.7","lodash-es":"^4.18.1"},"gitHead":"d2c13fc761f037a64791c62799968103eccf6091","_id":"@egose/keycloak-fluent@0.14.0","_nodeVersion":"26.7.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-ZvdwJcG/xhztoOqendXkdFgaDE3SBDZ/MZvtbad2d6dGtAInC1RAJdOe69xzFBf9R1t+RdYU3PGFUOUm7Ps03Q==","shasum":"67db09ddefa41bc6c88ab9591c5f246d75eacbe2","tarball":"https://registry.npmjs.org/@egose/keycloak-fluent/-/keycloak-fluent-0.14.0.tgz","fileCount":8,"unpackedSize":758315,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDeg8pkP7yI9Rby8OKaSyt6OWz7ZC/U5nPd7GNxB6llxAiB7vPL2mhwpBosUVjYGCISiZMbSIIAttbdv6Sh+J6w+7w=="}]},"_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"directories":{},"maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/keycloak-fluent_0.14.0_1787529077119_0.2717728567223836"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-06T03:12:03.066Z","modified":"2026-08-23T23:51:17.414Z","0.0.1":"2025-12-06T03:12:03.330Z","0.1.0":"2025-12-06T04:16:57.475Z","0.2.0":"2025-12-09T01:47:40.059Z","0.2.1":"2025-12-09T21:47:14.827Z","0.3.0":"2025-12-09T22:15:37.692Z","0.4.0":"2025-12-10T02:20:06.218Z","0.5.0":"2025-12-14T04:44:29.857Z","0.5.1":"2025-12-24T02:05:48.415Z","0.5.2":"2025-12-24T02:57:29.281Z","0.6.0":"2026-04-01T04:27:38.823Z","0.6.1":"2026-04-01T04:50:15.152Z","0.6.3":"2026-04-02T22:09:14.889Z","0.6.4":"2026-04-19T17:32:54.874Z","0.7.0":"2026-06-10T22:57:57.258Z","0.8.0":"2026-06-17T00:23:49.293Z","0.8.2":"2026-06-19T03:26:22.895Z","0.9.0":"2026-06-21T00:07:20.417Z","0.9.1":"2026-06-22T18:24:09.162Z","0.10.0":"2026-06-27T04:46:02.200Z","0.10.1":"2026-07-06T23:46:01.337Z","0.10.2":"2026-07-08T02:10:35.557Z","0.11.0":"2026-08-14T07:11:22.422Z","0.12.0":"2026-08-22T20:40:54.198Z","0.12.1":"2026-08-22T23:53:59.128Z","0.13.1":"2026-08-23T00:28:17.469Z","0.14.0":"2026-08-23T23:51:17.252Z"},"bugs":{"url":"https://github.com/egose/keycloak-fluent/issues"},"author":{"name":"J.Dev"},"license":"Apache-2.0","homepage":"https://keycloak-fluent.pages.dev/","keywords":["keycloak","keycloak-admin","keycloak-admin-client","iam","identity-management","provisioning","automation","typescript","declarative","fluent","dsl"],"repository":{"type":"git","url":"git+https://github.com/egose/keycloak-fluent.git"},"description":"Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, flows, organizations, and admin operations.","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"readme":"# Keycloak Fluent\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@egose/keycloak-fluent\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/%40egose%2Fkeycloak-fluent\" /></a>\n  <a href=\"https://www.npmjs.com/package/@egose/keycloak-fluent\"><img alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/%40egose%2Fkeycloak-fluent\" /></a>\n  <a href=\"https://github.com/egose/keycloak-fluent/blob/main/LICENSE\"><img alt=\"license\" src=\"https://img.shields.io/npm/l/%40egose%2Fkeycloak-fluent\" /></a>\n  <a href=\"https://keycloak-fluent.pages.dev/\"><img alt=\"docs\" src=\"https://img.shields.io/badge/docs-online-blue\" /></a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/egose/keycloak-fluent/main/website/static/img/keycloak-fluent-lockup-dark.png\" alt=\"Keycloak Fluent\" width=\"640\" />\n</p>\n\n<p align=\"center\">\n  Fluent TypeScript wrapper for the Keycloak Admin API with idempotent provisioning for realms, users, clients, authentication flows, organizations, and admin operations.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://keycloak-fluent.pages.dev\">Documentation</a>\n  ·\n  <a href=\"https://github.com/egose/keycloak-fluent\">GitHub</a>\n  ·\n  <a href=\"https://www.npmjs.com/package/@egose/keycloak-fluent\">npm</a>\n</p>\n\n## What It Is\n\n`@egose/keycloak-fluent` builds on top of `@keycloak/keycloak-admin-client` and turns low-level admin calls into a fluent, chainable API for Keycloak provisioning and operations.\n\nInstead of stitching together ids, searches, and update payloads everywhere, you work through handles such as:\n\n- `kc.realm('demo')`\n- `realm.user('alice')`\n- `realm.client('app')`\n- `realm.authenticationFlow('browser-copy')`\n- `realm.organization('acme')`\n- `realm.cache()`\n- `kc.serverInfo()`\n\nThe library stays close to Keycloak rather than inventing a separate abstraction model. You keep the official admin client underneath, but get a much better working surface for repeatable automation.\n\n## Why Use It\n\n- Write provisioning code that reads like intent instead of request plumbing.\n- Use `ensure(...)` and `discard()` for idempotent setup and cleanup flows.\n- Traverse Keycloak resources from a realm through dedicated resource handles.\n- Cover more than CRUD: authentication flows, organizations, workflows, cache, attack detection, user storage sync, client policies, `serverInfo`, and `whoAmI` are supported too.\n- Keep access to the official admin client through `kc.core`.\n\n## Why Not Just Use `@keycloak/keycloak-admin-client`?\n\nYou still can, and this package intentionally keeps that option open.\n\nUse the raw admin client when you want direct access to every endpoint with no extra abstraction.\n\nUse `@egose/keycloak-fluent` when you want:\n\n- idempotent provisioning with `ensure(...)` and `discard()`\n- resource-scoped handles instead of passing ids and lookup results around manually\n- readable scripts for realms, users, clients, flows, and organizations\n- a cleaner working surface for operational tasks like cache clearing, attack detection, and server inspection\n\nIn practice, this library is best seen as a better orchestration layer on top of the official Keycloak client, not a replacement for it.\n\n## Supported Keycloak Versions\n\nThis package currently depends on `@keycloak/keycloak-admin-client@^26.5.7`.\n\nTested matrix in this repository:\n\n- Node.js `>=20` is required\n- package dependency range: `@keycloak/keycloak-admin-client@^26.5.7`\n- packed consumer minimum-upstream check: `@keycloak/keycloak-admin-client@26.5.7`\n- lockfile-resolved admin client used by local/CI checks: `@keycloak/keycloak-admin-client@26.6.3`\n- local integration sandbox server: Keycloak `26.6.1`\n\nThe supported policy is Keycloak Admin Client `26.x` from `26.5.7` upward, verified at the declared minimum and at the current lockfile-resolved version. If you target an older or significantly newer Keycloak release, verify the specific endpoints you depend on, especially for newer areas such as organizations, workflows, and authentication-flow administration.\n\n## Public API Shape\n\nThe supported package shape is root-only. Import runtime helpers, catchable errors, and public TypeScript types from `@egose/keycloak-fluent`; implementation subpaths are not supported public entry points.\n\n```ts\nimport KeycloakAdminClientFluent, {\n  AuthenticationFlowNotFoundError,\n  DuplicateWorkflowNameError,\n  UserPasswordProvisioningError,\n  WorkflowNotFoundError,\n  createManagedKeycloakClient,\n} from '@egose/keycloak-fluent';\n\nimport type { RealmHandle, UserHandle, UserInputData } from '@egose/keycloak-fluent';\n```\n\n## Installation\n\nRequirements:\n\n- Node.js `>=20`\n- A reachable Keycloak server\n- Credentials for the Keycloak Admin API\n\n```bash\nnpm install @egose/keycloak-fluent\n```\n\n## Quick Start\n\n```ts\nimport KeycloakAdminClientFluent from '@egose/keycloak-fluent';\n\nconst kc = new KeycloakAdminClientFluent({\n  baseUrl: 'http://localhost:8080',\n  realmName: 'master',\n});\n\nawait kc.simpleAuth({\n  username: 'admin',\n  password: 'admin', // pragma: allowlist secret\n  clientId: 'admin-cli',\n});\n\nconst realm = await kc.realm('demo').ensure({\n  displayName: 'Demo Realm',\n});\n\nconst user = await realm.user('alice').ensure({\n  email: 'alice@example.com',\n  enabled: true,\n});\n\nconst group = await realm.group('developers').ensure({\n  description: 'Application developers',\n});\n\nawait user.assignGroup(group);\n```\n\n## Authentication\n\n### `simpleAuth(...)`\n\n`simpleAuth(...)` picks the grant type for you:\n\n- `password` grant when `password` is provided\n- `refresh_token` grant when `refreshToken` is provided\n- `client_credentials` grant otherwise\n- `username` and `password` must be provided together\n- `password` and `refreshToken` are mutually exclusive\n- Supplied `username`, `password`, `refreshToken`, `clientId`, and `clientSecret` values must be non-empty strings\n- Authentication failures expose only bounded OAuth error fields plus safe status/code diagnostics; passwords, refresh tokens, client secrets, and arbitrary response bodies are not included in the public error graph\n\n```ts\nawait kc.simpleAuth({\n  username: 'admin',\n  password: 'admin', // pragma: allowlist secret\n  clientId: 'admin-cli',\n});\n\nawait kc.simpleAuth({\n  clientId: 'my-service-account',\n  clientSecret: 'my-secret', // pragma: allowlist secret\n});\n\nawait kc.simpleAuth({\n  clientId: 'admin-cli',\n  refreshToken: process.env.KEYCLOAK_REFRESH_TOKEN,\n});\n```\n\n### `auth(...)`\n\nIf you need full control over the grant configuration, call the underlying auth method directly:\n\n```ts\nawait kc.auth({\n  grantType: 'password',\n  clientId: 'admin-cli',\n  username: 'admin',\n  password: 'admin', // pragma: allowlist secret\n});\n```\n\n### Managed clients\n\n`createManagedKeycloakClient(...)` authenticates on demand, refreshes expired tokens without timers, and shares one authentication attempt across concurrent requests. Credential resolver functions are called again whenever authentication is required, allowing secret rotation.\n\nService-account authentication uses `client_credentials` and is the default mode:\n\n```ts\nimport { createManagedKeycloakClient } from '@egose/keycloak-fluent';\n\nconst kc = createManagedKeycloakClient({\n  baseUrl: 'http://localhost:8080',\n  authRealm: 'master',\n  clientId: 'provisioning-service',\n  clientSecret: () => secretStore.get('keycloak-client-secret'),\n});\n```\n\nDirect user authentication uses the OAuth password grant. The client must have Direct Access Grants enabled:\n\n```ts\nconst kc = createManagedKeycloakClient({\n  baseUrl: 'http://localhost:8080',\n  authRealm: 'master',\n  authMode: 'user_credentials',\n  clientId: 'admin-cli',\n  username: () => secretStore.get('keycloak-admin-username'),\n  password: () => secretStore.get('keycloak-admin-password'),\n});\n```\n\nService accounts are recommended for background automation because their permissions and lifecycle are independent of a human administrator.\n\n## Example Flows\n\n### Realm and User Provisioning\n\n```ts\nconst realm = await kc.realm('my-realm').ensure({\n  displayName: 'My Realm',\n});\n\nawait realm.user('john.doe').ensure({\n  firstName: 'John',\n  lastName: 'Doe',\n  email: 'john.doe@example.com',\n});\n```\n\nUsers can also be targeted by immutable Keycloak ID. User handles expose temporary password reset, verification email, managed realm-role reconciliation, and managed attribute reconciliation:\n\n```ts\nconst user = kc.realm('my-realm').userById(userId);\n\nawait user.resetPassword(generatedPassword, { temporary: true });\nawait user.sendVerifyEmail();\nawait user.reconcileRealmRoles(['application-user'], {\n  managedRoleNames: ['application-user', 'application-admin'],\n  ensureMissing: true,\n});\nawait user.reconcileAttributes({ tenantId: ['tenant-42'] }, { managedKeys: ['tenantId'] });\n```\n\nSupplying `passwordTemporary` during creation or ensure uses the same disabled-create and cleanup guarantees as ordinary password provisioning:\n\n```ts\nawait kc.realm('my-realm').user('new-user').create({\n  enabled: true,\n  password: generatedPassword,\n  passwordTemporary: true,\n});\n```\n\n### Authentication Flows\n\n```ts\nconst flow = await kc.realm('demo').authenticationFlow('browser-copy').ensure({\n  description: 'Custom browser flow',\n  providerId: 'basic-flow',\n  topLevel: true,\n  builtIn: false,\n});\n\nawait flow.copy('browser-copy-v2');\nawait flow.addExecution('auth-cookie');\n```\n\n### Organizations\n\n```ts\nconst realm = kc.realm('demo');\nconst organization = await realm.organization('acme').ensure({\n  name: 'Acme Corp',\n});\n\nawait organization.addMember(realm.user('alice'));\n\nconst google = realm.identityProvider('google');\nawait organization.linkIdentityProvider(google);\n```\n\n### Operational Helpers\n\n```ts\nconst realm = kc.realm('demo');\n\nawait realm.cache().clearUserCache();\nawait realm.attackDetection('user-id').clear();\n\nconst info = await kc.serverInfo().get();\nconst me = await kc.whoAmI('master').get();\n```\n\n## Main Entry Points\n\n### Root Client\n\n`KeycloakAdminClientFluent` exposes:\n\n- `auth(credentials)`\n- `simpleAuth({...})`\n- `realm(name)`\n- `searchRealms(keyword)`\n- `serverInfo()`\n- `whoAmI(currentRealm, realmName?)`\n\n### Realm Handle\n\n`RealmHandle` is the main entry point for resource-scoped work. From a realm you can access handles for:\n\n- clients\n- authentication flows\n- components\n- client scopes\n- roles\n- groups\n- users\n- identity providers\n- organizations\n- user storage providers\n- workflows\n- browser login client helpers\n- service accounts\n- realm admin service accounts\n- cache\n- attack detection\n- client policies\n\nIt also includes realm-level search and operational methods such as:\n\n- `searchClients(...)`\n- `searchClientScopes(...)`\n- `searchRoles(...)`\n- `searchGroups(...)`\n- `searchUsers(...)`\n- `searchIdentityProviders(...)`\n- `searchOrganizations(...)`\n- `searchAuthenticationFlows(...)`\n- `searchWorkflows(...)`\n- realm import/export helpers\n- event queries\n- localization helpers\n- session helpers\n\n## Main Handles At A Glance\n\n| Handle                         | Purpose                                                                              |\n| ------------------------------ | ------------------------------------------------------------------------------------ |\n| `KeycloakAdminClientFluent`    | Root entry point for auth, realm access, server info, and who-am-i                   |\n| `RealmHandle`                  | Realm-scoped entry point for users, groups, roles, clients, flows, and operations    |\n| `UserHandle`                   | Manage users, credentials, role mappings, groups, sessions, and federated identities |\n| `GroupHandle`                  | Manage groups, hierarchy, membership, and role mappings                              |\n| `RoleHandle`                   | Manage realm roles and related mappings                                              |\n| `ClientHandle`                 | Manage clients, client roles, and protocol mappers                                   |\n| `ClientScopeHandle`            | Manage client scopes and scope mappers                                               |\n| `IdentityProviderHandle`       | Manage identity providers and provider-level mapper access                           |\n| `IdentityProviderMapperHandle` | Manage mappers attached to an identity provider                                      |\n| `AuthenticationFlowHandle`     | Manage flows, executions, authenticator config, and required actions                 |\n| `OrganizationHandle`           | Manage organizations, members, invitations, and linked identity providers            |\n| `WorkflowHandle`               | Manage realm workflows and workflow listing                                          |\n| `ComponentHandle`              | Manage realm components such as user storage-related components                      |\n| `UserStorageProviderHandle`    | Trigger sync, unlink, naming, and mapper sync operations for user storage providers  |\n| `CacheHandle`                  | Clear realm caches                                                                   |\n| `AttackDetectionHandle`        | Inspect or clear user and realm attack-detection state                               |\n| `ClientPoliciesHandle`         | Read and update client profiles and client policies                                  |\n| `ServerInfoHandle`             | Read root server info and effective message bundles                                  |\n| `WhoAmIHandle`                 | Inspect the currently authenticated admin user                                       |\n\n## Supported Areas\n\nThe currently documented and tested surface includes:\n\n- realms\n- users\n- groups\n- roles\n- clients\n- client scopes\n- protocol mappers\n- identity providers\n- identity provider mappers\n- authentication flows\n- organizations\n- workflows\n- components\n- user storage providers\n- cache operations\n- attack detection\n- client policies\n- server info\n- who-am-i\n\n## Notes\n\n- For resource-style handles, `update(...)` and the update path of `ensure(...)` now merge the supplied fields into the existing representation before sending the admin update call. This keeps unspecified nested fields such as attributes, config blocks, redirect URIs, and other existing settings intact.\n- `WorkflowHandle` now follows the same contract as the other mutable handles: it exposes `create(...)`, `update(...)`, `ensure(...)`, `delete()`, and `discard()`.\n- Some higher-level helpers resolve resources lazily by alias or name, so code stays concise while still failing explicitly when a resource cannot be resolved.\n- You can always access the underlying official admin client through `kc.core`.\n\n## Documentation\n\n- Site: `https://keycloak-fluent.pages.dev`\n- Quick Start: `https://keycloak-fluent.pages.dev/about/quick-start/`\n- API Reference: `https://keycloak-fluent.pages.dev/api/keycloak-admin-client-fluent/`\n- Examples: `https://keycloak-fluent.pages.dev/example/general/`\n\n## Development\n\nSandbox-free local checks can run without Docker or a Keycloak server:\n\n```bash\npnpm install\npnpm lint:check\npnpm typecheck\npnpm typecheck:tests\npnpm test:unit\npnpm build\npnpm docs:check\n```\n\nLive integration tests need the Docker/Keycloak sandbox described below. Do not run `pnpm test` or `pnpm test:integration` until the sandbox is reachable.\n\n### Build, Type-check, And Release Verification\n\n- `npm run build`\n  Produces the publishable `dist/` from current source via `tsup` (ESM + CJS + `.d.ts`/`.d.cts`). The package `exports`/`main`/`module`/`types` entry points all point at `dist/index.{cjs,js,d.ts}`, so the bundle is the source of truth for the installed tarball.\n- `npm run typecheck`\n  Runs `tsc --noEmit` for project-wide type validation. This is the non-emitting type gate used by CI and pre-publish checks; it does not write `build/`.\n- `npm run pack:inspect`\n  Rebuilds `dist/`, runs `npm pack --dry-run --json`, and asserts the tarball contains only the intended files (`dist/index.*`, `README.md`, `LICENSE`, `CHANGELOG.md`, `package.json`) and no source maps. Useful as a guard against stale or accidental package-file drift.\n- `npm run pack:consumers`\n  Builds and packs the tarball, then installs it into isolated ESM, CJS, and TypeScript consumer projects under `.packed-consumers/` and exercises the real root export surface, `simpleAuth()` validation/default flow, and representative handle creation in each. TypeScript consumers also run `tsc --noEmit` with `skipLibCheck: false` against the packed `.d.ts`, including a fixture pinned to the minimum supported `@keycloak/keycloak-admin-client@26.5.7`.\n- `npm run publish:check`\n  Runs the sandbox-free pre-publish chain: `lint:check` -> `typecheck` -> `typecheck:tests` -> `test:unit` -> `build` -> `pack:inspect` -> `pack:consumers`. The tag publish workflow adds live `test:integration` in the sandbox before publishing the exact tagged commit.\n- `npm run docs:check`\n  Verifies documentation version strings and critical public snippets against checked-in package metadata and source declarations.\n\n### Test Layers\n\nThe repo intentionally has two different kinds of tests:\n\n- `npm run test:unit`\n  Runs the mocked implementation/contract tests in `tests/implementation-*.spec.ts`.\n  These verify the fluent wrapper behavior itself: lazy resolution, correct admin-client method selection, payload shaping, pagination wiring, and resource-handle contracts.\n- `npm run test:integration`\n  Runs the live Keycloak integration tests in the rest of `tests/*.spec.ts`.\n  These create real realms and resources against a running Keycloak instance through `tests/test-utils.ts`.\n- `npm test`\n  Runs the full suite and therefore requires the integration sandbox to be running.\n\nThe mocked tests are not meant to replace the live integration suite. They exist because some wrapper guarantees are easier and safer to assert at the admin-client call boundary than through a live server alone.\n\n### Integration Sandbox\n\nThe live integration tests (`npm run test:integration`) target a Keycloak instance provisioned by the `sandbox/` Docker Compose stack:\n\n```bash\nmake DAEMON=true up   # start Keycloak + Postgres in the background\nmake logs             # tail sandbox service logs\nmake down             # stop and remove sandbox containers\nmake destroy          # down + remove volumes and images\n```\n\nThe stack pins every image by immutable digest (`postgres:18.4-alpine3.22@sha256:...`, `quay.io/keycloak/keycloak:26.6.1@sha256:...`, and the `golang` mkcert build stage) and builds the local mkcert cert from the pinned `mkcert` release tag (`v1.4.4`, commit-pinned inside the Dockerfile), so a forced re-pull cannot silently advance the runtime to a different image than the one the tests were authored against.\n\nThe integration tests read their target endpoint and credentials from environment variables so a non-default Keycloak instance can be targeted without editing the test sources. Defaults match the local sandbox:\n\n| Environment variable    | Default                 | Purpose                                    |\n| ----------------------- | ----------------------- | ------------------------------------------ |\n| `KEYCLOAK_BASE_URL`     | `http://localhost:8080` | Keycloak admin API base URL.               |\n| `KEYCLOAK_MASTER_REALM` | `master`                | Master realm name to authenticate against. |\n| `KEYCLOAK_USERNAME`     | `admin`                 | Admin username for `simpleAuth()`.         |\n| `KEYCLOAK_PASSWORD`     | `password`              | Admin password for `simpleAuth()`.         |\n\nFor example, to run the integration suite against Keycloak on `https://kc.example:8443` with custom credentials:\n\n```bash\nKEYCLOAK_BASE_URL=https://kc.example:8443 \\\nKEYCLOAK_USERNAME=ci-admin \\\nKEYCLOAK_PASSWORD=\"$CI_ADMIN_PASSWORD\" \\\n  npm run test:integration\n```\n\nIn CI, `.github/actions/setup-tools` delegates tool installation to the pinned `egose/actions/asdf-tools` action commit and the versions in `.tool-versions` (`nodejs`, `pnpm`, `picotools`, and `docker-compose`). The repository does not currently enforce a checksum for the installed Docker Compose binary. The `.github/actions/setup-sandbox` composite action then brings the sandbox up, waits for the master realm `openid-configuration` to be reachable, runs the provided script, and tears the services down via an `EXIT` trap that fires on success, failure, and job cancellation, so cleanup and diagnostic logs run even if the script is interrupted.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}