{"_id":"@braedonsaunders/appkit-analytics","name":"@braedonsaunders/appkit-analytics","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@braedonsaunders/appkit-analytics","version":"0.2.0","description":"App-agnostic semantic query compiler, formula evaluator, result contracts, and visualization registry.","license":"AGPL-3.0-or-later","type":"module","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./server":{"types":"./server.d.ts","import":"./server.js","default":"./server.js"},"./package.json":"./package.json"},"main":"./index.js","types":"./index.d.ts","author":{"name":"Braedon Saunders"},"repository":{"type":"git","url":"git+https://github.com/braedonsaunders/appkit.git","directory":"packages/analytics"},"homepage":"https://github.com/braedonsaunders/appkit/tree/main/packages/analytics#readme","bugs":{"url":"https://github.com/braedonsaunders/appkit/issues"},"engines":{"node":">=22"},"keywords":["appkit","application-framework","typescript"],"_id":"@braedonsaunders/appkit-analytics@0.2.0","scripts":{"start":"node server.js"},"_integrity":"sha512-H0gYz2CMTG1AF37n+uFpchtjBz8GOMOIqfhgBOGSEIcfL0U9LSeoOccvJNSApilTxUezOteLcOuBFJ1g+60wmg==","_resolved":"/tmp/5397e1cc057d27aaf87bb1d456317d13/braedonsaunders-appkit-analytics-0.2.0.tgz","_from":"file:braedonsaunders-appkit-analytics-0.2.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-H0gYz2CMTG1AF37n+uFpchtjBz8GOMOIqfhgBOGSEIcfL0U9LSeoOccvJNSApilTxUezOteLcOuBFJ1g+60wmg==","shasum":"9379e875609ea532917edeec0e041cf5fc9d132f","tarball":"https://registry.npmjs.org/@braedonsaunders/appkit-analytics/-/appkit-analytics-0.2.0.tgz","fileCount":55,"unpackedSize":264606,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@braedonsaunders%2fappkit-analytics@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDia/pfc6u9x0CIF9TJXUxm0npW11OLVjuOWcQbjOjWnAIgVmYKTN/8DB2a24gjp/ueKFYKjEt6YKoY9XVN7jXU0ks="}]},"_npmUser":{"name":"braedonsaunders","email":"bsaunders@rassaun.com"},"directories":{},"maintainers":[{"name":"braedonsaunders","email":"bsaunders@rassaun.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/appkit-analytics_0.2.0_1787095301290_0.7253828820069654"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-18T23:21:41.031Z","0.2.0":"2026-08-18T23:21:41.439Z","modified":"2026-08-18T23:21:41.843Z"},"maintainers":[{"name":"braedonsaunders","email":"bsaunders@rassaun.com"}],"description":"App-agnostic semantic query compiler, formula evaluator, result contracts, and visualization registry.","homepage":"https://github.com/braedonsaunders/appkit/tree/main/packages/analytics#readme","keywords":["appkit","application-framework","typescript"],"repository":{"type":"git","url":"git+https://github.com/braedonsaunders/appkit.git","directory":"packages/analytics"},"author":{"name":"Braedon Saunders"},"bugs":{"url":"https://github.com/braedonsaunders/appkit/issues"},"license":"AGPL-3.0-or-later","readme":"# @braedonsaunders/appkit-analytics\n\nApp-agnostic dashboard analytics built from production query and visualization patterns:\n\n- application-authored semantic source and field catalogues;\n- parsed formula ASTs with a strict function whitelist;\n- tenant-bound, parameterized Postgres query compilation;\n- typed flat and pivot result contracts with dense pivot construction;\n- fifteen visualization definitions, renderability checks, and chart specs;\n- tokenized threshold, discrete, and scale conditional formatting; and\n- schema-discovered semantic entities that stay independent of a domain catalogue.\n\nImport browser-safe types, parsing, catalogue helpers, and visualization metadata\nfrom `@braedonsaunders/appkit-analytics`. Import `compileQuery` from `@braedonsaunders/appkit-analytics/server`.\nThe package never accepts raw user SQL and never owns an application's domain\ncatalogue.\n","readmeFilename":"README.md","_rev":"1-e964097c646e9eb334d4fbbbce29a38d"}