{"_id":"@bota-apps/fm","_rev":"14-bf191a7c382e0ecb8f0e11bf1ee50d4d","name":"@bota-apps/fm","dist-tags":{"latest":"0.8.4"},"versions":{"0.2.0":{"name":"@bota-apps/fm","version":"0.2.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.2.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/bota-apps#readme","bugs":{"url":"https://github.com/bota-apps/bota-apps/issues"},"dist":{"shasum":"6036e6af35f65197208df29941f065f931659b85","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.2.0.tgz","fileCount":66,"integrity":"sha512-jy02aPE95pD4y3RlhJdy2m29397sl2EzaBF1kM3QZQ6550iNIOlA2dVhryycF0tXACjhfGd3bkcfCIg6JX196w==","signatures":[{"sig":"MEUCID5eyadJ1T+BLWmjVkCq0RlIjGMTDGH4cAI+hvszUbVJAiEA4igE1b8dlQKjDrdj/VcKj7AG1J0MLgTGcd5d4Qi2m1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58163},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bota-apps","email":"imusema.hassen@icloud.com"},"_resolved":"/private/var/folders/wp/6cc4gkfd481b73439xdrv4wm0000gn/T/bc21eb6e7de28c03327861f7f211b931/bota-apps-fm-0.2.0.tgz","_integrity":"sha512-jy02aPE95pD4y3RlhJdy2m29397sl2EzaBF1kM3QZQ6550iNIOlA2dVhryycF0tXACjhfGd3bkcfCIg6JX196w==","repository":{"url":"git+https://github.com/bota-apps/bota-apps.git","type":"git","directory":"packages/fm"},"_npmVersion":"10.9.8","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@bota-apps/types":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.2.0_1782838692319_0.6545839238032494","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bota-apps/fm","version":"0.2.1","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.2.1","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"3af15d9cf457798fe107df505dfee0c4730718dc","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.2.1.tgz","fileCount":67,"integrity":"sha512-JUDgCkD6Rl0mgTOpU826dlR9C3/4MMxnrRE8fVm8L2jvA/WjcQ4uq2sFvyORj0cZpeq0domyJEps6RW8UBo1Tg==","signatures":[{"sig":"MEUCIDmOBr6LdVlcuZCXn146K0Vr/DLBgJZAEuVRAH5IGWmPAiEA1pwBg+3gDBLV9t3KZjA1wJJ5OxeXfTthtpAxE/Z3URk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60454},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af7a0087-ee07-4f2b-b231-ebba1f91f4dd"}},"_resolved":"/tmp/4cc4ab5a4f0ac3db24370c88905dc82f/bota-apps-fm-0.2.1.tgz","_integrity":"sha512-JUDgCkD6Rl0mgTOpU826dlR9C3/4MMxnrRE8fVm8L2jvA/WjcQ4uq2sFvyORj0cZpeq0domyJEps6RW8UBo1Tg==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@bota-apps/types":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.2.1_1783061248033_0.19467355376062367","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bota-apps/fm","version":"0.3.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.3.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"98c2e1a952d2d6a1d23b5cc388cd4fcacef88377","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.3.0.tgz","fileCount":83,"integrity":"sha512-JhIY79EvnBeLG7G4aH2boFSeNM9PJd39hrPdVXA+xEvtPvkUle4v+fPRUEygOc1UNsm2GInoZsT0VSTQAnZGRg==","signatures":[{"sig":"MEUCIQCYGjVDn7WjvHh1qSDTxFkkf/qXvOvyKvzMN+/nP6gTUgIgIK1wFViLasEEwyljgAH7ACx4BpX+AcBbqNVkiuKBb8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83002},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af7a0087-ee07-4f2b-b231-ebba1f91f4dd"}},"_resolved":"/tmp/5edcfe59d4d935d8fbad9125c8b2f117/bota-apps-fm-0.3.0.tgz","_integrity":"sha512-JhIY79EvnBeLG7G4aH2boFSeNM9PJd39hrPdVXA+xEvtPvkUle4v+fPRUEygOc1UNsm2GInoZsT0VSTQAnZGRg==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@bota-apps/types":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.3.0_1783068186440_0.8949181235825403","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bota-apps/fm","version":"0.4.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.4.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"04afc2a5e18984ba591c89098bd6749efb848c79","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.4.0.tgz","fileCount":83,"integrity":"sha512-EvV7iaDcT4ooSmzptqyfHRCAREvJZ0lONQJujskDMEsa15Roz3nBREI+mr5AXm0n7Icwuv+f7Y8cNoeCRX2B7A==","signatures":[{"sig":"MEUCIQCrjQwD/WcpIHibtPfPNgcw1XwJQMpVwppl3nG+bS4NYQIgNfXt1uk59xxSb9uWYPmm97UdXiL3UKOs5mV1q7asJdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83058},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af7a0087-ee07-4f2b-b231-ebba1f91f4dd"}},"_resolved":"/tmp/b57e88144136c4107cbd8b02aeeff3a5/bota-apps-fm-0.4.0.tgz","_integrity":"sha512-EvV7iaDcT4ooSmzptqyfHRCAREvJZ0lONQJujskDMEsa15Roz3nBREI+mr5AXm0n7Icwuv+f7Y8cNoeCRX2B7A==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@bota-apps/types":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.4.0_1783072258429_0.7444138776130735","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bota-apps/fm","version":"0.5.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.5.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"250325a8296dcd8d19501f979f2609f486169537","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.5.0.tgz","fileCount":87,"integrity":"sha512-DQUywWTBH46oG7GAL3LFN+HyMOSxRkHchym+5Xoiw59yVg9BXCbRpg1IfFJHgLpYZZVOPmbYKBFZQqg7gEOnpw==","signatures":[{"sig":"MEQCIAmqEzZ/duDXxFYoH3Bu4X6Y0/qHAqRZKsVpLn6XXdx5AiAQdfKSKcJbSDpCad2y0KtS48PZdxYO1me7xnRjflDABw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88550},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af7a0087-ee07-4f2b-b231-ebba1f91f4dd"}},"_resolved":"/tmp/53a1a2d865fbc4e37e4d22e19bef4fad/bota-apps-fm-0.5.0.tgz","_integrity":"sha512-DQUywWTBH46oG7GAL3LFN+HyMOSxRkHchym+5Xoiw59yVg9BXCbRpg1IfFJHgLpYZZVOPmbYKBFZQqg7gEOnpw==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@bota-apps/types":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.5.0_1783079408534_0.22735644331994354","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@bota-apps/fm","version":"0.5.1","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.5.1","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"4dd68ac9b968dd2a0d3835013f87670147251230","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.5.1.tgz","fileCount":87,"integrity":"sha512-sOj9HCN254xCctevxxmcJGZYqs/nqSW27jRI/qkNUaCuoN9mzXmjf4ez5l+gXKMzkAGzP24ayXf7ukiL7kHJhQ==","signatures":[{"sig":"MEUCIQCj12UA9FPiSlNmOWgjGMY9r+MGln1zbzl1NIDeptPh4AIgNkV5h2AJa/QxNfdu/tfkSkivUyTKPV3StmTovqZT/ME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88550},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af7a0087-ee07-4f2b-b231-ebba1f91f4dd"}},"_resolved":"/tmp/c5094eb9df7a2b0f4cf8b04e371947ac/bota-apps-fm-0.5.1.tgz","_integrity":"sha512-sOj9HCN254xCctevxxmcJGZYqs/nqSW27jRI/qkNUaCuoN9mzXmjf4ez5l+gXKMzkAGzP24ayXf7ukiL7kHJhQ==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@bota-apps/types":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.5.1_1783113181430_0.6357512089723398","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bota-apps/fm","version":"0.6.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.6.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"3ffb3d75107dada826da48eb2e9841a517b285be","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.6.0.tgz","fileCount":99,"integrity":"sha512-/lIWrkYfG8IOiTclaZHGZ6o8PxBKaZhKgX67SbtYOq0I9sAEe0zvNV70p8edq0QVUs6P143ZssJOE3ucW5fU+w==","signatures":[{"sig":"MEUCIQDmR+rXDNNmaX7Wfwpvm3cY11VfQjhYuLv9HDmyjkeM9gIgWtdSPNcO0A6bKEcHSbaoqbfby63L7vPRz/K0s+1BTqg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104578},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af7a0087-ee07-4f2b-b231-ebba1f91f4dd"}},"_resolved":"/tmp/989ffd2d5cf30fd405d56976722c6067/bota-apps-fm-0.6.0.tgz","_integrity":"sha512-/lIWrkYfG8IOiTclaZHGZ6o8PxBKaZhKgX67SbtYOq0I9sAEe0zvNV70p8edq0QVUs6P143ZssJOE3ucW5fU+w==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.6.0_1783124915285_0.9621006014670235","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@bota-apps/fm","version":"0.7.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.7.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"a506b4e879cce77896a5d2e96429839726db86cb","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.7.0.tgz","fileCount":103,"integrity":"sha512-mX58TJHWlyOLPrCdmliJiT8BR2udIB0kejAfxEAK7IgkoGHT4lT0IxGDxCWaPsa6e3xCv+fbMSgTom3ErAIvrQ==","signatures":[{"sig":"MEUCIQDY2+LBq8sZI3AvfEwePTgemT27NrfDv446iUY5NDDEawIgF8nE0tp6IUU8Uch9orF/e2wyHaTYifJMJ1kESnwPbQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114637},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bota-apps","email":"imusema.hassen@icloud.com"},"_resolved":"/private/var/folders/wp/6cc4gkfd481b73439xdrv4wm0000gn/T/72949cc5b6fa15c6444f2cd7d3ae1811/bota-apps-fm-0.7.0.tgz","_integrity":"sha512-mX58TJHWlyOLPrCdmliJiT8BR2udIB0kejAfxEAK7IgkoGHT4lT0IxGDxCWaPsa6e3xCv+fbMSgTom3ErAIvrQ==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"10.9.8","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.7.0_1783240848425_0.2725585434885216","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@bota-apps/fm","version":"0.8.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.8.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"4d1b265a37554ae54eee0e000eafb0c3f91f11e7","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.8.0.tgz","fileCount":107,"integrity":"sha512-b9ov+dUvTftYIU142a0J+ZyHSCreeN2uqBKJKWfOhdDW/wlKdOFGm1krlu5wG3XXNNHS7CP25sJOet3QhuP0PA==","signatures":[{"sig":"MEUCIQCCO7lr0PtHV0LelojV+Jkm4XUaujkhWykszHot6bSqOwIgE1x12tthemOa1Vpr6iQOsotzXk7UItW6knM7KlbSPxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119066},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bota-apps","email":"imusema.hassen@icloud.com"},"_resolved":"/private/var/folders/wp/6cc4gkfd481b73439xdrv4wm0000gn/T/1cbb989d3274237e107d989cfb1104d2/bota-apps-fm-0.8.0.tgz","_integrity":"sha512-b9ov+dUvTftYIU142a0J+ZyHSCreeN2uqBKJKWfOhdDW/wlKdOFGm1krlu5wG3XXNNHS7CP25sJOet3QhuP0PA==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"10.9.8","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.8.0_1783247191622_0.9697896946111342","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@bota-apps/fm","version":"0.7.1","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.7.1","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"79c0857531ed6d1481799eb9f7ce8eb59d0f4591","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.7.1.tgz","fileCount":107,"integrity":"sha512-yhrqjlB0priGorEAiXaM5A/fykJMlLJ+LJiukLD3ZAij9/U7+3NVCrbW1EoIBXryrTlU4QU5IfVu7zvQBuzExQ==","signatures":[{"sig":"MEUCIDF/Q42YIRfO0pZArlSCcC1Wh5/15rxL78CjYA3hHfCmAiEA2Y3Xw4Ww8oEz8XHkbBRiMVCCMyO1Qny9ErSTXe75AuY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119066},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.7.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bota-apps","email":"imusema.hassen@icloud.com"},"_resolved":"/private/var/folders/wp/6cc4gkfd481b73439xdrv4wm0000gn/T/e6ae6621c117a5d4e59de11db3f7dca2/bota-apps-fm-0.7.1.tgz","_integrity":"sha512-yhrqjlB0priGorEAiXaM5A/fykJMlLJ+LJiukLD3ZAij9/U7+3NVCrbW1EoIBXryrTlU4QU5IfVu7zvQBuzExQ==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"10.9.8","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.7.1_1783248593454_0.8342675326552005","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@bota-apps/fm","version":"0.8.1","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/fm@0.8.1","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"b6e6441551e498c96a3bbbb3cd297209616111bb","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.8.1.tgz","fileCount":115,"integrity":"sha512-1sp/QAmVHWJUPH+LSZuopHe03fCHKip4A5tLkBBf513QfJyqpZM2nFQC1vb+gOMv+1W+QbyTyKnXaI7kJeimqg==","signatures":[{"sig":"MEUCIC0NsEZtklKqwM+pBbm54hKKGzSdrb58bZTJzqDhlnL/AiEAmX6EJeg7fhjZt/WcsmfUCCL5WHPMum5Tt35dgYtQcQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129968},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.8.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af7a0087-ee07-4f2b-b231-ebba1f91f4dd"}},"_resolved":"/tmp/3e8aa7e47d8b00139daba761701e5b35/bota-apps-fm-0.8.1.tgz","_integrity":"sha512-1sp/QAmVHWJUPH+LSZuopHe03fCHKip4A5tLkBBf513QfJyqpZM2nFQC1vb+gOMv+1W+QbyTyKnXaI7kJeimqg==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.8.1_1783306214873_0.42589083097710234","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@bota-apps/fm","version":"0.8.2","keywords":["bota-apps","typescript","feature-management","error-boundary","error-handling","telemetry","react"],"author":{"url":"https://github.com/bota-apps","name":"Bota Apps"},"license":"MIT","_id":"@bota-apps/fm@0.8.2","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"3eac091edc578204158ac8825be45ae57d0d7651","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.8.2.tgz","fileCount":115,"integrity":"sha512-/TWOb342zbh/svWCDVChS01KJedLQHX+TJizx0vSRlRnmgYs0VxocaUZxMKJPBB4zgaO62ItwgHnQpfGHMFKwg==","signatures":[{"sig":"MEQCICFGG3Bi1BTjb6TQyzyhFtPjbv1Szma8a1On3m6ha6iFAiBIdsgtpi2JYHAvJvbwWXpE/UFJxw1sN0naOTwT7ZhPsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133623},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.8.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8e79b8-317e-4c3a-8225-6cfcf2650600"}},"_resolved":"/tmp/c591a6d21743f238f495fcd3368f4e1a/bota-apps-fm-0.8.2.tgz","_integrity":"sha512-/TWOb342zbh/svWCDVChS01KJedLQHX+TJizx0vSRlRnmgYs0VxocaUZxMKJPBB4zgaO62ItwgHnQpfGHMFKwg==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.8.2_1783319740086_0.8752785470324458","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@bota-apps/fm","version":"0.8.3","keywords":["bota-apps","typescript","feature-management","error-boundary","error-handling","telemetry","react"],"author":{"url":"https://github.com/bota-apps","name":"Bota Apps"},"license":"MIT","_id":"@bota-apps/fm@0.8.3","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"193bcf51085cac84663c5b2bbea2c517e7fb3eae","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.8.3.tgz","fileCount":115,"integrity":"sha512-0SkZXO6jVELfeKoQN+Ta3IQ18dxJOhgY9XRzjQK3EorT9fgR3WcIEa2/M9U95XzV7VUMNxRk3ITVzMyiklD5uw==","signatures":[{"sig":"MEYCIQCyYmuxYmesccBJQSxoJn35zPO7BuHBHxPXig3ALomXqwIhAMx1nbwKviNPYXAcb2URndE+uktT+TgYRCQCYvw1MeV2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bota-apps%2ffm@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133711},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-fm-0.8.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8e79b8-317e-4c3a-8225-6cfcf2650600"}},"_resolved":"/tmp/956b5107e2cdff9a40df9e74ecb760a5/bota-apps-fm-0.8.3.tgz","_integrity":"sha512-0SkZXO6jVELfeKoQN+Ta3IQ18dxJOhgY9XRzjQK3EorT9fgR3WcIEa2/M9U95XzV7VUMNxRk3ITVzMyiklD5uw==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/fm"},"_npmVersion":"11.18.0","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.10.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fm_0.8.3_1783659065882_0.04961568176416531","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@bota-apps/fm","version":"0.8.4","description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","keywords":["bota-apps","typescript","feature-management","error-boundary","error-handling","telemetry","react"],"license":"MIT","author":{"name":"Bota Apps","url":"https://github.com/bota-apps"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/bota-apps/packages.git","directory":"packages/fm"},"homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"publishConfig":{"access":"public"},"dependencies":{"lucide-react":"^0.468.0","@bota-apps/types":"^0.11.0"},"peerDependencies":{"react":"^19.0.0"},"devDependencies":{"@types/react":"^19.0.0","react":"^19.0.0","typescript":"^5.8.3"},"sideEffects":false,"engines":{"node":">=20"},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"_id":"@bota-apps/fm@0.8.4","_integrity":"sha512-hBTAIgMBx0x9NaUN7njqvNw1pfetXaKt0QLoCp6YVzbxWIUelw+dXQb7ux5KsrKWBCu6Wd+BPnjAumFEKx2X9g==","_resolved":"/tmp/9bf66db4dbd24bb7219f9ef3c4e281bf/bota-apps-fm-0.8.4.tgz","_from":"file:bota-apps-fm-0.8.4.tgz","_nodeVersion":"22.23.1","_npmVersion":"11.18.0","dist":{"integrity":"sha512-hBTAIgMBx0x9NaUN7njqvNw1pfetXaKt0QLoCp6YVzbxWIUelw+dXQb7ux5KsrKWBCu6Wd+BPnjAumFEKx2X9g==","shasum":"4a473ebeaa2beebdaf7ea69e1f7177085c823bc3","tarball":"https://registry.npmjs.org/@bota-apps/fm/-/fm-0.8.4.tgz","fileCount":115,"unpackedSize":133711,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bota-apps%2ffm@0.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEVDRoOr3ioOGSq/xZOM8JclVKf1V4KmyPynXYEL17ymAiAibKrxqlUKdAImFFEbPnYwtXqFMQwEAbUkSxIYeVIrDQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8e79b8-317e-4c3a-8225-6cfcf2650600"}},"directories":{},"maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fm_0.8.4_1784780385624_0.9926264683605892"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-30T16:58:12.161Z","modified":"2026-07-23T04:19:46.076Z","0.2.0":"2026-06-30T16:58:12.475Z","0.2.1":"2026-07-03T06:47:28.162Z","0.3.0":"2026-07-03T08:43:06.601Z","0.4.0":"2026-07-03T09:50:58.564Z","0.5.0":"2026-07-03T11:50:08.672Z","0.5.1":"2026-07-03T21:13:01.584Z","0.6.0":"2026-07-04T00:28:35.428Z","0.7.0":"2026-07-05T08:40:48.564Z","0.8.0":"2026-07-05T10:26:31.761Z","0.7.1":"2026-07-05T10:49:53.581Z","0.8.1":"2026-07-06T02:50:15.024Z","0.8.2":"2026-07-06T06:35:40.212Z","0.8.3":"2026-07-10T04:51:06.031Z","0.8.4":"2026-07-23T04:19:45.765Z"},"bugs":{"url":"https://github.com/bota-apps/packages/issues"},"author":{"name":"Bota Apps","url":"https://github.com/bota-apps"},"license":"MIT","homepage":"https://github.com/bota-apps/packages/tree/main/packages/fm#readme","keywords":["bota-apps","typescript","feature-management","error-boundary","error-handling","telemetry","react"],"repository":{"type":"git","url":"git+https://github.com/bota-apps/packages.git","directory":"packages/fm"},"description":"Feature-management and error-boundary runtime: a feature tree drives per-action error classification, telemetry, and notifications, with React providers and hooks.","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"readme":"# @bota-apps/fm\n\nFeature-management and error-boundary runtime. One feature tree per app drives\nper-action error classification, telemetry, and notifications, plus gating and\nnavigation. Error handling is owned by the feature node — not sprinkled at call\nsites — and the package depends on no UI or telemetry SDK: the app wires\nconcretes via `configureFeatureRuntime`.\n\nEach feature node yields a `FeatureScope` with two faces: a **gating** face\n(available/status, driven by collectors) and a **boundary** face (`run`/`recover`\nthat classifies errors, emits one telemetry fingerprint, and notifies once). The\nSHAPE types live in [`@bota-apps/types/fm`](../types); this package is the\nruntime (error classes, classifier, registries, tree resolver, scope/boundary,\nReact providers) and re-exports those types for convenience.\n\n## Install\n\n```bash\npnpm add @bota-apps/fm\n# peer: react\n```\n\n## Usage\n\nWire the runtime seam once at bootstrap, then build a registry from the tree:\n\n```ts\nimport { configureFeatureRuntime, createFeatureRegistry } from \"@bota-apps/fm\";\nimport type { FeatureNodeDef } from \"@bota-apps/fm\";\n\n// 1. Inject the app's UI/telemetry/auth concretes once.\nconfigureFeatureRuntime({\n  notify: ({ message, level }) => toast({ title: message, variant: level }),\n  track: (event) => analytics.track(event.fingerprint, event.context),\n  requestLogout: () => authClient.logout(),\n});\n\n// 2. Define the tree and build a registry (provide it via <FeatureProvider>).\nconst tree = { id: \"app\", children: [/* … */] } as const satisfies FeatureNodeDef;\nexport const featureRegistry = createFeatureRegistry(tree);\n```\n\nProvide the registry and resolve a scope in a component, then run an action\nunder its boundary:\n\n```tsx\nimport { FeatureProvider, useFeatureScope } from \"@bota-apps/fm\";\n\n<FeatureProvider registry={featureRegistry}>{children}</FeatureProvider>;\n\nfunction CreateProject() {\n  const scope = useFeatureScope(\"projects:create\");\n  const onSubmit = (values) =>\n    scope.run(() => api.createProject(values), { success: { onSuccess } });\n  // classifies errors, emits one telemetry fingerprint, notifies once — no try/catch\n}\n```\n\nGate UI on a feature's resolved status without a boundary:\n\n```tsx\nimport { FeatureGate, useFeatureStatus } from \"@bota-apps/fm\";\n\n<FeatureGate feature=\"billing:projects\">\n  <ProjectsPanel />\n</FeatureGate>;\n```\n\n## API\n\nThe package groups its runtime into a few areas:\n\n| Area          | Exports (selection)                                                                                                                                                                                                                                    |\n| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Errors        | `AppError`, `ApiError`, `GraphQLError`, `ValidationError`, `BusinessRuleError`, `AuthError`, `NetworkError`, `UnexpectedError`, `classifyError`, `featureErrorRegistry`                                                                                |\n| Boundary      | `configureFeatureRuntime` / `getFeatureRuntime`, `runFeatureAction`, `tryOrDefault`, `reportQueryError`, `buildFeatureOptions`, `routeClassifiedError`                                                                                                 |\n| Tree          | `createFeatureRegistry`, `resolveFeature` / `resolveFeaturePath` / `resolveFeatureTree`, `composeFeatureTree`, `deriveFeatureAnnotations`, `defaultCollectors` (`flag`/`permission`/`plan`/`limit`/`setup`)                                            |\n| Scope         | `makeScope`                                                                                                                                                                                                                                            |\n| Apps/manifest | `appManifestToFeature` / `appManifestToContribution`, `mountAppContributions`, `toAppManifest`, `useFeatureRegistry`, `resolveLucideIcon`                                                                                                              |\n| Capabilities  | `capabilitiesToFeatureInputs`, `buildResourceTree` / `collectResourceIds` / `pruneToGranted`                                                                                                                                                           |\n| React         | `FeatureProvider`, `FeatureScopeProvider`, `FeatureGate`, `createFeatureAccess`, and the `useFeature*` hooks (`useFeatureScope`, `useFeature`, `useFeatureStatus`, `useFeatureChildren`, `useFeatureTree`, `useFeatureAnnotations`, `useFeatureSetup`) |\n\nShape types (`FeatureNodeDef`, `FeatureScope`, `ResolvedFeature`,\n`FeatureRuntime`, `TrackEvent`, `NotifyMessage`, the `AppManifest` family, the\n`Extract*` id helpers, …) are re-exported from `@bota-apps/types/fm`.\n\nPart of the [`@bota-apps` packages monorepo](https://github.com/bota-apps/packages).\n","readmeFilename":"README.md"}