{"_id":"@things-factory/kpi","_rev":"231-cc3f5b9087f4207aa893c27d60e1a4c6","name":"@things-factory/kpi","dist-tags":{"beta":"10.0.0-beta.4","latest":"10.1.104"},"versions":{"1.0.0-alpha.5":{"name":"@things-factory/kpi","version":"1.0.0-alpha.5","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@1.0.0-alpha.5","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"40ef57485f3275e2fc13c8ed5500f8675e066d77","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-1.0.0-alpha.5.tgz","fileCount":259,"integrity":"sha512-kts4KFg9OWk0NqfGUxmFQ/gFPpAm+cWBzD5x+rO/LelEwfNINK4IuEuQEQTau95WLXWLMU2CZjBxxf+9o3qJaQ==","signatures":[{"sig":"MEQCIGTRMtil6whP1zos0obt2Y3fWatQDS0iUWLE5VOdWrJWAiAKKdCTeKBjZrtdjcG8dJXjIQKhv3PbWndP/pWlcsvnqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1275187},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c5c29d58379f1172673819c24a79f0e667d94ce6","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","actor":{"name":"heartyoh","type":"user","email":"heartyoh@hatiolab.com"},"email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.2/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/shell":"^7.0.0","@operato/graphql":"^7.0.0","@things-factory/shell":"^7.0.1","@things-factory/auth-base":"^7.0.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_1.0.0-alpha.5_1750305525975_0.683441474673943","host":"s3://npm-registry-packages-npm-production"}},"9.0.9":{"name":"@things-factory/kpi","version":"9.0.9","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.9","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"f54d04fc2019522844867e9e2aabcc973b70cc41","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.9.tgz","fileCount":288,"integrity":"sha512-l9zISEgwDPtQ63oGESOjIvdZk+y9r+MQIQ5VjK2WUyrBZ9nk10vlf4jw1d8paGafO2LoDSKRvdo7Rblv2H3agw==","signatures":[{"sig":"MEUCIDSww8CHshMUP0wlvxYy/6Ay6cnjFFUA5CikPn+8O0NVAiEAg83jEmTY4XyLNfTVzZFlnxo9dGi+zL1Ajv24k6BXE5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1585804},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"eb11cf155bb4ce131e23b903feaae8af768f1e5e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.9","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.9_1752591843262_0.4275214547912918","host":"s3://npm-registry-packages-npm-production"}},"9.0.10":{"name":"@things-factory/kpi","version":"9.0.10","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.10","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"608ae2cac2d8fd709be34dc5006117fa48657882","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.10.tgz","fileCount":288,"integrity":"sha512-b3NAwBAGzhf9Xue16ul4v8wbehDNJfbs4vPq2fUWoopAwszL91TX7cShLqMcFlClRsvg3Wwar4DHTUJL1nXv1Q==","signatures":[{"sig":"MEYCIQDd5EGvO6LmnxSlC9V/Hl5+YtLJbigjmavIhOFe7Q7Y9gIhAOBI17k/pTOjje45TxlbGPy1tBfkBuMDGuJ4FYRG/aRq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1584522},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"eefaa2a490014a96f03d56a4dfbeee13c84d3164","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.9","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.10_1752595898480_0.9326645807578571","host":"s3://npm-registry-packages-npm-production"}},"9.0.11":{"name":"@things-factory/kpi","version":"9.0.11","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.11","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"741e72dff1d1bc9c65c6604dfaf8c43b6353348a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.11.tgz","fileCount":288,"integrity":"sha512-R5KBLmAI/2VUPIhNoS/fEHI+Z3HOUGOaVGLdYcf8gWn+cTHShdWgCHtPWwI7DDmGzWCpqX7ggZlnl+PQn75Tbg==","signatures":[{"sig":"MEUCIEpaAfOTp4IR5oHMVU0isPt/GHe0jnzto7SVZ5UgEtleAiEA+odXvhk+6rOUB+xwpknPJBMxLDMfKcu0NIMG9K/e3ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1589426},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0f9e83e66b523d36e4f9dfbdddfd601e6487a34e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.9","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.11_1752599818526_0.6060370168049931","host":"s3://npm-registry-packages-npm-production"}},"9.0.12":{"name":"@things-factory/kpi","version":"9.0.12","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.12","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"924dd3d5c99c18c230a453e22e8fe7279f323e71","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.12.tgz","fileCount":288,"integrity":"sha512-jyVnCTHMin8neHD2dzgadpIhPYyNAWzEnIvhkHOASgOY9ipJ+nj1TSZG7YZn+S7bGKMuM3l6DW7KKwrpLTjy4w==","signatures":[{"sig":"MEUCIAVPDacLeJnERoKgq4jiXrwxbFmsudqqmMD63ezT4lvBAiEAnCjRw9TKRwcjbFony3OM81OR9I/nXdp9Zc5x4oAJxoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1589734},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2bb9eb1ca59f8b080ae7b0589c1cc085fe0f8a3f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.12","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.12_1752754715013_0.22596759886348905","host":"s3://npm-registry-packages-npm-production"}},"9.0.13":{"name":"@things-factory/kpi","version":"9.0.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.13","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"a10be0c5d78f99ac5bdbedc11aadb4735a6074b8","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.13.tgz","fileCount":288,"integrity":"sha512-V/IXr9WD9XwrQJrJRjB83rBn78fASREuj7CQq0caivLZzDZ7YSZlV6FgFef45H3p8B0ju6xew3amPI4pSpUVRQ==","signatures":[{"sig":"MEQCIGwpyjduL2VFOMRHvACngToOW0aXkCuXFR87mlIDOBBfAiAmn9rlw6sIuNUXqqxK5CXe5CZ8FP3F5W31Dt6TxVnoFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1589734},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8629e384d819c0d232f76def3e04ed0c1030a3d0","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.13","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.13_1752757620692_0.4283406071611948","host":"s3://npm-registry-packages-npm-production"}},"9.0.14":{"name":"@things-factory/kpi","version":"9.0.14","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.14","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"9f787a7c80637d10b4771b49185bb657809d5a48","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.14.tgz","fileCount":256,"integrity":"sha512-TCkQrtioEevmoushQNPIFDXuKi80IyIzPw/KMnxc/PcgHd9RQEP/xypuRcZyryAYrA9oW90dqmJ18XwbpjIzwg==","signatures":[{"sig":"MEUCIFBXILn1oATuPtZtY6V7nw7WYPDNtd6D6b8wT9dACeljAiEAnteLn/X9J/PDZR0ciBkp/46NxDBKGGsm7+P1N3q3oGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1486069},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b092ace8cad6c994b41ce6c06b929085d886b134","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.14","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.14_1752945272533_0.2562230184071401","host":"s3://npm-registry-packages-npm-production"}},"9.0.15":{"name":"@things-factory/kpi","version":"9.0.15","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.15","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"479d9c9950842d902f9c951c4f297538589aba5a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.15.tgz","fileCount":256,"integrity":"sha512-/ZndcyKHQcmBcRCvhSsv6ZAQXL14lPA17B0VfBWDp3bxei/ZZiwaHDuOSo0p0KE2tdHMv028ILdUCwhxBVKk9Q==","signatures":[{"sig":"MEYCIQC3DoNLS9iXDE7Gk1zWkcFeVIWGSQtvrrPOjJbu1/cGwwIhAPEG6vPIb3z5Zr2KSQ5pYTVSV73ayuez8jQ0UpNVCcze","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1486865},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"ee0c6972e5cb345ac2a60f92085c046c6deaf55e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.15","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.15_1752946840737_0.3438260967751714","host":"s3://npm-registry-packages-npm-production"}},"9.0.16":{"name":"@things-factory/kpi","version":"9.0.16","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.16","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"abc8f064c431ec2d364ec0d9ce3b194a6c39944c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.16.tgz","fileCount":260,"integrity":"sha512-XaIzDXf5zzbSGmDnJ+O3BoBdgm+z8tTAjvIsA1/zgXow69BEFaw1ZHwJ9ouIqGPQPjBCMVXBoDcAbTEgWMHktQ==","signatures":[{"sig":"MEUCIEOHgFfSiYpQJEUjxJMjrqmtk/pz+3LTv2Usue4mLOg3AiEArQRiEihYPzInU2KqWNglOCJYmj15qUYeHbrM19xKdYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1558557},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c1ff091fe44632f61f2581e7ec4f8af515be22ae","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.15","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.16_1753001328547_0.6801346757015143","host":"s3://npm-registry-packages-npm-production"}},"9.0.17":{"name":"@things-factory/kpi","version":"9.0.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.17","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"4b2d80c80388ce7c19d26ea112a09612ff974e9b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.17.tgz","fileCount":260,"integrity":"sha512-j8H0XrNCqPsH0mYMJ4UCDfFftfHSA3AujhPmGwMiyYX4DGRiVA41S7GAaaa3OJ9UfksrdO7b6m6op7PLQxkTJg==","signatures":[{"sig":"MEUCIQCvW4a0QQS232c5nEC6WhXNoJ+iZr3twfA+vqYZRVV99QIgUw9WJsZPRd7KMjzAVsHH2Jy1HNPxY+VUWEkG0LDDFWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545334},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"125c0077d357017ce01c73bba49d805274ce6295","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.15","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.17_1753124521987_0.4098025154502214","host":"s3://npm-registry-packages-npm-production"}},"9.0.18":{"name":"@things-factory/kpi","version":"9.0.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.18","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"a8a0851e1afe7132cb5caab2037b1270a67b263b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.18.tgz","fileCount":260,"integrity":"sha512-WHEXeRi0eaKuygz7RxrsfGAHIZWtfuF2GI6g7E9F1818/mVO9G1fM2byI9kkRWuLCf0tD7RepDuk0PIOXccZ1w==","signatures":[{"sig":"MEUCIQDdyOy+3zC8pn7RSoJo+EmlSMit0uwgqvyAqm4Ggr6yqQIgfNUCe4nIqj8A+FaibgpCmPzzsU0d4Ag62o8zKPwzPtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1575037},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f1eee3c3841e1bca8505ab103a7ec32d211ecd19","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.15","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.18_1753154422385_0.06659915293189922","host":"s3://npm-registry-packages-npm-production"}},"9.0.19":{"name":"@things-factory/kpi","version":"9.0.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.19","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"99b13defaf700c26c100f0d0925ef9f2d064cd94","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.19.tgz","fileCount":292,"integrity":"sha512-LmlHkkN5lGfvTBnKa7ciMFPunr1H70OQN/31frjPpiXw5PCUhETY2HrRBDpFSKHNs44nZULDcy+pttjlFLhbYg==","signatures":[{"sig":"MEUCIQDJ2tljZWQh1nHm2+nWAZD/1aoT0Ri6y5zKIT/cYq6ihQIgHmZn+1hV49NHdUTkiIBqX9cT1jWVrM+plbd+VmclTWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1725184},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8a547ab7c7dd693d849121201dfeeeeefbc2f020","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.0","@things-factory/dataset":"^9.0.19","@things-factory/auth-base":"^9.0.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.19_1753268454170_0.5348570946586302","host":"s3://npm-registry-packages-npm-production"}},"9.0.20":{"name":"@things-factory/kpi","version":"9.0.20","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.20","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"f7194cf49bc2fcc1696377e45cdb08e5deabcc16","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.20.tgz","fileCount":292,"integrity":"sha512-f3FqJSECd+CG94oMLymM6gJaZUF7VNAhfqy08xFBQYvZwovUyKNYTrVzOQK7K4Zkpboy7J7p7oDtsl0tAWo4qw==","signatures":[{"sig":"MEUCIFm2IPK8Wc1ObQwwle9TqlT9f/h7XiS3U4vdcA9PLYy6AiEAqjMS62Xd2RBwWirGi8zNyKBaGa8PKtM8ceXPI+yk0wA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1725186},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d66d7047d01d82c6c676f8f02ecf1233fe55eaab","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.20","@things-factory/dataset":"^9.0.20","@things-factory/auth-base":"^9.0.20","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.20_1753268669901_0.46909076633509206","host":"s3://npm-registry-packages-npm-production"}},"9.0.21":{"name":"@things-factory/kpi","version":"9.0.21","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.21","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"afac36ebbb14cabbbc8fe15be4d7e78e3069d230","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.21.tgz","fileCount":292,"integrity":"sha512-+/fOnTdQo7OwhUx/DU47wIwnhl5Vk1023d5Rmkj1UnHbvKRUXYjIRi0AEiOJrs4X/7JHyxcZlnVlRFkRbWwRwA==","signatures":[{"sig":"MEYCIQCb/Me0/7BddegD5AAjUF/Zfa0BMYckiwT46z1VoQZ3gQIhAJkkFPaF+JaZbn33SVd3Hi6a6Q+3LpB6RAJ6+kW4I4Yr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1726076},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0b142308f7695abe45d6e144d22e075bef5eda3d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.20","@things-factory/dataset":"^9.0.20","@things-factory/auth-base":"^9.0.20","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.21_1753270314190_0.6956709470353055","host":"s3://npm-registry-packages-npm-production"}},"9.0.22":{"name":"@things-factory/kpi","version":"9.0.22","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.22","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"5f009759abfa8a983ea63a1f420b9c51ef8b43cd","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.22.tgz","fileCount":300,"integrity":"sha512-YZCpFp8IkRZLmPvTXABmbzytpQiOzSM9EwUrGscse+1WQcaSh7qQLCy2Qwy+qdlVVVgr5NgO/lihsmF99PBJDQ==","signatures":[{"sig":"MEUCIDBoy30SsCmtTq98cfGNCgkO6ULu+MVUwHAVofkI1oA5AiEA8MFwoxyX5QxGzLYv7NPbhXz1hCnHl9iM2YbYKFf5Dzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1797875},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d5983b2d3f2b6889787342021e38ea383b49f170","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.20","@things-factory/dataset":"^9.0.20","@things-factory/auth-base":"^9.0.20","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.22_1753298463737_0.93498584055167","host":"s3://npm-registry-packages-npm-production"}},"9.0.23":{"name":"@things-factory/kpi","version":"9.0.23","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.23","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"44468036ff48db64742a3c6f8eaf29006fc61d6a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.23.tgz","fileCount":336,"integrity":"sha512-hWqVPzQ27/EI+WIagJF2XEEW7Rj1otGJqAyejqxygnM5pUn1E6BoXSrc9vnJOZdSQil5tGN+FgxgHxuB62TcZg==","signatures":[{"sig":"MEYCIQDr3eVW/Bg25zMaWqmnLfpjk8fLBDMj9U3tLjaTQ02p6gIhAIFaTWDCTZHf/qOZQiJ3IVzXt+IWGuONCXfqtX+FVAzU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2011760},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3038f35d4e6f8d5e0f9384edfaca0c17104c6872","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.20","@things-factory/dataset":"^9.0.20","@things-factory/auth-base":"^9.0.20","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.23_1753642884190_0.08290200521234681","host":"s3://npm-registry-packages-npm-production"}},"9.0.24":{"name":"@things-factory/kpi","version":"9.0.24","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.24","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"b3fc3a5bc447219a4096fcfa19edc49527899afd","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.24.tgz","fileCount":368,"integrity":"sha512-kfi7Q/2q8mhhYjQoRbBU9qaV0HU0sFCopAjbrxc6b/bAHGM11GPHCYPxi/U4x3tml4pYXqcNIgpM3AFZg2G9rw==","signatures":[{"sig":"MEQCIF3wKpoiSHU9By3QTE4dx3WwxuA59YE9COFbCb49+zFPAiBusYHlJPR+6pL7tZ+ApWFILnPSsWilG/fZR0Sm8r7a7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2306152},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"5b0961255631f7b6bb0c83e66d3d8021e15658bd","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.24","@things-factory/dataset":"^9.0.24","@things-factory/auth-base":"^9.0.24","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.24_1753907530479_0.8659019027302275","host":"s3://npm-registry-packages-npm-production"}},"9.0.25":{"name":"@things-factory/kpi","version":"9.0.25","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.25","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"2fea40dc0d1322e5b9b7aefe96dd7a1e4e851e47","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.25.tgz","fileCount":368,"integrity":"sha512-cWKSsayyui9sSmW0yTQjAjOthCY244I56wc6tv+s+ZuwYcID624H7L4+ZTElkjNzgLVIylu4n79ZuOKu5ryq2w==","signatures":[{"sig":"MEUCIDR4Bm6oGku7oBBjbigozgJLHkrwd0wUaz7a/8nALPvNAiEA5mT1zCQgbYxaQApC0OqsyqJWB0DG/LXuWc1mcv+he60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2306152},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f15d38b26438fe7e14edefdeb0b752ce9fe5fa83","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.25","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.25_1754067897749_0.888139204993678","host":"s3://npm-registry-packages-npm-production"}},"9.0.26":{"name":"@things-factory/kpi","version":"9.0.26","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.26","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"e31983b9dfb0f5744e7400cc3f384a3a2ce7d271","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.26.tgz","fileCount":368,"integrity":"sha512-RbUP3GnKt7y/KWuY28DvVYkO/xoO32pTWc5qzF1UBP+zSLYvkGnzefOX/L9N7lShI7yHkU+jtGWYzJiBb15W/A==","signatures":[{"sig":"MEQCIB8EVksoD3gE1gSUaD0YDX0+161Y8MCGL6fILSdzu8wjAiBRWk0tw31UoApEsmpFdLjbQmNpg4XGYZuqR5FgTU+M5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2306152},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"442a44de9da73f0c193eec7eaa972b2afb5e2293","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.26","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.26_1754069209358_0.9601822693058999","host":"s3://npm-registry-packages-npm-production"}},"9.0.27":{"name":"@things-factory/kpi","version":"9.0.27","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.27","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"4b02dd02b00d12ea756d6d9464a1129dc4094cb1","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.27.tgz","fileCount":368,"integrity":"sha512-xCwPjYlW0e7+Ywc9nUnbytA02/TyuLOXTn5oEPDnITEpBdMcfB3WMxzxSQPIkvhpgKpjXFYTCRAofN4nouhHsA==","signatures":[{"sig":"MEUCIBVcZmuNJ5kK4gn8as1m5hnkMLPqpUUnCCgZ+xF8YuatAiEApqyqAiYqkQxHGMwJ0ZdIGGUGo70lOromxcjp8F0jcv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2306152},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7dbcca8920f72218807a5583c510df97fe2102ba","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.27","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.27_1754078702429_0.5497120677066383","host":"s3://npm-registry-packages-npm-production"}},"9.0.28":{"name":"@things-factory/kpi","version":"9.0.28","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.28","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"5c07185f2446207d8dd30d0ad0a381075f6902d6","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.28.tgz","fileCount":368,"integrity":"sha512-xQqdOqqd0bKm9cFSwIXuTXwHG9/qVQqbLYn5YdLypjPjFuxq8AkYs5n3ORtANeUd1wOE3osHE0Ohwjj7yAfPlQ==","signatures":[{"sig":"MEUCIQDWQcoKhH98TyWt9EitsRR9MBByEdVhC/PNpI1yWAxIRgIgX0MpnVH+44vf1hXrjznjYvB8SqX3LIicEaSSoviXzdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2306357},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b67c3ad1df7afe60a1d67583454a7cdd463c1c5d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.28","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.28_1754115514746_0.052363120375901184","host":"s3://npm-registry-packages-npm-production"}},"9.0.29":{"name":"@things-factory/kpi","version":"9.0.29","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.29","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"cd19ac16f24b6618315c3e187688d1d47d8c8292","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.29.tgz","fileCount":401,"integrity":"sha512-C8t2pUCpqodzS4b7bmRF/4jQSh+RisoqcVqogPmCteoURNIp2Y7SOQpZXiUsWeEOqv/1CEQhlSDPN9RblPZJlg==","signatures":[{"sig":"MEUCIQDwWUHcqGhCQ28PxwlJ6UHseuNDzGvVjtQt+Vg2SroZOQIgY9puxI2EUUd2c71+NddSh1t5C9jJSmo2StNHgDznpEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2575431},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7e3b1a58f5c971d960bb7ca88ccc3fca4c4bd08d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.28","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.29_1754168706501_0.724449119209059","host":"s3://npm-registry-packages-npm-production"}},"9.0.30":{"name":"@things-factory/kpi","version":"9.0.30","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.30","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"279dd0bd59855cae08492b329a0b442563aba7ae","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.30.tgz","fileCount":441,"integrity":"sha512-QIRnoz84D2FyuOErGiV38qhJ4tVuGrumnnwDGHYLQOHN/29YFK9uujk+SJFntaQsdRA9q6KWk+XvFzcWXtQWHg==","signatures":[{"sig":"MEQCIBVa7nKtynAVlDDQMGaXG3PS3xoi7WIonRsmhfE6JMKnAiB79ihxCibf90HTTLSK3vJXIGfhu947yp7t3akGuQDwcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2936648},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"853f4af25879ffe2373505d9dd851bc606ec196e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.28","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.30_1754248502508_0.46615103558128324","host":"s3://npm-registry-packages-npm-production"}},"9.0.31":{"name":"@things-factory/kpi","version":"9.0.31","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.31","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"69e1cbb00761eaf46998f529a1ff53d7a512af95","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.31.tgz","fileCount":453,"integrity":"sha512-9aOWjdAKN8W0lwWkJ9dDjNe/R9t1JZQnSI2L6fRxo9xrFOv0+8+m1o4YOo/+1Cz3npTZYPK3Sy0X23GCx42b0g==","signatures":[{"sig":"MEYCIQC6lAaTkY7oB98j4YbQzqIFC0x+pN2Wlxf/5Cr7bjcPTgIhAN83wwQoTV91Y0SvEJDjI8Yerhwx/2cjM9wWe2wcTjFL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2999115},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3edffaba43578c71e33389fa27696de99a006049","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run copy:files && npx tsc --p ./client/tsconfig.json","build:server":"npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.28","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.31_1754286931771_0.8024684418725296","host":"s3://npm-registry-packages-npm-production"}},"9.0.32":{"name":"@things-factory/kpi","version":"9.0.32","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.32","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"01110a7790d08bba9d5bd2a362b26032bbf00fb5","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.32.tgz","fileCount":497,"integrity":"sha512-+8WkbT+2IXqtJrqnB2Sp6emsG9jkTmVKAP9wJtKtM4KoInjBDQCMEk3gRpauthWvHTN7K3yx1eOFFql8k3sWyg==","signatures":[{"sig":"MEUCIQCZPEDc5nEcMltg+jlbMvUpPBUa3o7GGKiY8AMZ27NgsAIgGFRKgW3t/hUhE8KxhbIkZogrJp3W2/xeObxtqicAFYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3829893},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"a0418d09e6d7d514349d04d1725bd1d17e41f374","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.32","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.32_1754505511924_0.16220274624378095","host":"s3://npm-registry-packages-npm-production"}},"9.0.33":{"name":"@things-factory/kpi","version":"9.0.33","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.33","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"101264b4e286f5f07979c3fb2896b3b9e3a79199","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.33.tgz","fileCount":529,"integrity":"sha512-Ca9l6WKcNBNmSQvj5fPCRjDYHn/BcGMcwFFDDLk40WhXST7OHHz9gwZBuQZgtESyLOkTfhxxmvsQYHnRI9qhLQ==","signatures":[{"sig":"MEUCIQCYYXifnMzyHZpJJ4CfOfgWB5IE83ioltSaKL5H8ENl2wIgXZ61X+NT8tCwV+oWGkV2QSzdFvFRGXPOV+03kWWmJhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4062873},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"42f59ce867281a8f2604647646582c6593e4089c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.25","@things-factory/dataset":"^9.0.33","@things-factory/auth-base":"^9.0.25","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.33_1755057419524_0.24231987536496558","host":"s3://npm-registry-packages-npm-production"}},"9.0.34":{"name":"@things-factory/kpi","version":"9.0.34","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.34","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"3ce48a4a0f8b57c523de3307dac5f92c02367d1f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.34.tgz","fileCount":529,"integrity":"sha512-xDOB7o3DezeVxOmaVEWU520guE773/rNPpYADFFgtmIb7Xrg9GudoY/Bq1fkGY8Vuq6oGiwXOa9C3dt9PL+e1A==","signatures":[{"sig":"MEUCIQDHR9ayzjlmGA+SFZ6IZj1HxCxIc2kbIPy9+PIPzTSslgIgaU8W/HeIwCLXEswXAQ/aNukc5T4d3It35wq0dvleykA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4063790},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b85ff377bc6ca4a81e53342b20087d4e0a286772","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.34","@things-factory/dataset":"^9.0.34","@things-factory/auth-base":"^9.0.34","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.34_1756695945586_0.17786395764553742","host":"s3://npm-registry-packages-npm-production"}},"9.0.35":{"name":"@things-factory/kpi","version":"9.0.35","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.35","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"c0eb7d3aec1010c4a7690676e8e07b164f94153d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.35.tgz","fileCount":529,"integrity":"sha512-fkIRDbZiDvSuJzPqKNXqLh/jaIIFBoqtw2zqiucSKh9nL8es/iaGsLwZu7MToeP6jaC1Zr9deCR8+ubmCF81XA==","signatures":[{"sig":"MEUCIDrPX2p+hRnDLKQB3z4Ff/m1lNuxrsbUiUxRMNnRiJb8AiEA2lrXkgJCU4MUQT3rrvYLQ+l4ewtRHpJZfByCaTf/4Mw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4063790},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7c9c52c3f8fe6e83694893b3a4d7f31ded8ec58e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.34","@things-factory/dataset":"^9.0.35","@things-factory/auth-base":"^9.0.34","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.35_1756857176958_0.9678005628473114","host":"s3://npm-registry-packages-npm-production"}},"9.0.36":{"name":"@things-factory/kpi","version":"9.0.36","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.36","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"584777feaa5452172013fff2eba362159bb16f94","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.36.tgz","fileCount":529,"integrity":"sha512-/MBBSVMakE3uw5DpTY+W8aQaxJHUKC3Cu6KSz2J1LpXe4g/Jb9sokMiP7vb5btx7xogN7Or61lCGKqiff7Dl5Q==","signatures":[{"sig":"MEUCIBdzY+xotD/phH92tRkTxjbR4Ol1p2696FUptSfFA1rUAiEAx0IHkGHB9C/WodYJxUx1DXRifY5ukBKAwwh6/Tpur8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4065808},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"167692f94a7c47a892c444fbd258c281aa4c1557","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.34","@things-factory/dataset":"^9.0.36","@things-factory/auth-base":"^9.0.36","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.36_1757145740857_0.13347189426785366","host":"s3://npm-registry-packages-npm-production"}},"9.0.37":{"name":"@things-factory/kpi","version":"9.0.37","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.37","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"fed7087fafaa2242349d2a3042c1f8f779859993","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.37.tgz","fileCount":529,"integrity":"sha512-IWTio/5WPhQccO6rQkfAU8jprcPQgDZtoCZ27zi83iRvRb+M1jU+2BxtIRw98eahsoVnq4r6AiWi1yVcTuOUgQ==","signatures":[{"sig":"MEUCIQCcZS+C4iZhAHAtsz6ZianlJhYNu48IdePLYggMTbfGEwIgP0gtWH6lLBm/1rbXHhjyBv+6Ugv8TSW2lst+CAxxgsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4065808},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"74d58e04f1adc90488804401b70e90d8b47ae2f1","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.34","@things-factory/dataset":"^9.0.37","@things-factory/auth-base":"^9.0.36","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.37_1757337676498_0.1377008511274429","host":"s3://npm-registry-packages-npm-production"}},"9.0.38":{"name":"@things-factory/kpi","version":"9.0.38","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.38","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"613646e21694fe69f256387b04662f63f6d3f774","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.38.tgz","fileCount":529,"integrity":"sha512-IsXX9VClqVQsaBTRCun+YdGvJaxGzDh44m56gChDEZbh/tPy6VkQ7IEDXwxng3z/3vRv8rlfJnqUGVNLB1f7fA==","signatures":[{"sig":"MEUCIQDpRfNwyvRzF32zfmX+o0KqCR+JHfrSPPUrhtrke2+efgIgRxEzK5F9qcLmJXGRbAfkCjODKzD1Do0/GbBZbiuW62k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4065808},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"ee907b3b5b4a5756a62c87b90104dcfb97988c82","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.34","@things-factory/dataset":"^9.0.38","@things-factory/auth-base":"^9.0.36","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.38_1757339394279_0.7338408750405914","host":"s3://npm-registry-packages-npm-production"}},"9.0.39":{"name":"@things-factory/kpi","version":"9.0.39","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.39","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"bd04558f9e361dd9af95e8f567bcb5f1a7e5f656","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.39.tgz","fileCount":529,"integrity":"sha512-3Ru7PXhGu0vLpDMKXXsYJ+776n8m+hTrrJ7ZEhXv3jWasY0nTEfCP30lITZ5qai1h4197SlGA0sQjlw5WQWm9w==","signatures":[{"sig":"MEUCIHlqc31XzqGEjsomzGGLMnQOH5OpP/XvEdEax6EC7HsoAiEA53jtlg+KhVGa/wZjYIGPAXSuynXaqi2b0uofa7+Zs0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4067569},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"235bca33cec4a2ca27078b04c91ce1f3cf99466b","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.19.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.34","@things-factory/dataset":"^9.0.38","@things-factory/auth-base":"^9.0.36","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.39_1757396686907_0.3924038928349476","host":"s3://npm-registry-packages-npm-production"}},"9.0.40":{"name":"@things-factory/kpi","version":"9.0.40","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.40","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"0264ed71583a9cb407ff2917ca61529b05627ee5","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.40.tgz","fileCount":529,"integrity":"sha512-N+3eQCPfrEUeTc0ETI4UzBKXJqX7GdPybsI1OEiMdBmfeNIhvbGPRHSi1ZWCdN4a0fXuuymm/rtmtw4x7zzMgA==","signatures":[{"sig":"MEUCIGk19scJPHXlj7hke+DFjJgmZFSYSHQjpf7wo07iDOorAiEA+7qif8WG4fTsRXQsasuTIzM4AV3RxN9JFKyOT5DiA4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4070815},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"71bbb5b1503efb32b5a6210ee89c6362a9bed821","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.34","@things-factory/dataset":"^9.0.38","@things-factory/auth-base":"^9.0.36","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.40_1757761298740_0.0014700299855043841","host":"s3://npm-registry-packages-npm-production"}},"9.0.41":{"name":"@things-factory/kpi","version":"9.0.41","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.41","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"cfb48252478126734853c41119745e714e3d1fd0","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.41.tgz","fileCount":529,"integrity":"sha512-B0UbXHpoV+geuWefZV0Sz+81KQi+poVM8wAdL0spzAr9zxYgOxUs6AFOt4oWp/uHLOGnQ4Huah54qYvzXd0uxg==","signatures":[{"sig":"MEQCIHixZpbrpofFmvpxHm+eKXDah1YQildjGUwz8xQDhQRpAiA5C3NfefdQUpzkUOqvQRDrbWui8NnNLk8eIaPwG4nMBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4070815},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"cb26dfb3aad0feb7de506fec597017b44c24d31d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.3/node@v20.18.2+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.41","@things-factory/dataset":"^9.0.41","@things-factory/auth-base":"^9.0.41","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.41_1757835390592_0.5756472321156283","host":"s3://npm-registry-packages-npm-production"}},"9.0.42":{"name":"@things-factory/kpi","version":"9.0.42","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.0.42","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"44ea0f3f35000703134797b7f49767ff7153f42c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.0.42.tgz","fileCount":541,"integrity":"sha512-MtcGSpSEgnPWfANSREHKhvwEfYSAux3XSBjz3aDlQkJN/f8JgZpQ/JegXpgF9wMKryZKy67qTFaE0JUOTYr9CQ==","signatures":[{"sig":"MEUCIQD1eJiyeXXlkvo4xTNN11zMuXHgWWVb6uaR0NOExBSXtAIgXHzYeGXU6oybaPJlb8Sd8DQzMg19m2VxKqEwlsmwy7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4098287},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d024e6035189ba0cf6ce5236cf5326ebd1255aab","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.0.41","@things-factory/dataset":"^9.0.41","@things-factory/auth-base":"^9.0.41","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.0.42_1758000477571_0.7429403945453601","host":"s3://npm-registry-packages-npm-production"}},"9.1.0":{"name":"@things-factory/kpi","version":"9.1.0","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.0","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"74fe0749d397bd4b26cf17a217b541cea437239f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.0.tgz","fileCount":530,"integrity":"sha512-D460Fd2kJl4jtnFNEqLl9B3MjXyPGbYQRRzTI0pC3dQZwzF8cy3+QMJAKIwhDjQJl5LFHmrvxAOF5Zf/3Zw7HQ==","signatures":[{"sig":"MEQCICuXTj9gW34B2Cwne6xgGvzoX9U7xZOaUk+A7Q7o7UfpAiAKj2LScmkpJszFXAa1dxVmeCvd1U0jNqD+hrZ5Ec9jTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4086366},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"494a121d16535ee9a0ff0e723c50e83639b86883","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.19.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.0","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.0_1758025059347_0.14245984039893456","host":"s3://npm-registry-packages-npm-production"}},"9.1.1":{"name":"@things-factory/kpi","version":"9.1.1","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.1","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"5397ac9a133c518641dc9deafd47e4926c3a5753","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.1.tgz","fileCount":541,"integrity":"sha512-7QGjw9dP1ouCpcoD4bFFTh2rQFjiA2kt8v6ZRSmCyNHe91vtJzBznSQGylK4kBsvLFrNe9LQTb1EEfuNLiP1tA==","signatures":[{"sig":"MEQCIFs5Ta0pP1jy84Lv4k8lf9RmZouY20NiJnardSocQ92vAiAn6nNey/hjIdoPY7CBBTw97eM21mOguDo7mw9mq/XGhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4098317},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"346462e8b92b65bdc952ff8cd67b2d248e740589","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.1","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.1_1758697526789_0.7122192491572525","host":"s3://npm-registry-packages-npm-production"}},"9.1.2":{"name":"@things-factory/kpi","version":"9.1.2","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.2","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"a5b478a76d54dbf4a78dbf6b5c140f475510b4d7","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.2.tgz","fileCount":534,"integrity":"sha512-Vwu2YtVkEDMExhU0LTvAzV5WjRBR0qzxMCAiJ++aKl1jfBnQPVOV76pcNGCigh/1VkQ6biLm6AmITbWQxcHAKg==","signatures":[{"sig":"MEQCIF98CJnztaYIYFeqsoQp9UCw/iAPgy1+59Yt+7lUjMF/AiAX28PEffdwelRNxBgDj/W0WvUxzf/zsb4UP/oenP8uDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4093994},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2b1d58e6811b8c329eef01a638440bb3e63f09d1","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.1","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.2_1759282471743_0.3527997721742271","host":"s3://npm-registry-packages-npm-production"}},"9.1.3":{"name":"@things-factory/kpi","version":"9.1.3","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.3","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"2fed893567c357cd8fd5f45b6138ee665b5ecb48","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.3.tgz","fileCount":534,"integrity":"sha512-PUznMzvTUt+oLJ6jVaucLKCU7bMRZJ3Zc5WVV4gk5RBYwDcl4jPwMfLGGJqgw2Bv6f9BmX3SiRHNKqXgFqPBxw==","signatures":[{"sig":"MEQCIBGxjRDr6YxECpKyrFkOVq4Dt79Zy8lE5rQR+dQnRzt3AiAVZxf/ZHRSgmpHV/rQy9iBhIQfmwOO2pfwSLxsHVeWTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4093994},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"5a428255348783d7815b862be00a884af76841f4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.3","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.3_1760077746670_0.21235693565367475","host":"s3://npm-registry-packages-npm-production"}},"9.1.4":{"name":"@things-factory/kpi","version":"9.1.4","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.4","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"4c1a34d5931ed730a9a15f810954304e66952897","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.4.tgz","fileCount":534,"integrity":"sha512-F7rp3iGZ4zBxi7m4K9TdgTo+JNibx1zkAqRmlfjtvMj2LKMxmfczVcj4C1Vp3zAuqs/BFNulgHT4h79THT6mrw==","signatures":[{"sig":"MEQCIHOIBrmQIzofn6QpYYIPHzJckIyK2MxTZFW8Skh0Pv2XAiATLOYF1YWgZAyLYXVkBJFXAs8UQxXJHIsnem2IeFMOWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4093994},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"81c5deb1fe06ce7749144c54875f4bb79183c4ae","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.4","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.4_1760318007840_0.4683228721004322","host":"s3://npm-registry-packages-npm-production"}},"9.1.5":{"name":"@things-factory/kpi","version":"9.1.5","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.5","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"279a450403e2b517269a69a2e21ac60191981a2b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.5.tgz","fileCount":534,"integrity":"sha512-vfZV4laVmqDwxXYGlBydxtZXSvT1YVHlcaipS4D3ccDQ/BdCGKNXcXujVL1QLH5VLyghtStEeTROkZEC9th5FA==","signatures":[{"sig":"MEQCICAp6+pc7/b81s4oX30iZTZwz2xo3c2frbauPLsg0QJpAiASUwEn+zz9TWpu7nVyutZHrYD5OY15PgrJP9Z9x1k3fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4093994},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"02dc8c88363862c00012fd5dafd72459634e82c8","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.5","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.5_1760402965465_0.8415075606913325","host":"s3://npm-registry-packages-npm-production"}},"9.1.6":{"name":"@things-factory/kpi","version":"9.1.6","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.6","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"ed0f9c6e5938dc238311f53b12e8e6cfe85b154d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.6.tgz","fileCount":534,"integrity":"sha512-XG0bb9I+neyPMPb9KW71MeDQcaS0ZqVZ34dadT/sMAVYpEGbrnTtFDrOiBw9SQd9oWRhtcFuD6bNVXcmMtRNHg==","signatures":[{"sig":"MEYCIQCWUOJ8xf7F6RR8FJ6cgZl4jwDaupcHhct0OpzSUGPBFQIhAPODgk6nmBO9KFpxCgWiE6oSP2kx9Nqbkur0Y0ZvSHSn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4094780},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"03c122a22998d355eaf113ae8f6e02bc36235a1a","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.6","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.6_1760509134518_0.1914921830096814","host":"s3://npm-registry-packages-npm-production"}},"9.1.7":{"name":"@things-factory/kpi","version":"9.1.7","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.7","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"9582a70357f520cd74bcb75d47f5464179d27aee","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.7.tgz","fileCount":534,"integrity":"sha512-XEsFJOIXbwJ2t4yHGCqA4IRP54VuZdEXSPiqLgBzyPeCbBipvdMlZ/y23taA0OVQW9Q8BTGX65lrWwJPhlQh4w==","signatures":[{"sig":"MEYCIQDhugjXXfrHHVLhX2MfYtypVpPo1q3iYX0uwQTIFSafqgIhAIOtqAeuomdjrtFIUDu5BKdJQGrBlcFMabkJ2V4MeQx4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4094780},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f2b73459c2995ec388aa92b278e0e3a56dfdb976","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.7","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.7_1760966152352_0.1458011920252993","host":"s3://npm-registry-packages-npm-production"}},"9.1.8":{"name":"@things-factory/kpi","version":"9.1.8","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.8","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"198ef96e866dd8e6104c8edd6333e53b3ecff09c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.8.tgz","fileCount":534,"integrity":"sha512-E3TvJ3bXUPZZuEZx3oY7NW3xsz7KNxSupOM2lKs0erLYvO7ZzQ4hxZdxoua/pVVnJopAQ3FJldJsEqYFuIkQmw==","signatures":[{"sig":"MEYCIQDNSeycVTt+EU5ikC31xuw2VhMUZr5hGedyYPAmbYrVOQIhAK/VLBhkdlCvDiSaiZkrfZ86QQ3h03rZdb6OGW8N+NlO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4094780},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f57b6d95e097f5ba9d2dc653390f869a10243a89","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.0","@things-factory/dataset":"^9.1.8","@things-factory/auth-base":"^9.1.0","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.8_1761024192128_0.560978835788605","host":"s3://npm-registry-packages-npm-production"}},"9.1.12":{"name":"@things-factory/kpi","version":"9.1.12","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.12","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"1b8b04874ce55c802f0a893ca3bde2fbbdd282fc","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.12.tgz","fileCount":534,"integrity":"sha512-Zcurvymt1ymJFBc1OZ4jsbSFhn4ZJ7olx7YGYiYDZ8yZ4AZKNKkNi5cqirfKkE5i16csHriaGFHdis9qj4Mj2A==","signatures":[{"sig":"MEYCIQDWfA4KRkWRU4/rgX4FoLrloSdiEKOnepsg8vJ2OjSXKwIhAKkPxXrPYYhK0OHGD0YQ2YM36N5ghi/eUIXJ3isc/it9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4097665},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"edb585d95b098908ec08e9dd255cf884b448df70","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.11","@things-factory/dataset":"^9.1.12","@things-factory/auth-base":"^9.1.11","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.12_1761095912095_0.6753568963819958","host":"s3://npm-registry-packages-npm-production"}},"9.1.13":{"name":"@things-factory/kpi","version":"9.1.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.13","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"ad589e109ea71cfab390637e104cec7d1e81b567","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.13.tgz","fileCount":534,"integrity":"sha512-FV82dAOIlxOjlJq4oScxXC0qq4p2hfEBfntpgqaKkqITJxc8j0OgppoSmrdepVO691bDx0BlqgMUeTMIL9tddA==","signatures":[{"sig":"MEUCIQDXG71bc/NX6VvxcDC9zDHL9aUrqycnG8BZRAvvKTA4VwIgSwZX0yesq9cDb5sUd+l6loZiWl0AD9TxagJVXJcNw/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4097665},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"a65dd907befaf3a422aa0250d6096b86d151d46e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.13","@things-factory/dataset":"^9.1.13","@things-factory/auth-base":"^9.1.13","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.13_1761097127974_0.39536927244946574","host":"s3://npm-registry-packages-npm-production"}},"9.1.14":{"name":"@things-factory/kpi","version":"9.1.14","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.14","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"5641500ce6adc059d5906698e29fb6f7f37f9c3d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.14.tgz","fileCount":534,"integrity":"sha512-+/R/d5tI2IKjtmBt/HgtUYPW61EuhK+t4p1WaMYmoZktskWfsQAg4V+VFZa3DuZNApN+YxKkgKjo20fB2rxBVw==","signatures":[{"sig":"MEUCID7zomrFbVq6Cvs6RYJ6BJevjGM+Aphvz53E2DpZHCsmAiEAwevM8iVflr9fi/TsUlwDed+nfb3SJ/xWs/00MNsRq1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4097665},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"e4cbd9b6ac2d9195009f3585e64a8e358acf8850","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.13","@things-factory/dataset":"^9.1.14","@things-factory/auth-base":"^9.1.13","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.14_1761121632713_0.813444941896089","host":"s3://npm-registry-packages-npm-production"}},"9.1.15":{"name":"@things-factory/kpi","version":"9.1.15","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.15","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"9fff9d5dd39031295016a8aad6cd34f7e20b91b7","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.15.tgz","fileCount":534,"integrity":"sha512-MlX40yOqjT5n3c8iX0Juwt4qm9H3fFmsKFRV2Q88/sFmLP+eD4kK6cUdCuOvJQqoSl6+bH7/hNdirvdiLpmOTA==","signatures":[{"sig":"MEQCIE3qz7VGuBusNVpsnassSnrVPQkA3TAsTl6dt+TKKBGWAiB4/i08w4jSn+fmmtJTYezeJie8zZinGhcYDufPBulSPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4097665},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"872e884c6c9d9702b7adfef5f2aa5dc5c8108d13","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.13","@things-factory/dataset":"^9.1.15","@things-factory/auth-base":"^9.1.13","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.15_1761184456773_0.3293325695601015","host":"s3://npm-registry-packages-npm-production"}},"9.1.16":{"name":"@things-factory/kpi","version":"9.1.16","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.16","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"414e848161ec4e27083f9087437baa96c8cc87c4","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.16.tgz","fileCount":534,"integrity":"sha512-/EVNDNqWRsiBkMVdRmVZgmEryGlxdul2KD9ULAc/JmB01kPCIo9XResDAMiH8QoP4hS/xxHjBz7QG9Jn0cv7YA==","signatures":[{"sig":"MEQCIFCxf8jiaJx3I80rMcMXIiZyrhOqBUVmIJJiQ/ZTnAyOAiBxiy+qBMLTdfJLXZYHstQ7uwHaEtgy1b9ZZ6/dg4R8AQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4097665},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"44974ae42f3592af8c017ec547d8aff29d8adf5e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.13","@things-factory/dataset":"^9.1.16","@things-factory/auth-base":"^9.1.13","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.16_1761196318045_0.518723642648294","host":"s3://npm-registry-packages-npm-production"}},"9.1.17":{"name":"@things-factory/kpi","version":"9.1.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.17","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"abddd95b8f54245aeff8aa137c49c4b75a55faeb","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.17.tgz","fileCount":534,"integrity":"sha512-kcmnneih1pQ6zeDjQqF+6iflgp0HPL/yOQKaPMd/6ur3GQfHfGUDLtyIHYywzx5mGSVfZMxoXwCeY6oAnj/GOA==","signatures":[{"sig":"MEYCIQDURs9a7UxBgzsRHDiertXiy3CMQR5gO70nZjKgA94VTQIhAPoaq7y4ygBeNnXBf9Zhn4jqRZZHz0tzUFUpYCUQRkXQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4097665},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"093224d91a7eca0ae0fc58cbbdbd3ec2de03c585","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.13","@things-factory/dataset":"^9.1.17","@things-factory/auth-base":"^9.1.13","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.17_1761269529030_0.10631753034120228","host":"s3://npm-registry-packages-npm-production"}},"9.1.18":{"name":"@things-factory/kpi","version":"9.1.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.18","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"3d5cd20d8207843ff9b9af0101eef3ce2e95cf48","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.18.tgz","fileCount":534,"integrity":"sha512-0hPoc6eOn9z3oCj7qtsDbx74IxzdOHCOYhYz6+sgXRR8oifELBOOBn+hOkn6JYPW60/GHGSa4R0HUydlxVy4Xw==","signatures":[{"sig":"MEYCIQDI4X07CxsSPqdv085qT0c5HoMuEDmIGIWemlOVmHtfQAIhAJt3FKrMBJLgxw6m6wVt9CrPbKYzFzL5zwiL08s50OI6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4098071},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b3518bba09ed192cdbf4892cd9e0b388ed56a4c0","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v20.18.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.13","@things-factory/dataset":"^9.1.18","@things-factory/auth-base":"^9.1.13","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.18_1761633126541_0.4812741839139567","host":"s3://npm-registry-packages-npm-production"}},"9.1.19":{"name":"@things-factory/kpi","version":"9.1.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.1.19","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"chris_lim7150","email":"chrislim@hatiolab.com"},{"name":"joekin","email":"joekin95@gmail.com"},{"name":"jinwon","email":"jwchoib8@daum.net"},{"name":"jinwon_in_hatio","email":"jinwon@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"}],"dist":{"shasum":"8e282766e948edc66a3c7e8926f10eae61313315","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.1.19.tgz","fileCount":534,"integrity":"sha512-fEU6BhPQGAAqn1D16yXMcY0Nt0pq14DnCOZG4Z58Onnxu7XdTj6avcTUZNq9ZSHVVAyLLV1yxVmqDXAGrNrOiQ==","signatures":[{"sig":"MEYCIQD2uw4Z5MX0abRQ8LJ4+M1XTmUHkLQ9HTqrPBSAstI9bAIhANbdixp9IBXeNG5eQ48Ty1W3dadc2q3aJ/BegDTljZ08","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4094365},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"078438034dbe19915108e89ff24024f7044a85a9","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.1.19","@things-factory/dataset":"^9.1.19","@things-factory/auth-base":"^9.1.19","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.1.19_1764070559928_0.6853049395634967","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.1":{"name":"@things-factory/kpi","version":"10.0.0-beta.1","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.1","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"1464ac32d59748083c7a330d09501638091efb87","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.1.tgz","fileCount":438,"integrity":"sha512-93KZY8cxJkw3s2nKRuDyqN04GlpqLTs78cf1zlTl4Q0neBvQoQH6ZkZ+gN3ejHwjPzbP08b7kJJBIC6AK1WWtA==","signatures":[{"sig":"MEUCIBxfbzzTPjej1UmCVcOzf/KrgKjJf4XD/FPe78Ix5W1XAiEA1JmTg9mlFcgmNEOjH8kkZdY7/dlWMAFsq4YMtXZQY1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489492},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"90f40bf160fa25edf4560d7893cfd576cf474411","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.1","@things-factory/dataset":"^10.0.0-beta.1","@things-factory/auth-base":"^10.0.0-beta.1","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.1_1772637502504_0.23802179551159686","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.2":{"name":"@things-factory/kpi","version":"10.0.0-beta.2","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.2","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a0a4f82e20db5f46930706fbb4c63f23d3981805","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.2.tgz","fileCount":438,"integrity":"sha512-7VMqEKd1D+HSrDpURFe06/iVt6RsTWvai/+Tpt3Z+ZRRmT/l2eRigSWKlTeFqNDx5PmnDv2Pd54/nTihZVEBbQ==","signatures":[{"sig":"MEUCIA6g9UOZECTGabTZC3L1mystm/mcpXat5XdFuZaTBgCjAiEAquK2aOlDZW9gm9OsSLFzmvpwuFOV8Ku+XawA1+Sjkg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489492},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"ea8a08ff802ae28a37fdda605b6356482e7a6faf","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.2","@things-factory/dataset":"^10.0.0-beta.2","@things-factory/auth-base":"^10.0.0-beta.2","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.2_1772675112977_0.5432475143628599","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.3":{"name":"@things-factory/kpi","version":"10.0.0-beta.3","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.3","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4a51da6f89ab501285f375d0fc40a8cf2c590227","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.3.tgz","fileCount":438,"integrity":"sha512-VMgokkCpZBBcjnipgjrR33I4Hd47OOp65vu6BTAO7SK/gRJn7WQFr5Tsd31yuFvvfkIiP/JGrF+qHxFO148Q/Q==","signatures":[{"sig":"MEYCIQDsp6xOgRIBY7TcjxZv9lGF/nYB2o2l5Fiazix/DxUyWQIhANed+WWxx7XrsOakkFKGP9WKvAP4wOHx6ndgM4CZ9DwL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489492},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7a7c8dcc00bf9f3e862b3211d19734899e2dbb92","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.3","@things-factory/dataset":"^10.0.0-beta.3","@things-factory/auth-base":"^10.0.0-beta.3","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.3_1772710193222_0.8220160698835135","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.4":{"name":"@things-factory/kpi","version":"10.0.0-beta.4","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.4","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"3f186f4bdc228503478b52a38df03bc4e5ce85ec","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.4.tgz","fileCount":438,"integrity":"sha512-yHJwRN8RT/ChxNH0nS581/kl6SH/O7vikW8oZNl9gAH8gq7oSRI07xieV4k+Uct2/gTJ40BPaKq6ly8wJl8pAQ==","signatures":[{"sig":"MEUCIQDFLyn/b9K7wrMmiXCUltr4yNbIMj3zUnJHkkzT3NB+0wIgC8jmOxH7PHIqA2bpoh9UepEyLO+nWGhx1+5I6ivstfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489492},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2fdd577f6b14d7f493783c1167c88c7977e9a1b0","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.4","@things-factory/dataset":"^10.0.0-beta.4","@things-factory/auth-base":"^10.0.0-beta.4","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.4_1772711416907_0.07829420309548274","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.5":{"name":"@things-factory/kpi","version":"10.0.0-beta.5","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.5","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a5ce9305ffea3f88ee7e75d1bc44f114d50ae1ed","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.5.tgz","fileCount":438,"integrity":"sha512-4p9G4A2578oi15pjq5sR1IoPFa6e+Jb087GUbko4uUeRJw2XUVKbeepe9utVw+SThV0tvnGoSuMcY7cYWMIKAQ==","signatures":[{"sig":"MEUCIQCXTBnT734uq3CDQjxe49HQeCRZiFb4NfS7Xun6JNqkrQIgDGQkH5tReJsbmYlpLqoK/iU8dtyhNUz5DwpOxhkPJDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489492},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"70fa39267e0fe82bbd73c280d2eb2e1ce990e4f8","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.5","@things-factory/dataset":"^10.0.0-beta.5","@things-factory/auth-base":"^10.0.0-beta.5","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.5_1772730682691_0.4946016344312947","host":"s3://npm-registry-packages-npm-production"}},"9.2.5":{"name":"@things-factory/kpi","version":"9.2.5","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.5","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"6b6513c34014531104093774903b367d5423c136","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.5.tgz","fileCount":534,"integrity":"sha512-wADLOtsdqHXU4uYUbGJbeo03qSBHJin50eEtTmKVIbjVRqMEdbZn5zaQsMlteHVuh+O/sLAtIiOI4GPgRXHzrw==","signatures":[{"sig":"MEQCIDpugnXDAh2MGyDFrSoHSiO9PxbfOc0o6xgS17Iq0Cp3AiAG1qKg6MRbkRN0nwIxrVi66jlNmcwTttlJdDlTinRxwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123151},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d3622f475ae3bab84322d31b064cc4cda20f7062","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.5","@things-factory/dataset":"^9.2.5","@things-factory/auth-base":"^9.2.5","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.5_1772767109364_0.9132246377741358","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.6":{"name":"@things-factory/kpi","version":"10.0.0-beta.6","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.6","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"5e0bb460073597e60333104e7540d6d42998e36f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.6.tgz","fileCount":438,"integrity":"sha512-2ccRQQhQldTLy+dWG1B5qGxAIifNhXFafil6t3k1JqVGdmYM6ZrmECoW2YJxPZN3w+NuWUZawI+/PYKo7MfexA==","signatures":[{"sig":"MEUCIDuIeMgx6zQbWNQNZguNtYELDtzX5NaeZCvNaVgjW2oQAiEAhP1x9IZcU3djiEko8n7lua10d5Lnf4PqLaEpXbMNBsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489844},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f8ec36e3a3ba4c0a1ebf6def7a9f379de1a49111","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.6","@things-factory/dataset":"^10.0.0-beta.6","@things-factory/auth-base":"^10.0.0-beta.6","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.6_1772806841289_0.9519791046140571","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.7":{"name":"@things-factory/kpi","version":"10.0.0-beta.7","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.7","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"771c1a9b13c3a9e8559b847e951f338e248efe8c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.7.tgz","fileCount":438,"integrity":"sha512-1LWEweYe1gnoRWyClxJY4Pmi7sA3Y9LvVY9yH8b1ExYdzSArdexxSJ462KHb7eu4vxqRjGEfNlIzbHd6sluA0w==","signatures":[{"sig":"MEQCIELYiulgOpSJMTpZjsskS3Z3RLKWDcZbnOG6OsEgnskZAiBsCcSTL5NGpqK64llVuSUEbaO5VV4iOaOlnxYVanGSQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489844},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"03d1f2dd440a30cc1af2d5908ac33533e94c2f4d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.7","@things-factory/dataset":"^10.0.0-beta.7","@things-factory/auth-base":"^10.0.0-beta.7","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.7_1772874768982_0.8962523938819924","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.8":{"name":"@things-factory/kpi","version":"10.0.0-beta.8","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.8","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"117aeca47b21904a1f6f2d9c592764be05a36892","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.8.tgz","fileCount":438,"integrity":"sha512-SbzD/iV3Z+pgNoBESEmhf/eEYyljI5vymyfH85EqDtGKYIzdInyaiVBtvzWe171O1lPfN67n0QELewBbKVjBPw==","signatures":[{"sig":"MEYCIQCMXI//xcFhP/tUUMD13DKjYlC7N4XlUUUKctEmWGJZQQIhAIHJ/Ty52i9X6Y+YI3QbXGNVDCMuFqOkhCAV+Pa3aeeA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489844},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6e394d3533a03384cbdbd8c43a277a1dfba815ac","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.8","@things-factory/dataset":"^10.0.0-beta.8","@things-factory/auth-base":"^10.0.0-beta.8","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.8_1772894895340_0.8659423991215855","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.9":{"name":"@things-factory/kpi","version":"10.0.0-beta.9","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.9","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"6f834c9ce526634f3886e87a95c2a3677b54cfd9","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.9.tgz","fileCount":438,"integrity":"sha512-6XBU7qRZ2xUUaOKfJ7Pv43ZjkNSQXnJc/SODXDBM/H/J1nJ6hOghj78TnSx/fbbOswJpALKzYcsscQtwYub8dQ==","signatures":[{"sig":"MEUCIGWyhzVUD/821WPCEGU4eyWDOm4w4qfS4q3eNQK+4ilvAiEA/Surak4La/W7c2N0iJvrQiLNEcgGgQzotkxT0PM+hjA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489844},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8409deaf06590b656a85d40fc99b243fcaa44eda","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.8","@things-factory/dataset":"^10.0.0-beta.9","@things-factory/auth-base":"^10.0.0-beta.9","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.9_1772904544938_0.03696419911936211","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.10":{"name":"@things-factory/kpi","version":"10.0.0-beta.10","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.10","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"afb22a0138f25dfd360cd40f07b7bdb75069c1b3","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.10.tgz","fileCount":438,"integrity":"sha512-iME2whHXCvSBfGTekgnWmHzFM9kkFXGT+cXiR/nHqDWcuKQ3VDxTA2w0N8N2FVdK+6b1ZagKjkEqXmALuLT60Q==","signatures":[{"sig":"MEQCID9CGM04sAxoyhlYlI70u8OMbA1z4xnzkixOL2yCEZdsAiAy4FotjnQo01BkKkS2trkQ6KXXOAr2uf1XQ9ETMSKmqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489848},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"95acadd39e9a0ff3b2f34d9f7082142395903179","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.10","@things-factory/dataset":"^10.0.0-beta.10","@things-factory/auth-base":"^10.0.0-beta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.10_1772952032202_0.5323125473184442","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.11":{"name":"@things-factory/kpi","version":"10.0.0-beta.11","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.11","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4a5ccc43e8e081ee3c1f4cbd38eb72e50282860d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.11.tgz","fileCount":438,"integrity":"sha512-/C3nOd+iUocIWzJHumBg8nFtAgQMawIXtbaFzrgb4PD3NZXRtzPZ6r0m9CtaQXaCrFFuEK5NI1q8OjFDwxCilg==","signatures":[{"sig":"MEUCIQCbtxA/OSEq0QT52lYP6QRPjqPEByNFGXeAQTwTaLWXdAIgROa9UaJcXGGrIL4xQRq4XRm8FLaP7TPDIZw72FpN+GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489848},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"43bfc8103b44a8e8e78a9350a999e265c32e7f09","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.10","@things-factory/dataset":"^10.0.0-beta.11","@things-factory/auth-base":"^10.0.0-beta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.11_1772984331479_0.405225679688632","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.12":{"name":"@things-factory/kpi","version":"10.0.0-beta.12","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.12","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"58b78fafd8a7765c68359d977369bbd4a4ff27f0","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.12.tgz","fileCount":438,"integrity":"sha512-q8W5wnSPHCGxb+Aqhq+NGZwiNpIlrDD5ay+df4gymsXHifpYLiTrR2QZPq6azH9yJrZ51m8A3N7Wr6mevKjl4w==","signatures":[{"sig":"MEQCIF6OAB6Uddfujsruxmdyhhytid9N40Z2QRbbde7ymVlcAiBOLFsRcReDBTnxZT+4D48g2Gk3IEwCyeHbHIk2lNL6rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489848},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"13819908e7446358d746841bbb48ac747518d5a7","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.10","@things-factory/dataset":"^10.0.0-beta.12","@things-factory/auth-base":"^10.0.0-beta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.12_1773073011712_0.8424905965653167","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.13":{"name":"@things-factory/kpi","version":"10.0.0-beta.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.13","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"63f4656e5cfb7fb8987ba899e2aa62c88c7f506b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.13.tgz","fileCount":438,"integrity":"sha512-IZDG0xw9nnets5uGX0Tv65UuEaoDhi0L75c1taURstHEzMZTbkKj2laGQvsZykx1N/UNwHNdvlsbB4LnYyEbbQ==","signatures":[{"sig":"MEUCIDVnLXEGhZ9eRtVfdtc6FceVswUTmMI5sMTcqHhEOLZqAiEA+LZqEJ19YOeCPH9RXI2VWhHqlK5li8jSA9JiWeKo2h8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489848},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"bf99a51170904b55dbc4a3339a68d5d868c7c68d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.10","@things-factory/dataset":"^10.0.0-beta.13","@things-factory/auth-base":"^10.0.0-beta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.13_1773078045239_0.13329322113173192","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.16":{"name":"@things-factory/kpi","version":"10.0.0-beta.16","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.16","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"ef7bf514e7c658513eb864b12deb03e5f0984f63","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.16.tgz","fileCount":438,"integrity":"sha512-N9fLJ7j6sZH+kW43m7Ep4yyKh0yl2aJ5F4ocnyZDTIdjqPl+RE5ZxalZ2XUNn/Ll5MUUAOjP3vtBOy0w2v5emQ==","signatures":[{"sig":"MEQCIDbbPV705Zom9MJo/QwwVwVUS52YpeMGX6fjkhe51ZdTAiBpaSgRUZSJovC362h6LO/f/WyvVSnlR8IXvGKdZy1kPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3493881},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"a7fb713c5c925ba6b51b512ae2fa6ee5455be84f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.16","@things-factory/dataset":"^10.0.0-beta.16","@things-factory/auth-base":"^10.0.0-beta.16","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.16_1773129168014_0.9821885670836032","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.17":{"name":"@things-factory/kpi","version":"10.0.0-beta.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.17","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"01a0dfe233cbcd96ad73c4abca0827eeaf548bf2","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.17.tgz","fileCount":438,"integrity":"sha512-HG7X1ypJc/OSng4lOQfR6S3l6KRsB8JLs/zmvtLj+CiyPpptPNAmNLc8K9X5SgGdIoGVBbcdBrbZnICMzGrvbw==","signatures":[{"sig":"MEYCIQCO+7U+di18v91BjauhStNM5ieXGJ/uDZlIr4+RLLPHawIhAP4enp9Pf48bQj+p26yyTjMbIYwG6oRx1sB4DWz4mS3l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d7c4bdef6d145175e4b083f9c74310fa4306207d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.16","@things-factory/dataset":"^10.0.0-beta.17","@things-factory/auth-base":"^10.0.0-beta.16","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.17_1773430366610_0.11706697750500217","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.18":{"name":"@things-factory/kpi","version":"10.0.0-beta.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.18","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4bd4b62475e5ec18af4d8f9254076c9a706c8baf","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.18.tgz","fileCount":438,"integrity":"sha512-gvFOY3RM8RGd1DvEF9FJRhl95wpmddLTsheOkenv41BMZVG1pkn2Qm6hvqST8cUb1/znhefJhI1yXpVxlvEkCg==","signatures":[{"sig":"MEUCICwKXXMhUtBWYiRLi6bdiVj5CQtFbxcHW83VRKVRE3YQAiEAzDfy9TzmYnVjeXjtDfpB5K+L7czQ3A/pXENN6ZNzhM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"26b7f26acb889d6eb3e2ebde28faafd31b4f1ed1","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.16","@things-factory/dataset":"^10.0.0-beta.18","@things-factory/auth-base":"^10.0.0-beta.16","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.18_1773471109832_0.43603511672028805","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.19":{"name":"@things-factory/kpi","version":"10.0.0-beta.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.19","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"06081ba32b00299b2d5a7d7bac2f41fe83fc74e6","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.19.tgz","fileCount":438,"integrity":"sha512-MR9KKgQ8sjSIozbxUH/HQLijFVCaosqsRsI+FnSnuPmsaDZklGt6eT8oe5/t5e27cq3oBLVP8jZjoQGp5yweSQ==","signatures":[{"sig":"MEUCIQDkId3bt9Jes9HpiWd9GA1gF+bvRAUANKbHgYyliLaWvQIgOTlvJfJPazCI3LZrLOVtDBPEdSvN8UhCcSkqGdJFUBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3bc8a6746ed9cd0bb4a451b1e4b8bd9556785253","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.19","@things-factory/dataset":"^10.0.0-beta.19","@things-factory/auth-base":"^10.0.0-beta.19","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.19_1773600779388_0.6661437431423209","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.21":{"name":"@things-factory/kpi","version":"10.0.0-beta.21","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.21","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"30ea7302209a7cb739ec5d4c74ad5dea6c90df12","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.21.tgz","fileCount":438,"integrity":"sha512-rnb4P5nhbUdsXzyu6avieZkxHHWrR9Z8inGSsvPlAhkY4gKbIqfTRHsdixRO10Dnye678iiCmijUUhPv3PuPCg==","signatures":[{"sig":"MEYCIQDa8tzHAWjRSDNRLybe3wDpFhLJ0pS47w1Ah0agiG4iQgIhAPD2+Tl8LZxSbEROiKWHksAu0cMPKbE2JlNhxmjet/G4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6e2e1c7203ad4594900bc3ef621ca8476f9ff87f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.19","@things-factory/dataset":"^10.0.0-beta.21","@things-factory/auth-base":"^10.0.0-beta.21","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.21_1773772726675_0.16719806009246097","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.22":{"name":"@things-factory/kpi","version":"10.0.0-beta.22","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.22","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"5856dc7ce62717d681458ab7903969dab68a0d04","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.22.tgz","fileCount":438,"integrity":"sha512-GF0LBSnhVbpLSU4xiobPNQcHVL8q8GZwkYXTXyqQcoN0eTq7tYNG3byluKRftynkdSyWV7dldF+n0Qf/d2OFng==","signatures":[{"sig":"MEUCIBomzj4kwzutZ+DEnorXPC1oNrCzWah38w98hYXnZSPmAiEApsmmg/dV2/vBKxfSZbhfoI4dEF8yfT34heqzTiOcwgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3f2b792184ef7cfb2b4df88fb2129ca7c52f5a8c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.19","@things-factory/dataset":"^10.0.0-beta.22","@things-factory/auth-base":"^10.0.0-beta.21","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.22_1773900554304_0.0900953696741198","host":"s3://npm-registry-packages-npm-production"}},"9.2.13":{"name":"@things-factory/kpi","version":"9.2.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.13","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"084c022c5e6873237ec5b74b9568bc0ca7ebdc55","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.13.tgz","fileCount":534,"integrity":"sha512-9u4bsq+KKK751sgFxbx+OUmvqxCx+z8aW9KSFhrixuPgTqdwYaZ6fPqBQAiYcHa8GneA9bc7Ei3HmtW1Zko8/g==","signatures":[{"sig":"MEQCIHM8pTZK5/JBWM3TgA/KKTFV9PX+zFK+LaycGr+P0wy1AiAAvffqeegINCQx0JQzy5r8sajhKuE9myl1rAjc4wWVfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123521},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d65748803a86a1fb6c9810ea4f93519c6f44f6d5","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.13","@things-factory/dataset":"^9.2.13","@things-factory/auth-base":"^9.2.13","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.13_1773910820109_0.16603243180490135","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.26":{"name":"@things-factory/kpi","version":"10.0.0-beta.26","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.26","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"374247c2c274ce7fd32d4f404b8f0aa3c8864f1d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.26.tgz","fileCount":438,"integrity":"sha512-oonJt9F1XWYXoLP/onAiVQONW69fCQfserc2MnyJak1fhMGkBuTgs0M9b6i1795UZ2Reuin2B+TVVKa1kaJmng==","signatures":[{"sig":"MEUCIQDWqkbvuehojkbSIJQ4GyjSfaPc11DKRjPZB0CjxfQ1XQIgeB++X3s+Bf5XLUgyw2BR/CltzymkHhAt260BVWtxSrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"70e6db3c306d0df887369c3ba4a4f718ab6dd502","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.19","@things-factory/dataset":"^10.0.0-beta.26","@things-factory/auth-base":"^10.0.0-beta.21","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.26_1774033706784_0.4791331687771838","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.27":{"name":"@things-factory/kpi","version":"10.0.0-beta.27","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.27","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"993995276dc2ff32fbd13847e1fbe25b1be33902","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.27.tgz","fileCount":438,"integrity":"sha512-u8jQ+Gk0BBTRS9rrImxMKqlonwLy6NwcCwxviTCIu3aoZB7PXjzTHXjm/sRctADzsbrAhlTgsBetuoL6j06iCw==","signatures":[{"sig":"MEUCIHlyi2gm3V2Im4lScnNYRRNVZkEALbH1qsT8b4YBrTRgAiEA5/GkCpRl6S3uj3Ti9oyGhJlwmxpmF9tk5mQ2ZNflw1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"418a986008c7f181f9840d6cfb0fdd0f155e1b12","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.19","@things-factory/dataset":"^10.0.0-beta.27","@things-factory/auth-base":"^10.0.0-beta.21","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.27_1774179540614_0.7666525386295726","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.28":{"name":"@things-factory/kpi","version":"10.0.0-beta.28","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.28","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"5cbf82b144ab608cb5b1bc5bb78ee9444505b802","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.28.tgz","fileCount":438,"integrity":"sha512-hVXZM4v3DLV0bjPCkgCD5hVwoml26NlhYZrkjH6ZF2Y8M0OJcO2awxypPAtHFJ94JfOwprhRLludJVym8aN93Q==","signatures":[{"sig":"MEYCIQDJNXfg2AZAwGFpTZJ8qLoAtdHn7HJHZhrcyA9J5pK3GgIhAMHB5DUjOrw2n8MqmMw29iH4pT3QcIsDQMHQLkK5C1FH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6b8d246c0250fe1ffbdb0baf317ad78086fb09ac","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.28","@things-factory/auth-base":"^10.0.0-beta.28","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.28_1774198704717_0.027418945080826873","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.29":{"name":"@things-factory/kpi","version":"10.0.0-beta.29","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.29","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"6c61d8cf3277c4e611ed4f91264d95dae3b4f6be","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.29.tgz","fileCount":438,"integrity":"sha512-uaDU/ne1/sD0Tj4pooiKwmAyAcCwY7UkLZo6MVCC9cmnWf3gxd8ikd6YCErPp3ECemuceBE2GPFCtg9iyzh2/w==","signatures":[{"sig":"MEUCIQC0Zk8Va8RCLcW5yHi62PkwJQtDmseuM3SdxqnxDjRKIgIgE5vAvlSnhWCUXFbsbnRjI+Zc6JJySFNCes9nSUYt1Bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"086abaa2cd4f00962b014253e92b25d1c95badff","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.29","@things-factory/auth-base":"^10.0.0-beta.28","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.29_1774278679941_0.39825829729681317","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.30":{"name":"@things-factory/kpi","version":"10.0.0-beta.30","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.30","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"07660585a067602e4b858859a46db1f9f2a36844","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.30.tgz","fileCount":438,"integrity":"sha512-ADDfE6llKkGZt2XgWnSNNdiqpWA3PfBaKNYdr0DQGLJDQCwHlTWHuB9TNBM4ceI3OcmgOvVktLSWr2JgMnMw/g==","signatures":[{"sig":"MEYCIQDPbD8k/MeG0G/lh2Y2UkGW3Odn2wog7fvAolBBHK8/JQIhANpZ6N8FlLRQrDmyM0e+8u0rGKrhQP6CtptC46mObVve","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0fb5de4a74cb4c289e7479cec0cd2f567e0c9ef1","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.30","@things-factory/auth-base":"^10.0.0-beta.28","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.30_1774282469494_0.3690471156099182","host":"s3://npm-registry-packages-npm-production"}},"9.2.16":{"name":"@things-factory/kpi","version":"9.2.16","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.16","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"5505dab68fe637af0fc63d787e5d6d20abdea228","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.16.tgz","fileCount":534,"integrity":"sha512-FVT6CaaqdOgo40duK1lIkOctvV83Pkv/7cr7o4mGQXCzEgZd5clWwKhKzVyC2CBfjGQUTU3gKEzsYcrIgDkVrg==","signatures":[{"sig":"MEQCIAg+iLh41Ih2O7sxxV3w0Ngsa96ay2rmZUfy9OA8Syn3AiBcf1BxF/77AMONGFx9Y34sawVsJ6Sn6WycMUrGUXCLqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123521},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"31eaa5c8d919b102979c66d8f9e163ded200df07","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.16","@things-factory/auth-base":"^9.2.16","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.16_1774430472835_0.22855600888906258","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.31":{"name":"@things-factory/kpi","version":"10.0.0-beta.31","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.31","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"04f24fab86be197f9cf92339ec6ab5003c20b387","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.31.tgz","fileCount":438,"integrity":"sha512-qiOPBQh/11PTOzh+anvR+8nh8s3tNh/8qBaKzuts1iq5AcjZlkyyRgFNxruc2Rm4R51XZdsc6k5Wi99ntA8DkQ==","signatures":[{"sig":"MEUCIBPromHoCfciq5Gkav0u1xT9YaBMFdiluyHb+qgmcmr3AiEA+RiuG4rPVGtRZ+q0fjX4RkrXhUQtjT9tvoyOHfO5CGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3f584d892cfa01731b8051a33ea32ffeff0bc3b5","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.31","@things-factory/auth-base":"^10.0.0-beta.28","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.31_1774783627003_0.9666685913158215","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.32":{"name":"@things-factory/kpi","version":"10.0.0-beta.32","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.32","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"91cbc4cbebee7f39b8edd8f7caa02b3f8cff9428","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.32.tgz","fileCount":438,"integrity":"sha512-0VNQfXjLPJYRDKkn+kuv3TnkFMJ/NdaBmTQ/2gCcbOngRr87QeaI9XHjMtuDxnt/S++nNFnjWlwIKnIO1yM+mg==","signatures":[{"sig":"MEYCIQC8DlYCIL+BMm9ZVyipnJy3Z+3f/XcaczhHnnR0nN9/6wIhAPwHsFh1aV4ObvyN9Mkqj6IM1yVBua0U3SJuTY0sE9Fr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3d4725837d636aff6135feba88627f2dc503b69f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.32","@things-factory/auth-base":"^10.0.0-beta.28","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.32_1774879536889_0.8970582420098558","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.33":{"name":"@things-factory/kpi","version":"10.0.0-beta.33","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.33","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"1eaa50576b0c3473de270f77514d60f9523c7e31","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.33.tgz","fileCount":438,"integrity":"sha512-SeufNIp9yWQ9H/yusY9Ew8aBO9oYstgBDObmyo7SmXSd/vl11Ye5RCvOMsPUubePgC1/KAPGoaZYqTWSTA3o2Q==","signatures":[{"sig":"MEQCIARjQLlPSKiLY0kkdE57cBDci1YM5ehREaM/7w+kzmaPAiAhHtnHKiqysJD+B53lLpIKpMwr7K/lNN5IVrWWajjVMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6f196554c7e530682597488f25139e648748ba10","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.33","@things-factory/auth-base":"^10.0.0-beta.28","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.33_1774884270053_0.5446028793822839","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.34":{"name":"@things-factory/kpi","version":"10.0.0-beta.34","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.34","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4a40f8f04064b74c538039947a5423a936ec48b3","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.34.tgz","fileCount":438,"integrity":"sha512-Cz8wLwJfAqN3J9kmAy3WqxI0CGikT4CzyKBEUfb6bSg0087t11KF8ZXplE3TjCBG2xsl0pwhYGiMEWf1nXlqbA==","signatures":[{"sig":"MEUCIQDwf9ypIaYBcZOGyJMDqGoxtEqwG5C9TaZaFuizYAyAiQIgA/3qgp2K3a5zMVRilplTa8/7UXk4nSBwMNeVjSf3zzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"973d890272038e15eadd7754e0d0c3fb5898dd81","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.34","@things-factory/auth-base":"^10.0.0-beta.28","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.34_1774975899006_0.469584671745362","host":"s3://npm-registry-packages-npm-production"}},"9.2.17":{"name":"@things-factory/kpi","version":"9.2.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.17","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"545313adfdbdac95c8e3d030d82477a4d672abcf","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.17.tgz","fileCount":534,"integrity":"sha512-mYKyBWNGCrPn4YWx/igaDrO1/rUYyjDtkNOgqDkhvG7ab/V+tOZeUNcp8DzDKvri9CwUVuj14LIvUNh8CrzqwQ==","signatures":[{"sig":"MEQCIEQhAsE3ls/eNUGKlm5JWWVcGSkJAZUep5JLb5cQDGHNAiB5eIuDAgtiaotTW4JgZWDLyjAiwOi0xCpS76kVjpLbeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123521},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"1b5f7bc7d9781c11d2f59bd3483305a6969b35ee","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.17","@things-factory/auth-base":"^9.2.17","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.17_1775012033671_0.3967454335414917","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.35":{"name":"@things-factory/kpi","version":"10.0.0-beta.35","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.35","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"1cae9f5d2fb0b7ad034fd2a2c3a4c69597858af3","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.35.tgz","fileCount":438,"integrity":"sha512-8ZbiDZzkkUjrzolOpPhcT3aON4li8wp6mAF7ZhNwNf17AdV3jZGbjV9gQdTj6VsnVyiJ7xtKzT3lCy8Fxe3QWw==","signatures":[{"sig":"MEUCIHZTUCgLjzm/AMj0hLWQcXMu1Qx+xS3CyLKDRzpD8ZWbAiEA8ByamQhI7cNn90V0iIzZcB4W4ir6ndWGQwKWpwN1p5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3494247},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"31d322a30665d662e4900d56507fefa851fda2eb","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.35","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.35_1775056833620_0.4974236915563164","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.36":{"name":"@things-factory/kpi","version":"10.0.0-beta.36","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.36","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"7e799a4ac9f797283941358a34a970b6ea0f4109","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.36.tgz","fileCount":438,"integrity":"sha512-DVxN5hsNzgo98fHxI0e/Xhgb/M1ri4wHlRRs8DMGPC41dpOxLOSem2zTCTrI79OKodImWMySXEkBZqEIp4d7QQ==","signatures":[{"sig":"MEUCIQCeqbpyFVvsoJNwqTu0lZBkkAL5NqCJKaTrXI2lF8l41QIgLzrRGZSnMdOIFL/dxMNiO0gjkQLn3JQYg44naoNKZ7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3506620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"dd9986d99a8f2a1ff62f799bf1e2628ec1e5fd4b","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.35","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.36_1775113886923_0.7679905879212392","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.37":{"name":"@things-factory/kpi","version":"10.0.0-beta.37","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.37","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"21d7ef103592a44a51c13ff06933cd3afebef587","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.37.tgz","fileCount":438,"integrity":"sha512-My5SKvSlu/LYxmg9Vo1d3CaDfpcxwPzF5ue8igf17l7rm0lb16314W5Jk3q1Gm3xy254Zuz5kxikvGPGdx+J0Q==","signatures":[{"sig":"MEUCIB1RGEbo27CWDw2iNBE18PpDNxeaU3e639y1Y/FEEpwOAiEA+r8qPosaIoncEUXr+ITHQYBv0jWFHwSbYx6VFD8vG20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3506620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"107b78129edbfeb0a81f2014086a34e6f03a9e28","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.37","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.37_1775142899468_0.2284170810973538","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.38":{"name":"@things-factory/kpi","version":"10.0.0-beta.38","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.38","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"d2b2f73706e2f3449d7ac64c8bbe7714e0cd7193","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.38.tgz","fileCount":438,"integrity":"sha512-fyXjNOm23lDFHf4udoAH64Y30JxIlK/IskaTLbzcXm1EMaIdNiqQhxSpG27N6D3Z+d5FEdUmKvIqGMnMqCccUQ==","signatures":[{"sig":"MEQCIFXdotnoUL9iiyo2ds4s+IHjdOXlNQ+t6Plr4Lv+ywxqAiBkJDzs/OGcKtCHPezaUSMb84G6YWdgvtIKMeKDL0njSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3506620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c911657c6a536c4f36e8cacb6224da3627187035","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.38","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.38_1775459919185_0.7306396694616588","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.39":{"name":"@things-factory/kpi","version":"10.0.0-beta.39","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.39","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a5d098d13d765a1ca74875468328be737d7e4610","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.39.tgz","fileCount":438,"integrity":"sha512-0AnQtqQArdVRX+RfHzlbNCJ/I0kks2z7iwAKuWgQrzH2+KjyY5xEh2pyZgET6p1EQ7R5dWOhoUacs3fgMyUTJA==","signatures":[{"sig":"MEUCIFFtT+iuxxl9ibjJmw5uYxMZkNzORJowf5RY/ga+X6/YAiEAlf+4MWSUKVTgei2zU5S7qR4S9t0YiX6Cq4bAHi/b5Tw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3506620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3c00d368ea0c8b2090984ad4a4b390d91c40772c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.39","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.39_1775490735487_0.8459562564033496","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.40":{"name":"@things-factory/kpi","version":"10.0.0-beta.40","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.40","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a00036ff0d10e8ee95d35b5cde27c95e32f0c75a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.40.tgz","fileCount":438,"integrity":"sha512-CDtcGPrKBG92YhPOPhJha1xvEZ2B2gEK1E52GJnn635XaolkqbzbyUyVarEh9LBqNYGV4OjQQ6YHlB7mBOIauQ==","signatures":[{"sig":"MEUCIGiD6HKUbrivreK7xyJcmL9s5roiIZf763aCJ/90vtuNAiEA3YyEviIseblShjJ625IwNYt3ZAZNb5PUrM5W+LKkY/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3506620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6ab84f081a2bf7baab2fc26f25ae01ff0deabd2a","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.40","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.40_1775523149590_0.18452626466828526","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.41":{"name":"@things-factory/kpi","version":"10.0.0-beta.41","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.41","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"11aae2ba5deb2c1e572f71c6d7a9dda0d7383193","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.41.tgz","fileCount":438,"integrity":"sha512-a2LnJftO5Zoy498UxsUB6fBApX1vEJzCrdFhJz85yxTX3no5hwVMB4zMBuO7d19yLvtPrALlskL94/uqvTlRdA==","signatures":[{"sig":"MEQCIGaCPkNRG3ojp0oyyh/omXG45UYdio1K22PnJ9jcdhooAiAJnogu49TkBeoXzQWEqPtqaO1k3/zdJ0n7ZBGxtdDKuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3523506},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"632c7e4613afa62da98a89d680ee5a5cd65bb2bf","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.40","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.41_1775535736759_0.6431738297916776","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.42":{"name":"@things-factory/kpi","version":"10.0.0-beta.42","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.42","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e073e996d7b453202996d4119cfb50b4db74f59c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.42.tgz","fileCount":438,"integrity":"sha512-o2hwyE0ms/cKqR8Ds83oQoABH0ublbLQXOBxQziQlX1KhKXoJFEDbYWsRMW8IWazWTgcahAvuWQVaLYhwRGUoQ==","signatures":[{"sig":"MEQCIBGkqj2PJvSvi2SSODbeJDIZTyC7a+WkDZNXJ2mtwFC3AiAjM4I5B2wElsGQQbOzLYnhBL7t9v1JV1eadrsMxDZqbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"a567b971dd06f5d75c32e1ad4e5143cc7699723d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.40","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.42_1775612187775_0.7226281870101419","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.43":{"name":"@things-factory/kpi","version":"10.0.0-beta.43","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.43","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"956d00368dfe31b1ea37f10b021b000e337d6531","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.43.tgz","fileCount":438,"integrity":"sha512-eqFGc0RPkG3BcDSrNYARIoSUTxLwOsjmjB5JvjFhEUxrp0KYi5Yu/HTJ5wuKeKzvl2EAybjOiOM90S0rZVGa/w==","signatures":[{"sig":"MEYCIQDr8WkhajzoFQ7AFzHtcfE8pIO63dAvNekqDOaBB/6yAQIhAOcA0CI2enHKJepoQre7ldl+5ZEKzKCOQDrNwAD1OdsU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"87956b7124756f796949248bb2e6e8e99292e057","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.28","@things-factory/dataset":"^10.0.0-beta.43","@things-factory/auth-base":"^10.0.0-beta.35","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.43_1775750659389_0.2657661676177936","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.44":{"name":"@things-factory/kpi","version":"10.0.0-beta.44","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.44","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"34948091c344b4758dfe503c4afedd1dd00c1225","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.44.tgz","fileCount":438,"integrity":"sha512-9cacZrlRLd03m0iW4H9KFIH8gzfTDXLbpUAw7AXFrOrstjkSSblUR3qYx9nNcx7P7BQ1lZiwm+ynwdGtvycSCw==","signatures":[{"sig":"MEQCIB6mMyi4Z2d4F31Pdf9P4t0G0+AQYopz/Rb92d4kI43CAiAO8VeqevpgJjXcO0QweC/UKMwMoS4i+vxL1zGKecQe/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"46ca2449e22f5f845279e18490cf64a20a2d13c3","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.44","@things-factory/dataset":"^10.0.0-beta.44","@things-factory/auth-base":"^10.0.0-beta.44","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.44_1775789334499_0.8706937523370732","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.45":{"name":"@things-factory/kpi","version":"10.0.0-beta.45","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.45","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4b39a3da8a95730ceeb5c3db8a5c2a1063985bb0","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.45.tgz","fileCount":438,"integrity":"sha512-0XxWZYVsvSR7k+ObcgTaBVUfZhdoMQCKWWoLHc+VkhyCZx5bSbSz23CePIkgEOI+Qus6nmA2gPXMYiLC+APdEw==","signatures":[{"sig":"MEUCIGafztb47SIn1rjUU2zsE1paXdUG5bKu6QUN2dIOObg8AiEAnSiYhcTFTZey1Mr4hVVkhOouQR7bfHMvlN2opHjNiz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"933e35d84d997ffad19bb6bd685068f0819a04e4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.44","@things-factory/dataset":"^10.0.0-beta.45","@things-factory/auth-base":"^10.0.0-beta.44","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.45_1775804703916_0.657693290536389","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.47":{"name":"@things-factory/kpi","version":"10.0.0-beta.47","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.47","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e046d2864ef6663ede0928b175d20330df516c93","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.47.tgz","fileCount":438,"integrity":"sha512-k+KTVvDBw+CQp6jLZfFR5yJlK22qmYkHWF0KMz1RHHaYyyR32m9uQp9ZaPBth+nDeJcWaOG++qR3I4JHkNApYw==","signatures":[{"sig":"MEUCIA2InsXeyxzz/oXF/AriYSVDJXi1rUj6jOUiKo4qxdR/AiEA9pUuxfC9gFXioYxDBfBIbF4tAbWxRDf8Zsy/fSp5Iwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7d36d4cf4ae1c68b6108086732e468a9b8563dd6","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.44","@things-factory/dataset":"^10.0.0-beta.47","@things-factory/auth-base":"^10.0.0-beta.44","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.47_1775817215098_0.5908334368888866","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.48":{"name":"@things-factory/kpi","version":"10.0.0-beta.48","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.48","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"41e4d2c66811352af05510ac2ee9018324858312","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.48.tgz","fileCount":438,"integrity":"sha512-d3HbD9p5QzEFPcnHRjXMzQabFxQ1ignk9BgO4ju/Dz8HgBdACbEt4j5O+5nY6l7Jwmn7CfEnwBlPamZOrwIczg==","signatures":[{"sig":"MEUCIQDOXh154XfpDDcF3D/FIvH32HcE3uFl/6EPRJzisuo/uQIgDo6d/+6iLAzVT6EFs0WgqgVH73yC3bWTLbnIer5qHo0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"9651c5849f0cd5cd91a9b0458a49d960481655ff","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.44","@things-factory/dataset":"^10.0.0-beta.48","@things-factory/auth-base":"^10.0.0-beta.44","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.48_1775906869633_0.9310163610274143","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.49":{"name":"@things-factory/kpi","version":"10.0.0-beta.49","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.49","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"7c1485e333c9b1ce74b68d5c158755bfdaf4d75c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.49.tgz","fileCount":438,"integrity":"sha512-yOrQ3euixRNR6MX+VDmgWTPXEKpjUxmISNGZcPLQonub4BAkyUoTaIi7mVncp71lzEMoKLebSUHXTp/9dHeSkg==","signatures":[{"sig":"MEUCIQCm/1C4qv25c23ywVbRnePmHTpGacD3q90rwl51/wF5ZAIgJJF3XFJy/YTres/opu+gRNGS7W+g3YskfhwgEW5AoaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"5809e891afa17ad30fd74ed7aa8bc4c28d499018","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.44","@things-factory/dataset":"^10.0.0-beta.49","@things-factory/auth-base":"^10.0.0-beta.44","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.49_1775923638508_0.920886460236944","host":"s3://npm-registry-packages-npm-production"}},"9.2.18":{"name":"@things-factory/kpi","version":"9.2.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.18","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"3f19dcfe9ff028f271e2070c96a7a48da65bd2f8","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.18.tgz","fileCount":534,"integrity":"sha512-MikLh3Jnh7JkfGy/8aRjZIB3KRzKJAv6HhLHxO2vOAgn2bH4Mhl9BNIXTnbebDb+dkXQYCRWEGwUkSVadDrFKg==","signatures":[{"sig":"MEUCIA7XfFMiIjkE2wUniIxOlpxkRu1nwRiYo1WhzrjK2YvcAiEArrVOkMKDSYpFhw3yo0HlBskhPcD/qG/rAoja7/ujhOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123521},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4dddec998d5efe643afb8e66dff626a9456a2fd2","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.18","@things-factory/auth-base":"^9.2.17","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.18_1776146087253_0.8710773823512907","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.51":{"name":"@things-factory/kpi","version":"10.0.0-beta.51","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.51","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8e9eafbafd7ec4f54f2ceaec3c0f2ac3f912667b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.51.tgz","fileCount":438,"integrity":"sha512-iZLKgSWOVL/jF9c6HRRDh82pqeXUy8aDeKOIL3ghzjEmYgyc+Ueqo9IWuz6jTX7ob17FKC0m742F6oVlxXkCIg==","signatures":[{"sig":"MEQCIBl43dMIZSi27zPvjNXBoNsPscDwMxCQqGtLz61JerrgAiAW7dZ5+Zqho6SJFdWZNWL+rh1fsreIZlT5nZ1C0g8EQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"346ce53cf49f72dc66e069e66c73ca9200e53864","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.44","@things-factory/dataset":"^10.0.0-beta.51","@things-factory/auth-base":"^10.0.0-beta.44","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.51_1776262938267_0.4040056661726503","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.52":{"name":"@things-factory/kpi","version":"10.0.0-beta.52","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.52","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"296652dae218791c825ac6662c000fcd86adc10b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.52.tgz","fileCount":438,"integrity":"sha512-36QHEHaEr/H+7NGd9seJnCpIBeZV9MG3j8ygLNJH/rfimRde2op8QjWa4RJYmyHKaR52CobaAaIkr80hwjaNTw==","signatures":[{"sig":"MEUCIQCudlsLBcof9dHcuwJ/UyPXE8y0G0T1ylBaYCyvek6wRwIgVhMgRKPmVrMbl1/Q4fDClWHLGKnuBcD0z6itAH2vzLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2769b3cab1ac147f5a1abb44938cd3a3481a68bc","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.44","@things-factory/dataset":"^10.0.0-beta.52","@things-factory/auth-base":"^10.0.0-beta.44","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.52_1776380488662_0.8448408028870229","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.53":{"name":"@things-factory/kpi","version":"10.0.0-beta.53","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.53","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"067c789166379b7cdc37a0e91285103bcb548249","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.53.tgz","fileCount":438,"integrity":"sha512-SE7eokFtt6qLUjH8r/wv1VaOuW0G5hPHjYh70QSkdFAh+yE51iLDeZ6+9F+MG3wSe5A6Wpxvjy/KMJnXmNGIJg==","signatures":[{"sig":"MEUCIQCaR/KrQgE7TFOlAx5nvzmLvlpYHsC7wdTBr+tbOyfhQAIgB4VWsLdNeO4DehTvwI6gMyNTqvmx1AbmbMY7EiKoAxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"e7162a5b3f1f15bbc6908e11f4695197a5b63909","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.53","@things-factory/auth-base":"^10.0.0-beta.53","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.53_1776383656555_0.13986999132278655","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.54":{"name":"@things-factory/kpi","version":"10.0.0-beta.54","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.54","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"72d63bb6577b7a0b5ce19fe21a86f985c44be629","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.54.tgz","fileCount":438,"integrity":"sha512-DOtoQI9HGNkVc9P0sd6mfvD+tscDtFLt9DXIT+4vRtap93+J/pGdnblt3EpxBDhqnupy8X+zJMWy0NT2EIQ0jA==","signatures":[{"sig":"MEUCIDsgS9COqxtn8jg9HW/mGE7F0vz+1W+kDEwsoOjh2TgIAiEA2S4Na+gpNoSUOWSvkjy7KkJwCCCMZwSV+i5ti7sC4j4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"648fd7a738781049fe507bc64ee7631edda47e5e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.54","@things-factory/auth-base":"^10.0.0-beta.53","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.54_1776436745051_0.7064296840686797","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.55":{"name":"@things-factory/kpi","version":"10.0.0-beta.55","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.55","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"b0753a41fa3ba997d740d2a7665766e67bc11b9d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.55.tgz","fileCount":438,"integrity":"sha512-DBcVdK63PBsnRuTYqTVSB2I6CkbguwysWWhA2WC73TiQefWcOe+BTVayKXq5lLxMlD4whYgww7A6Z3ZN/vVCJQ==","signatures":[{"sig":"MEUCIAgnMvhBTwmXShRZQuMva/jaoXVK4j6tzJqLdIFZLk6MAiEA/aVaG+ydNsxpxqMEkwDusgopPwFLbwrHfIa8cJed/Rs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"ced853220edbe0a8e13bf7e2ded354bdb7261dcf","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.55","@things-factory/auth-base":"^10.0.0-beta.53","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.55_1776488582259_0.7281473296781324","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.56":{"name":"@things-factory/kpi","version":"10.0.0-beta.56","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.56","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"bbbed0cc6ad035bfd5b027a0179d88f67b606550","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.56.tgz","fileCount":438,"integrity":"sha512-EgChMAU38SsrJi/2zBLtBDk2K/Ox2wRRd/MktKnMrgJV5gT2hrzqd+5WccMuz5ox+gPIn60hoBuRqF9kjIDMhA==","signatures":[{"sig":"MEYCIQCRC2KbgWcT1Y/UC4Xet0B6n+S6ZyqEcWy6/T0lSifwIQIhAJVTaHu9gbl3QWokDI6FDV/p0dUZKWnq9nEVA/eBd8qX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533429},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f8aa04f9d6a8e704db290ba7e7257b9c3900dfe9","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.56","@things-factory/auth-base":"^10.0.0-beta.53","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.56_1776639297357_0.6178176838337623","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.57":{"name":"@things-factory/kpi","version":"10.0.0-beta.57","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.57","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"ab3002e3eb603cc64f15a97a4b913d65fc49798b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.57.tgz","fileCount":438,"integrity":"sha512-x3dYKaoCHX7Fk5HaAgMVOB8e1e+12oyZBRTZX80F+/zTVPCAD05OVB3P85zrJtG7pU+nTR0TkGrlEB7GTf91aA==","signatures":[{"sig":"MEUCIAfcEPgamHXufVuvBeq/C7KtjW8ojjv4tFgBAREIs+yBAiEArX99H+uv4+i36eeDkEQpb73+mX8uFKumxICNZCSwqPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533581},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"19e6b6ebaf514b2b7965e50d3c9d291e80ff821c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.57","@things-factory/auth-base":"^10.0.0-beta.57","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.57_1776783274204_0.6189647847066395","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.60":{"name":"@things-factory/kpi","version":"10.0.0-beta.60","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.60","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8cf32a5d4bce9cfde207f1f7193f0163f49f64aa","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.60.tgz","fileCount":438,"integrity":"sha512-DpGOVzF00oUW8ExH7qbx7WKRSE7lDs3Y9S4WdfCkMHqcew+QonNU78cUEl0e0y3JOrCI107CbbfJCr0PQEhB7w==","signatures":[{"sig":"MEYCIQC19PwUSLApFvxM0+I4s0FoHWYEVTgbMvVXbkPVZusYDAIhALNzmUS/s3FAZFQn0cbFL/RvpbMaYGaTJReWjeAeUZoO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533581},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4ec3757911b97be90674a1d3a23456b83b880ea1","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.60","@things-factory/auth-base":"^10.0.0-beta.57","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.60_1776963227744_0.83741193248217","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.61":{"name":"@things-factory/kpi","version":"10.0.0-beta.61","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.61","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e26588be4ba8edb3e27d7d9764ed84bf58e830f4","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.61.tgz","fileCount":438,"integrity":"sha512-0KP6jy7b3QgGtB235DAKohgAPl4Pfiz22WkV4lu2hjRroJAL9//s8t2BUbOcIBNgvec+xffuXrvZ+Tqq+dlIcQ==","signatures":[{"sig":"MEUCIGIQ38fNTo+lpDOvjfNcL5OsENOBn5zd1eO6mPZWwXEVAiEAzOu1logijv26Kna9sLfX26V88fv8GAfNxARmKlzpy0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"af0f3368e167919fb061cce4f3069849f67bde94","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.61","@things-factory/auth-base":"^10.0.0-beta.57","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.61_1777011804820_0.9427968231352859","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.64":{"name":"@things-factory/kpi","version":"10.0.0-beta.64","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.64","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"364390f774371de1ce18e275c20ac9b0c415a638","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.64.tgz","fileCount":438,"integrity":"sha512-tQl/fDeNhG8fjgNw/L+D5B30ru0UiSXXQWqHkWnER2SnLzlSMRq6rxvbB7+MhsUsTLkp2DHIn4/hZ8Fr0IIN2A==","signatures":[{"sig":"MEYCIQDILLjZdO3xByBoqtzdc2UZily3UYZmxdxTdHgAduyk9QIhAOpp4iXgC8DZG+Zr42ID+qVdfywT6BFBFyFTuJKX94aT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8a2729cb8c838ed8fc3c7921fa67f7279c2d13b1","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.64","@things-factory/auth-base":"^10.0.0-beta.57","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.64_1777225556249_0.5640557769551089","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.65":{"name":"@things-factory/kpi","version":"10.0.0-beta.65","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.65","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"b4f14cf42759b08a035233325c9dc86ad4556d1b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.65.tgz","fileCount":438,"integrity":"sha512-Che1AvsBs+Zuth5+HSP1p914lmA7SZRrcBmLd9hyzpLrEu3sMJsWYkWGO1kWUNSTbw3YMa+u3k38KzSMEx/I4A==","signatures":[{"sig":"MEUCIG4cpXhFazbhIfaHp5s5fHfFIkM5nV9iv/pT3Jqnf7UwAiEA3bTmTCwiYHSwxm2nE8UWzw3YRfIJEVLQEk6TbqWJWpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"66110a0edf3eacf0ed137acf6291337e4de31ed9","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.65","@things-factory/auth-base":"^10.0.0-beta.57","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.65_1777340286745_0.23130207715887363","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.66":{"name":"@things-factory/kpi","version":"10.0.0-beta.66","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.66","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"3f653d03d31700235816812d6c687f752959fbb3","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.66.tgz","fileCount":438,"integrity":"sha512-QazLA5+11VVi63cGJubhQ4sCBKaRrqR1bLUN7RbpQjZrbd7LzpzIWZoCJ+Guig79j6CBi5nVerlG8njmjXLxjg==","signatures":[{"sig":"MEUCIQDoyUeuC7CzXMgjNUkmu9SQHRlrxdmTfc/rOm8lWymsQAIgR0hZ0Xv+703/TGiAHxrGz+k2u7js2GnpvIN5pPd25W4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2ce2c918a0f391efc5a237cba4fc36a0d49e52c6","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.66","@things-factory/auth-base":"^10.0.0-beta.57","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.66_1777358955436_0.5430975305762233","host":"s3://npm-registry-packages-npm-production"}},"9.2.19":{"name":"@things-factory/kpi","version":"9.2.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.19","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"dd5ed08c5b034c3e1a7f4539e39016d3110c8fcf","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.19.tgz","fileCount":534,"integrity":"sha512-7kR2pZh3O7xFQMKgAkGDyrCB2htiI9hNXBSie3klUy8y7yKSQs8Q9FoxVbTNceycHnpa6DrOTCnNgHr6mCIe1g==","signatures":[{"sig":"MEUCIQDl0Jn6Wx84iv8v5ql68oezbhvBzu9X3FN/S1NbT+xpmAIgTOXqHVZ5VkgXGTv4dV/xqr3+Yq5rxqpcqFkFBLsuRzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123521},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4d6d69fe8a7683d91a8ecaf2740fd5f04ab9e0eb","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.19","@things-factory/auth-base":"^9.2.19","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.19_1777370796372_0.23972871117507277","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.67":{"name":"@things-factory/kpi","version":"10.0.0-beta.67","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.67","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"19ba955a3624b175621c5465de65a9a00cb30ff1","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.67.tgz","fileCount":438,"integrity":"sha512-oJrtgKZF1t/yxYxsNAC9chIZ0biihQ7AVCvUsaSaB1qKx99h3C7NhlQHxxjiXGYe5THYHL/jvDor9uoOlvOQbQ==","signatures":[{"sig":"MEYCIQC3UIky1vqHVEDe/4No/e1xgMX+kCz4S5pplyxQUxnQVwIhAJcGffs78I6/EC+zCo6uaTCDtLxaUfj8n35H6HOhS922","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"865e7545d5701bb8e0d67cd408f12267e5a0ad47","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.67","@things-factory/auth-base":"^10.0.0-beta.67","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.67_1777561286104_0.47989022859334485","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.68":{"name":"@things-factory/kpi","version":"10.0.0-beta.68","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.68","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"fc2c2b8df9c5ad2dfebcb5b5a6b3d114e3feb151","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.68.tgz","fileCount":438,"integrity":"sha512-4HLP8eSvD118h43vEulRlB3U/MUDIIbmAzGEj3uB7eIEsHoPrMIAnrKTvs+K4XAkzz7pZ0fccI0QZYODYjsh/Q==","signatures":[{"sig":"MEYCIQDg1AZfBAW444a+NaYErNZgIxsYFa1GSQ0jOvdIAaHV3wIhAOQvuicmsMVoFeynWrVom1fByjaD2iO26DImHJlBp7uK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"9d4188ea5513aa7d28ca67018caa23e3567280a6","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.68","@things-factory/auth-base":"^10.0.0-beta.67","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.68_1777623217740_0.09078935387162179","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.69":{"name":"@things-factory/kpi","version":"10.0.0-beta.69","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.69","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"048ea3e47494c6fc8f593a03cb3ff2c5255aba98","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.69.tgz","fileCount":438,"integrity":"sha512-FUsj218BFec1+yQbwOO6MgYcJq4jPlV/l1mnDHFLSQybtnl40a7fXtf5W2OgVb2P4hUMMi+d0wP7Q2ey750xHw==","signatures":[{"sig":"MEYCIQDn9rf0xp4cM3vHgPmH6e3NoN5Zcm/kk8nt7Q3PrYp3fgIhAO3gzYcTSKaU7y3vz+nwbdRSpR6/aCRFKcpsSDu9oD54","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"dfe47097f234b40e8e9ca7f5db764963cb0f765f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.69","@things-factory/auth-base":"^10.0.0-beta.67","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.69_1777703758429_0.9993862084013052","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.70":{"name":"@things-factory/kpi","version":"10.0.0-beta.70","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.70","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e8388d7db8457fe0801a3dd0800a72c6ffe430fd","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.70.tgz","fileCount":438,"integrity":"sha512-sbZJjQNibuS9eyow8NhVq1NjfVOv60dp4poNg9UfsMN3obvz2Mi1NS6mgLkwRzZf6Am9oZwoK60PHiWRZ40LfQ==","signatures":[{"sig":"MEQCIApOmy9nxjqoj5D6tkTnOqp84zKm+awocvnBerGnFbG+AiB3B0UZc3Q1ddcsgkswrRjUQsqLST9H7RwY9t/lnZimyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0599bb66f877145825ef0692dc0034d94e7e4e4d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.70","@things-factory/auth-base":"^10.0.0-beta.67","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.70_1777801130440_0.22944296923346763","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.71":{"name":"@things-factory/kpi","version":"10.0.0-beta.71","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.71","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8086ca9bf606d8d740c66ed5f92cb2edf675858f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.71.tgz","fileCount":438,"integrity":"sha512-+lFYf7stBdfK60IBCxQCRnHtJVk1OC0LWP4MqE7I9LU3I+bmnhHvcvcxb+oicM4RgY3IBEzVXQHMLHuGCAjolw==","signatures":[{"sig":"MEUCIF1zMmP9mH6WvVq7xxolsf6ed/O7eqYT5ixd9rM8yPTxAiEA8SOLgQx1SwkBEsm5G1yogvUiyflq1gasnSV+awCi55U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"107b67b655c05a500038b2c447986125f1a8a03e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.53","@things-factory/dataset":"^10.0.0-beta.71","@things-factory/auth-base":"^10.0.0-beta.67","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.71_1777824910937_0.4085020323623185","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.72":{"name":"@things-factory/kpi","version":"10.0.0-beta.72","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.72","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e10abb15c878e1c3cb6d7fa01bc848868ed36cd8","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.72.tgz","fileCount":438,"integrity":"sha512-M8+G3ov78ixHy3Cw7Fsh7siwQC8DX9JxouxTjs9h1373ZIJo4rd0ZZoZ3iFOSFs1pgpVLJpYyxEg7f+nc9rqZw==","signatures":[{"sig":"MEQCICqL39vd1aN+PDVxUvatI2sB+M4a4qabjDYC8uILTuz4AiAhv84fc0pfXdMburHyjnUMn75adGjjkegMHlN89DuFJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"df28904355d85974279d2be2c51b1ffa39768953","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.72","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.72_1777946021458_0.8237554264328044","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.73":{"name":"@things-factory/kpi","version":"10.0.0-beta.73","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.73","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"d9410e912feccb96d2c98e095d14f83cd4fd36cc","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.73.tgz","fileCount":438,"integrity":"sha512-uMQiKgxPKAPIUIm+MOJl9NgOX6OqwzdqoZMnRIfaj+CxwtICMWv1wrthKOMlXsWzjaQjIPoWoZh8Eby1zQ/gSg==","signatures":[{"sig":"MEYCIQCl8AtuYZfkQaIrljl8qs7iaE2K65TvrIOsIQWa9NBr9wIhANS8xo+Y/tbRfIIFLEQhdwI7DCgueIwNc2PfOVOMbojV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"341da092718582e73103234d4ecd28d22d4fd85a","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.73","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.73_1777948480304_0.01597392876335335","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.74":{"name":"@things-factory/kpi","version":"10.0.0-beta.74","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.74","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"2a8350f1f7f28d983f701b244d0ca5411e0dc6be","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.74.tgz","fileCount":438,"integrity":"sha512-905ZCUUdVC1MxVZz2ceX0uuubGB0oIF1K74oz5xP8LUXqSVoEspmtBzO3JzidzicTduK1MW0DeY/hSG0crv2rQ==","signatures":[{"sig":"MEYCIQCmsQE/t/RO1/PXWbFzkRnVSEAdGVJyKf/FIzneByKG3gIhAIj6v/9momw+e8M+wh8ERfSfZPxulzXFv68fcRTZlFkV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"589dd8dab5bb2db400e5f10a1f455c3fb69bf9f4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.74","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.74_1777979584689_0.8550388696641775","host":"s3://npm-registry-packages-npm-production"}},"9.2.20":{"name":"@things-factory/kpi","version":"9.2.20","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.20","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"c1a4b72290ad5c8c15551a907bf0fe6fdfcd23e9","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.20.tgz","fileCount":534,"integrity":"sha512-eEdfgEuvP2/h1NJeg4QFF+VotZ0XZIDHvO8NBj2dR7hKYF4Rfj/G67CPNYDCeSnz+rptDocFck02OObwyjwD8w==","signatures":[{"sig":"MEQCIE9UuvTEI6BmnNh00URjiQN6Ij0mCSuF5A7Ebqh/0KAnAiBGKqRoAgE2JQOKR2CNQCaUdFtoLBBrxG5AmmHTukgS/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123521},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8043a782b39c0def335804fd61c29db7586f7515","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.20","@things-factory/auth-base":"^9.2.19","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.20_1778204659773_0.49989265220456214","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.75":{"name":"@things-factory/kpi","version":"10.0.0-beta.75","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.75","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"12e0c817c5e0ef9a58cb50451038a708b84e55a5","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.75.tgz","fileCount":438,"integrity":"sha512-ZOe5jLbci1SmqOMHFM2y4w1oP+TuLBVd2TdFzLJLMd5yd8ltPpqte1y4fJrcwoLfK9VwVaOmfJ68B9ZwJ0upBw==","signatures":[{"sig":"MEQCIAvUfwGkHsey23AZNmAIL4DrlhSWGrCJLFxHrS8zNLYWAiBq3lqWyvIeMZDlRZouME7ZJcEjhp9VbpvVK8Kl28rqqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3533741},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"957dd24974cdca31409a2467567042aa5d956b98","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.75","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.75_1778246304193_0.5165816140009785","host":"s3://npm-registry-packages-npm-production"}},"9.2.21":{"name":"@things-factory/kpi","version":"9.2.21","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.21","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"13f421e972c5ab62783644515e4ca4f277297fbc","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.21.tgz","fileCount":534,"integrity":"sha512-1FtMfX3vP2yOyzBr6C9OK7bw3siuRqO6lzGp/hp3nZv2CPCbKIDB1yePMdJUzbmh3pGi2fB2XJfiiNEL6RuyFg==","signatures":[{"sig":"MEQCIGOdHcWaBBnqTZ6oFvZboe3t58pz2x6LMrKfGGUA9erjAiB3czO/UWuFD8p1oLMpoJqUHJo285nPAslFknLRFIP0Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123670},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"45a7de1e98064e98c4c482d918acbfedf6b0a902","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.21","@things-factory/auth-base":"^9.2.19","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.21_1778481196773_0.4259430588316131","host":"s3://npm-registry-packages-npm-production"}},"9.2.22":{"name":"@things-factory/kpi","version":"9.2.22","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.22","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"16e1d58db0e0b14bd62745f802f831477adbca30","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.22.tgz","fileCount":534,"integrity":"sha512-zSblQET0+YB1esMI+pXl4DUFGwyoarUe3gQe88eySJQ3fneY54jcx08FwsKr+VgYa7bg/c5t4+Vo/Gi2Ive23A==","signatures":[{"sig":"MEYCIQD8jG9dYEHG/Lt4knG3J0MLOcvSfNcp7hhROoCTWMAHQAIhAPnw+lD8AJcBGuDLkMWaZEBiy37Ehq9vqUx74IeJkPWN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0ad14e8ccb8f22828cd8016c70c486f6ec9e6f7c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.22","@things-factory/auth-base":"^9.2.19","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.22_1778490469343_0.07774122326487354","host":"s3://npm-registry-packages-npm-production"}},"9.2.23":{"name":"@things-factory/kpi","version":"9.2.23","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.23","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"5c53d0958fa550fce7cf0d20a581d24a9799948c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.23.tgz","fileCount":534,"integrity":"sha512-hxJeF7Pr2BekgIz4jxUD2CR0eBp8bqDjXObsjWTiUFytk18S+MJMxJSad4L9KQhCWAELxQ0U0oQizAwY6EuQgg==","signatures":[{"sig":"MEQCICxGJ8glV2R1nGFaSgw97NZvT8QYsYeHwHUS1/9y3vacAiBDyRfd9p7LCwvTgaDvm0XQlvGT9KLexj1rzyqFwUetBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"ce763b991e332150f463ef4a5acd5271a7520f31","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.16","@things-factory/dataset":"^9.2.23","@things-factory/auth-base":"^9.2.19","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.23_1778500112386_0.011988542121411871","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.76":{"name":"@things-factory/kpi","version":"10.0.0-beta.76","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.76","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"16dc13dee4ffb6fed12395ff74a0098d4b5dda1a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.76.tgz","fileCount":438,"integrity":"sha512-0dbnmRZ4pC7k+kz7+sUT/ay2OQ0U2/NXTByDcjaDyz9Qdt1uSRxM/QkpHqPUEN0F344R15J2EBYZTzbmhol0MA==","signatures":[{"sig":"MEUCIQD0bWiFSExesXVo8Z5FIVdUK8fnXeLli5WgfXbdJQAvGwIgaHOeGMQ1/RulpYhOESPYjzS0idIRY3w03edWoXG0S5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534166},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d03a06a5c5b224934cfc0f1f20d11634c660f72f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.76","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.76_1778525847558_0.03341808487429354","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.77":{"name":"@things-factory/kpi","version":"10.0.0-beta.77","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.77","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4fe2a338f06405494768191a9da2f51271d30f0b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.77.tgz","fileCount":438,"integrity":"sha512-6K/TmGUsl9eZ4Z4AdU4rJlKYJASY2imPR51dqd4WFyp3EcQb7ZXIoQwb//HAr/eIoCwjvKwa7AgaxuvkGPgOug==","signatures":[{"sig":"MEUCIH/KziwvZlBLcWpIF3GkLr83qS+UoSF/7ERl3j7tNyERAiEAiZwD3LAyBjyZ9z7Mahxjd0SBTbdjDhORr4zMiN0ecmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534166},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2dfc2c14854106b2b6c810d9cc425e236f07d651","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.77","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.77_1778637535170_0.7490477659607393","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.78":{"name":"@things-factory/kpi","version":"10.0.0-beta.78","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.78","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"465e3f1febcfc0f670752d0dde99fb654b8a8d2c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.78.tgz","fileCount":438,"integrity":"sha512-7mhEBAYna5K8oomxzRppmlze6b/fZ9y+jy0l4r7Qs94pjXw8RREyiWh0jYNSkdVm27zJmgdel29TPBQ2NUZxPA==","signatures":[{"sig":"MEUCIBJVJlBMS4/7wumWWhhpAiQIzPKc1dfJNnKxzgfLeTkRAiEAzz3ff4uLIoW7jn4xPeUM++h7gDBkZchyB2Et+DidvXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534166},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4580fd62a34e28ec2840afc4b1239ab0160a2e6b","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.78","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.78_1778690194895_0.1863223431086658","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.79":{"name":"@things-factory/kpi","version":"10.0.0-beta.79","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.79","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8b6d73b97a109525aa825cf67558a05c95ce6905","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.79.tgz","fileCount":438,"integrity":"sha512-a1OEE3xvlX1lDTL30ujJZLliG4Xc/92LXvlhyGodaQlZCIDjWwkmvv/wlRHwJ5Ie6HmKz46K1FUWQtLmtkxyHA==","signatures":[{"sig":"MEQCICZZz8G80bYHB+JqLkjOplpWJCDjJkrO15c4m4HYPpJSAiAyrWmIsRWpYg2GB59cALQha9Mv7gIMAjp6P5/VnLT6rQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534166},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0eecf9dd9ed1117dfca330feae3e4d3d6f652207","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.79","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.79_1778734577539_0.6357875057569282","host":"s3://npm-registry-packages-npm-production"}},"9.2.24":{"name":"@things-factory/kpi","version":"9.2.24","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.24","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"50a4cc8137c455c2238a99c8b6e2fc0f4d9c68e1","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.24.tgz","fileCount":534,"integrity":"sha512-fGdLcA2gqK8HNZrt6D1DTUdKXOU3lBe1Vw77abE8EKs82zvPT0tNpPjeSnH8BxfaKg/iUpwKWzBN3GjcF0YCVw==","signatures":[{"sig":"MEQCIDE5dOGfYxMupaayYwhBTzZarU6bG8ZqwVb2n9rQD4awAiBG1KcGpZPcAOuprmz5d6o4mm2JvNRxL15U4ATfBLFFgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"801e5af6bd04b34b9b461f7a5ea1334d9ab6d79e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.24","@things-factory/dataset":"^9.2.24","@things-factory/auth-base":"^9.2.24","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.24_1778823990916_0.7417505101661157","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.80":{"name":"@things-factory/kpi","version":"10.0.0-beta.80","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.80","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"973416cbaff35c009737f1cce4990382a3241fcc","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.80.tgz","fileCount":438,"integrity":"sha512-GUBpfXYQSod+sGSAX6fgsfjGSOzmLlhGjFE4FN2Hx7fo6R32h3pt3tAodSvfeNLmi/gt0W9bL4lTugKMUdAErA==","signatures":[{"sig":"MEUCIDIH7WlbeKYA+WH7tUvjpaiiqV64gyY16x9rWcjGF6EmAiEAhmI5HDGUhTHStcVe8ZKj6/drevDelHkvWnOuVlzFy/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534624},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"21918bba17cdf36969cf6f7af39e7ee88c0fcbcc","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.80","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.80_1778860034111_0.8595116737420672","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.81":{"name":"@things-factory/kpi","version":"10.0.0-beta.81","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.81","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"9333a97c7bb197b9ef8999543f0f676e6a2dc0a2","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.81.tgz","fileCount":438,"integrity":"sha512-OkOwU5t9DnzGEd0wvHe300QW6DlUmhElM6VmoDD6UItNRcMnu7/A1hbuI+MDxJhI7q4cn0X+fQg6+xUNshnkaQ==","signatures":[{"sig":"MEQCIExePNZACAo6nulI0ZDd3geBuayg3Vzj0qe0fvxBG71ZAiBLY2Cjg1cnOgYSgE/HMg6iBfub48QoCOqbLyB94eS0bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534624},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d4531758df5d0ea15d4f9a34855bc8964c0d544f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.81","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.81_1778922763710_0.2919025190353204","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.82":{"name":"@things-factory/kpi","version":"10.0.0-beta.82","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.82","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4d245e06ffa5a4068070644a86a746044d4a9e77","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.82.tgz","fileCount":438,"integrity":"sha512-ok6Ij6BNoV4J6uo6sExchjnIAXI4FiBKGOfhIIn90oU3YdWCZyk15zEtLoYdcX+e9tziA2+a0TKM8ahUpAOErw==","signatures":[{"sig":"MEQCIDZCHHRzvk++HwtSv452rNoteP+UQ0K2rJTNOcjrkLR2AiBW2wPC8RJjsJj7YzcQRj3tkjdtTa5uimXwSuIhJ4M5aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534624},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"24c292075cb305c8f8d247904e0bc0d738ebe59d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.82","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.82_1778941594381_0.7996592244799685","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.83":{"name":"@things-factory/kpi","version":"10.0.0-beta.83","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.83","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8daaa9faf8c506c85a3132ea9980ca8a633ddc96","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.83.tgz","fileCount":438,"integrity":"sha512-lPZEdX9u3an9xzAuf3OIJraeN8+WRQ2JqtTFodbOEFnmvsABqMfrny5f5uMEC77JBT9i4t4hgg5IIsQZCgQDlQ==","signatures":[{"sig":"MEUCIQC2N9nrU8ba9kylp3s3X0v0WKRTkX6qkRp7pkD9uclZaAIgIxcF4FqOITh6rlZ45hkmmucc8tRsPDPLS0dZgG86lgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534624},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"29cd7f88e1276fdd5a8b7ceb1a7fdf48b84a0eaf","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.72","@things-factory/dataset":"^10.0.0-beta.83","@things-factory/auth-base":"^10.0.0-beta.72","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.83_1779040210011_0.35492045146962714","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.85":{"name":"@things-factory/kpi","version":"10.0.0-beta.85","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.85","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"96d3e7eef67632c02597f16a7effb98cfae985cb","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.85.tgz","fileCount":438,"integrity":"sha512-eol+GoIy1Pi4QfQG7i8ivYNqyML2noe+1fQ6l9mdUeBMRVPhyIuxdX4kcnzrBxd68KE4yLTaVAjyDXUbmRnUTQ==","signatures":[{"sig":"MEQCIHJzSk+AWVy5MYQJK2n/frC5d/lu1UmzZ0rOFfdnnjpjAiB+mbPvpbq07fx/NsbM4NpgyhQ3PcMYADW52MKi4DWiDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534624},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4d08be19c07e220d11d5c6d796537b3d485ebd57","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.85","@things-factory/dataset":"^10.0.0-beta.85","@things-factory/auth-base":"^10.0.0-beta.85","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.85_1779079796407_0.12938558700027158","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.86":{"name":"@things-factory/kpi","version":"10.0.0-beta.86","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.86","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"f4a4eb1b90f5633da6b963ceebb0ee7c074cac52","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.86.tgz","fileCount":438,"integrity":"sha512-6Ep5nq0qmw74sMCIoPDW2xOaxqnCYmgi8rEVTEWU4QjHck9ezwxwM9Y36kMNlmYPAuqhUAfaPb79XCjj4SMMlA==","signatures":[{"sig":"MEQCIEfc3aA3GPHEfHbgx5+29xOugIlS4nhpKPZ3dwjGdnn2AiA8coRzspeth/jqPduvGZ7qj1CulD42DIzvEBAjnAsdNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3535614},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2095c821b434b3bdb6b07fef9b15f9a745309b25","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.85","@things-factory/dataset":"^10.0.0-beta.86","@things-factory/auth-base":"^10.0.0-beta.85","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.86_1779350673804_0.5254904712795543","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.87":{"name":"@things-factory/kpi","version":"10.0.0-beta.87","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.87","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"eb64c3845f838fbf11e655871f490d9221c2c09b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.87.tgz","fileCount":438,"integrity":"sha512-NsztQrb13pPDp9qVLXPQ3jtB5Wqg7dITsix2RPJ0w2KoF59+xBD1cm+tQaC85OsT2Kh5tMatg/i8ZsYwm/e/Xg==","signatures":[{"sig":"MEQCID0s5d3M8p5JhtrL5AmCb5tO5ZrF0wNeTuLGa+d+X862AiBy1WBGMyvOabv5lGaa0nAXnTmnVYIGkz14nNRk4NOrhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3535614},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2ff96bba5120f39fa4bf07cd464b6e3626f6294c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.85","@things-factory/dataset":"^10.0.0-beta.87","@things-factory/auth-base":"^10.0.0-beta.85","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.87_1779378689678_0.06010438154174658","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.88":{"name":"@things-factory/kpi","version":"10.0.0-beta.88","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.88","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"15d330952e7980f7d018cffda372757774ea3301","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.88.tgz","fileCount":438,"integrity":"sha512-6qgoW78ueHTaXeFUiGhRKLMPS7f1ytK2R8e3kb9EQIqCYD2odoESRDZ0W0sYvJh6jYnRDAqptLkNvKZxQfQn0Q==","signatures":[{"sig":"MEUCIAiMHt1hc8Fxgh+SDx5n6zp8Ol+BhnjtWK6fI/kKaJ2JAiEA1HNzCUn9+eJRMCGYktGgvfCG33DZmdtciPVe+BD+T7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3535614},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0af2795d591b4976cea30da1c007dca5fe020dec","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.85","@things-factory/dataset":"^10.0.0-beta.88","@things-factory/auth-base":"^10.0.0-beta.85","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.88_1779384670598_0.35528976526091616","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.89":{"name":"@things-factory/kpi","version":"10.0.0-beta.89","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.89","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"65c06eb9b13a289f3843d912a572900f57694f60","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.89.tgz","fileCount":438,"integrity":"sha512-dMmtAT6kq7cewNlwNLSwRwFocsuZtZdlUL1zeXCoRbW59TDQPnz0/KMW5xqkBts5cnE948becc7rzcV00X4NHQ==","signatures":[{"sig":"MEUCIQCe52E1us8pSIqpHYc5Ckl/AyE35GofvpQQbVWPijo99QIgD/GuVo5o2YuUsWNyYcru0smpAW+42f3kxT6c8zXdWW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3535614},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8352709f941cc3bdf4862851851543888fb4120f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.89","@things-factory/dataset":"^10.0.0-beta.89","@things-factory/auth-base":"^10.0.0-beta.89","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.89_1779418387541_0.08524176384437099","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.90":{"name":"@things-factory/kpi","version":"10.0.0-beta.90","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.90","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"d00a65becdeeb8906e1352a359725c5b59b8f25b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.90.tgz","fileCount":441,"integrity":"sha512-nWq20Samesr2q6sh333CACI+hX3JG56AkJ6/yG9qdK8NukNoG8opdq5NBVKUUu9gtIV/ZPwwEOnHudeMravnRA==","signatures":[{"sig":"MEQCICWjf0zeMis4nngeoMoHvE6fZIgeYR9KsCTutwDq6grlAiAt7wiMv/IYUZB1ohBTXylklsrSjLiYJhCSLYxLWdsX2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3553730},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d9cda993179a6409e0d62d10e89a2ad8a3c3dfc0","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.89","@things-factory/dataset":"^10.0.0-beta.90","@things-factory/auth-base":"^10.0.0-beta.89","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.90_1779638974250_0.7546094308087186","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.91":{"name":"@things-factory/kpi","version":"10.0.0-beta.91","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.91","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"9d86ea6bb1f1705416b98b5f2ad8141957576a5d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.91.tgz","fileCount":441,"integrity":"sha512-c60ecXJDEQBsIyx5fhrZwpTX501KSbOAADPjgbl2+ijU0sanICGppz8lLSFXXOVyoH+FekOiPnEmW5T7VF5t/Q==","signatures":[{"sig":"MEQCIGCkNt7iPxoQz8RyCGWcSDFfKSQ1UnZ+IKpbulVBARGbAiAJd4xgnYgqdRQ+zZxiUCAlhgRVABNhKvlV3g7c8KQz7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3553730},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2f8afa89a359bfd07fe3855ace4a8665fa11d9d1","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.89","@things-factory/dataset":"^10.0.0-beta.91","@things-factory/auth-base":"^10.0.0-beta.89","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.91_1779770057137_0.7909118225913458","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.92":{"name":"@things-factory/kpi","version":"10.0.0-beta.92","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.92","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"f1e929ef599ef285ec6b33bb6669a2008929bf82","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.92.tgz","fileCount":441,"integrity":"sha512-c0M7CJOrfBBh6G64OVv8c/8lanUph/PAKMA1Qj049TRa6ELV7SIzP5UIkaVTpwumbM8G5x3dhXRo0CGSa4lmEg==","signatures":[{"sig":"MEUCIAnRTO8bNWIg9t5DGTXsjBGYaZPXhyY14mL6+eFCt5CeAiEA/AwLMLOXQaaL4mtQtCX+wjA6usU8yM0spGRm5ytqW5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3553730},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"e1143534691790a7006213e06d93051528b93bf4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.92","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.92_1779770240698_0.42676517213719634","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.93":{"name":"@things-factory/kpi","version":"10.0.0-beta.93","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.93","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"db4a65a20048c94796e619fd260d446f6dcfea85","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.93.tgz","fileCount":441,"integrity":"sha512-7YnjvThSjzOLyqFj7aP/p8xuJe6i3Rlr1Vcd4hXlGiOfHr9HdvxHYAgGxT+mXJAxZCg1Ux+pLmFYpRZeRR4Efg==","signatures":[{"sig":"MEYCIQDXCzD/2RgaY0aCoakZ5i2mPY1Bo9B84z48zjzG4HUN2gIhAKmv+dUO6VT1Q1k9rgbeg06W+/X5TBHTOTZUxt5SPedQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3553730},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"dfc38be420d4a6fc3c34afd14bd1c7ba937989ff","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.93","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.93_1779789154572_0.8851747962896916","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.94":{"name":"@things-factory/kpi","version":"10.0.0-beta.94","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.94","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"bd324b33114b3df60266ec60ae6dbb163a58296d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.94.tgz","fileCount":441,"integrity":"sha512-8+6eL4Bfd3AM9PgOFUsPspFLh0WWDIbg/a5cbvLon5t7kXlk0sg6c5XaQsLkvYVBCXya0NURagT7wJKhavNZCQ==","signatures":[{"sig":"MEQCIG4eTm8xodMpkVH9FumPzXs1EAAQkXBMMFxkw7d7HPk2AiAw4UEvguKLHWJGe9HYGbxsNa9icaZ4zC7YKmvzZezzzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3553730},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"a43375a6e5ebdeb0b39699e892b8f13583865e8d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.94","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.94_1779985958573_0.002088519385650134","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.95":{"name":"@things-factory/kpi","version":"10.0.0-beta.95","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.95","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"91e6d22f1a413cbfb8d16066fe312efba4f51910","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.95.tgz","fileCount":441,"integrity":"sha512-FhBc0d8Vch6RRsatpPUI9ikOnrF491uAxGMlklRnr01UX7TpdK2PBGB3Y3GX7gHA2BwdhitQHxXJDEJr6zijzw==","signatures":[{"sig":"MEQCICec8v7Aib6yFD9MTaoUbhoa9wZuMxvOc3XJpkWGLnhTAiBdtrfDI9RDEIgdc5ASwl0veU0qOkyf8Pc5j0hk2ohojA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3554111},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"17291189a406eb17709411200d0dc4acb54d92a2","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.95","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.95_1780139309723_0.8475134773560231","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.99":{"name":"@things-factory/kpi","version":"10.0.0-beta.99","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.99","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e324515d7d6e5ba5a134cd13c85ffe77c9ee137c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.99.tgz","fileCount":441,"integrity":"sha512-wf1F+y442YrnOVuLFi8YlthX69v36dctOkb9wvuPdqegdc2bgjHXCZnoaKd2Dm7HB4myGUqmdFI3oXsJbZay1Q==","signatures":[{"sig":"MEUCIFfMle+UQHnrUg3SE8kCR0VOvmvY9+tsG/k9e0qWR2nMAiEA7TzzHHyaceA+v83ocGOSW/fOcamaiTqBJaGS8rgFhdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3555539},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c74529f5102f27a006d5b4066037772bf212ad73","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.95","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.99_1780856681289_0.8267792839264871","host":"s3://npm-registry-packages-npm-production"}},"9.2.25":{"name":"@things-factory/kpi","version":"9.2.25","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.25","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"17d5ec4e12d48b8def04babdf4abcde4ad14785f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.25.tgz","fileCount":534,"integrity":"sha512-3JfgLoZCr6eeJ96qgbZW2saOUhnUi8fj3mV7jTUF7CIoBOE1N3mpZ6Cq3F8YnW2UsUhsJ2kCyFQPD7KU3PATzA==","signatures":[{"sig":"MEQCIEiGDUareeTEh+qEAilc2BDuR0oP8wr1oLr8Fwm4TiezAiAeX1uhMXgAV70SjJ5DoX9nc+JZYlNY+i67VXM3X8EG5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0783a2afe01d1ec8a230c1e8fd5926270d494224","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.22.3+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.24","@things-factory/dataset":"^9.2.25","@things-factory/auth-base":"^9.2.24","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.25_1780906029906_0.006274811201814945","host":"s3://npm-registry-packages-npm-production"}},"9.2.26":{"name":"@things-factory/kpi","version":"9.2.26","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.26","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"54d30ad1ff826c7ee9bdc11d8a101f2303ae4cd2","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.26.tgz","fileCount":534,"integrity":"sha512-R/9p7I42irhsbpIxhE/3iPpJL4U6cMeD1ZyXBKmi1r4BK1UW0ljrczmEgN1S9F5Q/Dy5QywTV0kgyUZDpHBNTA==","signatures":[{"sig":"MEQCIHSgp464amGvz4OPqxbjQ4bUKyTptq0qc5pIgFnGv7VHAiBd0sRKuWzdZtmdjF+MJZJjdh9o741abb79UJ1F/0tfxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"9baacb5b74764d0b9ef6c27c1bcdc45558f9d9d4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.24","@things-factory/dataset":"^9.2.26","@things-factory/auth-base":"^9.2.24","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.26_1780980172379_0.4666695911992791","host":"s3://npm-registry-packages-npm-production"}},"9.2.27":{"name":"@things-factory/kpi","version":"9.2.27","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.27","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"65e7c5f6dc3875e7a6e2e5c4f2c3da587ada33d0","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.27.tgz","fileCount":534,"integrity":"sha512-1rCiLLhifLvAABWPcV5SVtR+dV9ymyuWV4cnmeS5a+Yu+tn6tawCoLpxfeqYn+RGcvgs2zAoC/nnxAUZ4jzLjg==","signatures":[{"sig":"MEUCIQDDDDvWzbCxIxXbcmh82Tzks8SKgv18fZISOBClqfhEkgIgdHN2iwSjQxL4cHXT4BDC3YmWg1XMMhDTJxrrIhXzd3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0452ab6da8e64a40b6622d8e9c2ca6d1d57b475b","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.24","@things-factory/dataset":"^9.2.27","@things-factory/auth-base":"^9.2.24","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.27_1781156606328_0.8851734559425946","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.101":{"name":"@things-factory/kpi","version":"10.0.0-beta.101","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.101","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"228ae2c74182905205d9fbe97c052d88c3e1a8d7","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.101.tgz","fileCount":441,"integrity":"sha512-CQAExj51G/Y6EZ62km9GtIEzpalXs86FeZSCXzU5QxdE979bNoeRpfhOgk1ATuLwL44+Q8B4PtqPHtU0vNcVsg==","signatures":[{"sig":"MEUCIQDYNvztTkgPxQyCcx05lS0oSWjfYGEMcjK/JM1HbzGzrQIgOTwDlOHyqWgj3EXntKK/VteQvgvz8dlGf3Fi31UREU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3555541},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4ce07a326ca86fb66aa0000d880599f82c4c27c5","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.101","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.101_1781328958020_0.06649090819740877","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.102":{"name":"@things-factory/kpi","version":"10.0.0-beta.102","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.102","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"974f6bf92da7be0bc103a58fe33b1c1520b5e4ee","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.102.tgz","fileCount":441,"integrity":"sha512-LsvzAKDOGH0FIAQOORPs1DlN+v6YfUr+ioa/c1Gc3BT79jLxqp32lHlf9bL/atkj8loK8EPM1GZxdKh35drrxA==","signatures":[{"sig":"MEUCIDjHO6lL3cKRti8oWtxUmg1KZ3V9YNb3896a7rJRzYs8AiEAyouENSM2GAPpamd1Gt3VB+E0WV5+5wI6E367csbc9Xk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3555541},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7f1d3a4353b27442b9b541e4ae063ed12c7e4826","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.102","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.102_1781522500050_0.34688193593551975","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.103":{"name":"@things-factory/kpi","version":"10.0.0-beta.103","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.103","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"15f0196dbc09e8ded6a15adb1ad2335c07c6bba7","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.103.tgz","fileCount":441,"integrity":"sha512-/AfgVbwmRpEmQt4IZKcrtXpEZtxkT/AUlG0BkHEBp8JpXUBlAi1OZkjYnJc0sQ6XKfHfqwG7lkf0Vuo8ufRu0w==","signatures":[{"sig":"MEUCIFJt5NOknsZ7BFbKp8EQ2YihOuJWp72tX109TfGhBogUAiEA2tCjIv4Z5QvWKsv6P2JrPgzad1v1YUTrSzq96o/+cUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3562612},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"ffd73542926e3e12362e8b389089a02776dad0bc","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.92","@things-factory/dataset":"^10.0.0-beta.102","@things-factory/auth-base":"^10.0.0-beta.92","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.103_1781605327735_0.43651711873888965","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-beta.108":{"name":"@things-factory/kpi","version":"10.0.0-beta.108","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-beta.108","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"c0a9f7df0c7cf68d8e2b21331ecfc5d93441c4e1","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-beta.108.tgz","fileCount":441,"integrity":"sha512-p//ExSyheNRFtd/yjLz6CGS4/pD1NQz3dg5IdV4w7VBXOBLZI+MKPv3Uf7ATXDpUwv9+5sKH3OLBGhn5fQ763A==","signatures":[{"sig":"MEQCICU2/W6q+4vcZWrX1YwEzJsW8bjtra2CfkYXzgOyijJ7AiB3Iv6OhFm8/WTrdJ9uIsTG6ylqx89hNNxG1sNMXsKgDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3562568},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7de47925ebd3f39dc232d4dbfa43f9687f3603c4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-beta.108","@things-factory/dataset":"^10.0.0-beta.108","@things-factory/auth-base":"^10.0.0-beta.108","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-beta.108_1782058743286_0.8056807369878738","host":"s3://npm-registry-packages-npm-production"}},"9.2.28":{"name":"@things-factory/kpi","version":"9.2.28","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.28","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"c969d8f53a72737b2fc2672a20d41354cb37a0c9","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.28.tgz","fileCount":534,"integrity":"sha512-g4Dxd8BhTkIesvOX5VuKpFLYA+azfdKlNrjpHl47vg0iNN9kHvV0kbpjf8kt91Mb6WWDfnyGS+atbIBSMqLDlA==","signatures":[{"sig":"MEUCIQDWkXUtgaPOkMqu0TCNAiR1lygVADuRraRav559ijI4RgIgEaq7xxvvdbyqQnf+XO1+bT2lrBOiMlfypFP6H2Pw7Kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"37b71e27ce2201f0657871c5c9665362e5bd5d61","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.24","@things-factory/dataset":"^9.2.28","@things-factory/auth-base":"^9.2.24","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.28_1782198673649_0.4904152287309025","host":"s3://npm-registry-packages-npm-production"}},"9.2.29":{"name":"@things-factory/kpi","version":"9.2.29","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.29","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a7eb0ee52c122274a3de6aee987db0ded66f689d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.29.tgz","fileCount":534,"integrity":"sha512-wo68ZVgJhC/Pz8vzmadpNg2pwc3R9v6EtwhbXYqTSUWAasAARirmGGQEEsbRji9gQNX4O0ribaxO94f1SBtDJA==","signatures":[{"sig":"MEUCIA2zqoy69hSFeE8WjbCd76c0jJQN1vpPFqN3leTN5LnpAiEA+Lp0s2qWOBlwIGYsY6OrkpZ8YCYI/WYW6QcwO3ohk1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"48c67195ca4e1d57126d6afc93dd89ac8edd2941","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.29","@things-factory/dataset":"^9.2.29","@things-factory/auth-base":"^9.2.29","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.29_1782199628133_0.3793700414118699","host":"s3://npm-registry-packages-npm-production"}},"9.2.30":{"name":"@things-factory/kpi","version":"9.2.30","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.30","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"929726d048a5eff7275a2b4243081cc8f31aa0e3","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.30.tgz","fileCount":534,"integrity":"sha512-rSravZM7ZB/KgyZVMa9ErV9C23zU5WVEui5gdFX0vfdeBEZcD169JbSBjbrKlfMVlgeoABeDuX+3uwoJSDCj9Q==","signatures":[{"sig":"MEQCIGJXYPrqWaPXCalUwkkha2Y6J5FkRnyRaxK8f8Q7ghFRAiB/70VUoBV6ua6sPF8uJ5zCUFvHa5NEGpK7TrWYYkI0wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4123833},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"65774c0739efcf488b1bf28c99b45830ad72d644","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.29","@things-factory/dataset":"^9.2.30","@things-factory/auth-base":"^9.2.30","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.30_1782374106890_0.6250243558064243","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-y.0":{"name":"@things-factory/kpi","version":"10.0.0-y.0","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-y.0","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e39864f14f0da773b8451b745daff5d5c0d6b401","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-y.0.tgz","fileCount":441,"integrity":"sha512-yuCZhHKdWCo2Z+dWZKozimhIcbLKOcLGU5igWUrBDtVYQ/LwuSAzSNWbi4nF5WBcD2Rppq6SRfX/fYv4UVvL6A==","signatures":[{"sig":"MEQCIEvbp/pFQ6CM+BXQbeY9adrv7nDadYxfiUO+Cq0J8oX7AiBYNpw2Wapoks+ne6bWde4CVwLsX18WTs1l1r4DzIs2Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3562548},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"10deb8a3379e06f0e0a2a8eb018017cdb2e99bb0","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-y.0","@things-factory/dataset":"^10.0.0-y.0","@things-factory/auth-base":"^10.0.0-y.0","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-y.0_1782434087609_0.7802846311479863","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.1":{"name":"@things-factory/kpi","version":"10.0.0-zeta.1","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.1","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"789a99b9fd5a7b344647b0b8eb1e81b5cfb1200b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.1.tgz","fileCount":441,"integrity":"sha512-84m1EdlmJQtpdg79Q8L+bbdEC1ItenqCbpsRr2iiV40O7mX2+zN83peIRmBk5QP5A7EeJ+PDZ9iozcsz6FWp6Q==","signatures":[{"sig":"MEYCIQDUfPl5bLbOow8fLUEgbGY3GJuymiRc9keeKyxoiPT31gIhAPIO7AJpB1kTz9cus70AB3cCKGjwugiW4fy3PwfVVpk8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3562560},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"1f620c61482aa8dde20923e64826912b42b2a9d6","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.1","@things-factory/dataset":"^10.0.0-zeta.1","@things-factory/auth-base":"^10.0.0-zeta.1","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.1_1782437288140_0.3681026242676182","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.2":{"name":"@things-factory/kpi","version":"10.0.0-zeta.2","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.2","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"d01ecc3c802ef27e3a0d2cd7735a0ff406800910","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.2.tgz","fileCount":441,"integrity":"sha512-r4K7hjHDv5mlgRbwDPrfRraaDZzUssc4rP8wBbPtk20wIzwC/jDN2oqeheprsQz/NNZQQzngAhmnXF1g65Deyg==","signatures":[{"sig":"MEUCIFnHEQ7Y1r1a7GW8VjOna0BLVgFmAp1oNyiFgLXqddE0AiEA3JsFJQRlvOOKnai2o7xcy/4hWRIlqEq8ajxQqbHI+tg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3565916},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"957cfdf18be516e333cc4dea463acabc07f0830e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v22.21.1+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.1","@things-factory/dataset":"^10.0.0-zeta.1","@things-factory/auth-base":"^10.0.0-zeta.1","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.2_1783048698094_0.28978747454890663","host":"s3://npm-registry-packages-npm-production"}},"9.2.31":{"name":"@things-factory/kpi","version":"9.2.31","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.31","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4c2bc7360a823709c08fb3dcc99a9f5d93d6fe49","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.31.tgz","fileCount":534,"integrity":"sha512-3JT5CLuuiNxljEw+zfHAiAr/7M+Ciw1vZEd43WVcNtQmIwSbjRiSE+oKP0rfUPKJmO2farkFI2zhzKKiOgtB4A==","signatures":[{"sig":"MEYCIQDmutYoalUkdpq50BOCeHMegW3CoCpAVhHTB72sI5wEIQIhAJyjbZUHE5fHr/cyBo3qI5MlAo2qDxRqppKZFXmg21Hw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4125967},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d5e4dafb1d4937ce7d63b9d0038da742dc4ed551","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.29","@things-factory/dataset":"^9.2.31","@things-factory/auth-base":"^9.2.30","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.31_1783327607280_0.7604111673691609","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.3":{"name":"@things-factory/kpi","version":"10.0.0-zeta.3","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.3","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"3203e70028a9f25790563360701a8ba5013d504c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.3.tgz","fileCount":441,"integrity":"sha512-YWx/Lrv93Q866aLfZlX7yYA3H60ySiJb2jQnaCFjgIEfrwYfZQltnCRcnCip8ezcz9TR6lt5nGKwYkMeB1FV8A==","signatures":[{"sig":"MEUCIQCcEoOVLemPi4WHtJxgOGEsT3cNI0PpEJ9AmW6C3qZNlAIgS4nS8geCmzpXu8cHz58wXL3l1JuB3dibVpe6SDt6bOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3568654},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2d998abaea0493b286bba8202c0f17083c518089","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.3","@things-factory/dataset":"^10.0.0-zeta.3","@things-factory/auth-base":"^10.0.0-zeta.3","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.3_1783442532116_0.5269575759316087","host":"s3://npm-registry-packages-npm-production"}},"9.2.32":{"name":"@things-factory/kpi","version":"9.2.32","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.32","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"6facb99f3a9e691f821ea43892ac8b0b237f2c59","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.32.tgz","fileCount":534,"integrity":"sha512-POqtuiBlADce3lOw4UdNH8RGyfOepO0th4E7DQnh9OY+DfODoQcW+2N/kH5V7kVwrkFml+kycHTsh/2wlrhTLQ==","signatures":[{"sig":"MEYCIQDjxX07+JLNeuMF4y7Jp/ZxQCLtFldtwZFGIX/YfJnD9wIhANx54FYNU6EZHqGswOk8UGGx40DCts4whzThsDGVbJ03","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4125967},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"04a9d22c4edc89556b4c56e2899e743e500e5618","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.29","@things-factory/dataset":"^9.2.32","@things-factory/auth-base":"^9.2.30","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.32_1783520615559_0.9229216184372626","host":"s3://npm-registry-packages-npm-production"}},"9.2.33":{"name":"@things-factory/kpi","version":"9.2.33","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.33","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"6061eeed0961a268049b15689103cba52938db04","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.33.tgz","fileCount":534,"integrity":"sha512-oroO8zgXmKm3Xv7z/QQxoNzHp2JAmbVTIRcoMKTepD7dvD8xTX1XHEwEvo9vQn780HXYr8itnYU9nrUxdr04Sg==","signatures":[{"sig":"MEUCIGvVcvw2vjbzlCP5YFzOGIencC45KrgjCYS121LL93xTAiEAom0zKiAMwl5hnuKS//ZvbsGN7y4bfgK4bSpAGqrwY4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4125967},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"347955c276f347107315dba99f8f731ddb97f3ee","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.16.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.33","@things-factory/dataset":"^9.2.33","@things-factory/auth-base":"^9.2.33","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.33_1783521031482_0.36263322356184924","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.7":{"name":"@things-factory/kpi","version":"10.0.0-zeta.7","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.7","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"871581fefd4a3376fd90380069291edfd9931839","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.7.tgz","fileCount":75,"integrity":"sha512-1V17YGk4QkOAeNuE1agHTj+lAaa9/CmTpHbns/CahYD6Q7bmjIeRzqHwIES8zOThA3YToFf5N9v/frewoeLOYQ==","signatures":[{"sig":"MEUCIQDb9uBtDsKWcgcuoDdxnqM2cIeW+7JEo4K1hRAPLsxZ5AIgDK/lA0PhGCJyxLb9My174ZHZ/CsGkOIbIH+hdKKydm0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":481044},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"937be2e53a88f68474ab493dad86b018b3901b81","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.3","@things-factory/dataset":"^10.0.0-zeta.7","@things-factory/auth-base":"^10.0.0-zeta.3","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.7_1783704273512_0.9214113571359364","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.8":{"name":"@things-factory/kpi","version":"10.0.0-zeta.8","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.8","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"26868cdbe22dbcca6fa7aacb776ce8f6a6b8efed","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.8.tgz","fileCount":441,"integrity":"sha512-I5CzaLbMVg9/2qd/I+qZqGOL4jtVL+E5uHEUdrJuvG30NIu2dLIWlf/1NG6PONLrJDCDWxMUNef4xhBXBEDm3w==","signatures":[{"sig":"MEUCIB4dZPpqfPc39KjoNzgmoKYTslSGvjGT40hAqiog7XwAAiEAkIMavqoa9yl2U/87yM/24WYbTQIAuTngiTTVIb65+Do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3568654},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"75dddca7d209c85b5380637490fbe95d3df67d4e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.8","@things-factory/dataset":"^10.0.0-zeta.8","@things-factory/auth-base":"^10.0.0-zeta.8","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.8_1783837165185_0.9221844151255854","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.9":{"name":"@things-factory/kpi","version":"10.0.0-zeta.9","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.9","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"095897ba819f604d2b65fccfcf18d04188d65d9c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.9.tgz","fileCount":441,"integrity":"sha512-N8WMesMk8A/E5yIR/930nvJgcEj8gchk24dOSri/ghzlbhbuhf1y1rJ5tKZPVXJVTFlMwwGkINvOLi2X0AaqTQ==","signatures":[{"sig":"MEQCIAaW0jqpG6dLRa7yELFasqILR2MMGaOhEgbm5dkyI4zhAiBkB3tZJYA0oZG0EmQZyGVVRDsKwusbm+8HQNXks1kzAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3569551},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"cbf8db6e7bbd6b69fb591d27393252f105ba498b","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.8","@things-factory/dataset":"^10.0.0-zeta.8","@things-factory/auth-base":"^10.0.0-zeta.8","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.9_1783854633641_0.10682642495934469","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.10":{"name":"@things-factory/kpi","version":"10.0.0-zeta.10","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.10","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"163306191014f1fb0e44e63ae60b93d082346d9f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.10.tgz","fileCount":441,"integrity":"sha512-DzT9vBd553U3VkIO6DFTM8GFTZAMsSGcWFshQQHRjU6Qzv/BIoP8ndj8OfjKutNyV6iGWAgR7mVThulo7ZMB/A==","signatures":[{"sig":"MEYCIQCBkGZKXXTnPwW1f9Rpxbh6KMu8OTbp702A4EtO2rB+hQIhAP07mRpU+qNpA724goGuOM+UpgsA9MkgVU5ykq0YAa67","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3569848},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"66f0cf11f6a6ddc4ad756a55fa13b26a55d89fd4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@things-factory/dataset":"^10.0.0-zeta.10","@things-factory/auth-base":"^10.0.0-zeta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.10_1783953269475_0.7282309392381934","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.11":{"name":"@things-factory/kpi","version":"10.0.0-zeta.11","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.11","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"06a5b4d7bad2632800aafea7b4e00074e7d2ed0b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.11.tgz","fileCount":493,"integrity":"sha512-Af2mIdyJm6f28eEeSEGTEGq3Y+KtI0L3/fOYAOV5zt+xVMhVFBH3pR8OE3m98pcaZCv2dXV4/n6aT+NdB6EPpA==","signatures":[{"sig":"MEQCICE7FG0hX+p7i52XV8ZSNGZ7gq+QF5Ljajp2YBvOCzxNAiB3nEZC788jqar1VQrHh0lb9hD8Td+g5zrJcUG9RLzilA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757724},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"20aa620e41117eab07185138ffa56769ecc2df82","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@things-factory/dataset":"^10.0.0-zeta.10","@things-factory/auth-base":"^10.0.0-zeta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.11_1784039719374_0.3791640350354808","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.12":{"name":"@things-factory/kpi","version":"10.0.0-zeta.12","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.12","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"c942f6dd10372de7add00231b36256cce56ac326","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.12.tgz","fileCount":493,"integrity":"sha512-W1Gk3jdHWnP2bHgge42qn+tjZqihFI99itAKzlmphKf1D/taH4kvcr1myVHjvk8RttTohdqJMkg8QsIg2gQLAQ==","signatures":[{"sig":"MEYCIQDm6VGJ2mEi6BeKqdD87X6mpFqn/OVQhfnR+07QnyRsAQIhAKIB0VrXYCLcV2S32nvjmWJfAoVburVivR5XGSCHyuxz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757678},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"97d4fea91a41bbe317e60f80bd6bcd7444d777e0","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@things-factory/dataset":"^10.0.0-zeta.12","@things-factory/auth-base":"^10.0.0-zeta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.12_1784532431565_0.2283110553516956","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.17":{"name":"@things-factory/kpi","version":"10.0.0-zeta.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.17","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"0dcc65bbf2eb7a8b912cc911ae1c072547e2a565","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.17.tgz","fileCount":493,"integrity":"sha512-pgoZczLQi7mfxhvOFiGrQ0MnF8d++zxjGcN65SB1fpvJcXC8E5dgwEWNApD0FbzIbUndMDossLqDnFLrLKw41g==","signatures":[{"sig":"MEQCIDjd3/kCV/oH4FVVUGtqitmP2oBGVXXp6p9gExpV77zNAiARzAs2XcoAHEkiDxdnqE/fGPk0HkkgLWWYyHQbUdskSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757650},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f4654e1a1abda8891a271a140473e497e86342b5","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@things-factory/dataset":"^10.0.0-zeta.17","@things-factory/auth-base":"^10.0.0-zeta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.17_1784873376274_0.5191072915620301","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.19":{"name":"@things-factory/kpi","version":"10.0.0-zeta.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0-zeta.19","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"3c7f12545754dbf05c0c6630eadb75a5221c2870","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0-zeta.19.tgz","fileCount":493,"integrity":"sha512-35b8zrzVX/e311lJnoDDO3r2/dyewhSOEunqLM+d6HvAHeF/pb0u9QOiR0WyVrtqPZfGp4jYekG6G/laqpJJ5g==","signatures":[{"sig":"MEUCIDiEXKHkOBmfd99lf4HqBHS6tNyeORofQ/bi9orxwV1fAiEA8B5kLB93YBj7hGVe/L3NCHv4I8ybq3PldWPE5ha+Vd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758611},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7d320de9943dc929c2fa71cc44b2b78089288f76","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/p13n":"^10.0.0-beta.1","@operato/shell":"^10.0.0-beta.1","@operato/utils":"^10.0.0-beta.1","@operato/layout":"^10.0.0-beta.1","@operato/styles":"^10.0.0-beta.1","@operato/dataset":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/data-grist":"^10.0.0-beta.1","@operato/ghost-print":"^10.0.0-beta.1","@operato/grist-editor":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@things-factory/dataset":"^10.0.0-zeta.19","@things-factory/auth-base":"^10.0.0-zeta.10","@operato/moment-timezone-es":"^10.0.0-beta.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0-zeta.19_1785056536600_0.45012225591045363","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@things-factory/kpi","version":"10.0.0","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.0","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"30c1ea818ef1f25f9075c7d700f08c34160e4f98","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.0.tgz","fileCount":493,"integrity":"sha512-m1H4f+lY4/TgwzHBL+xnU691+qpQ3v52cL4y6gaiYDZ/mTYxw7xU/xjwiNe/T/rIWUKt7NLIhx/OTZTWywry2Q==","signatures":[{"sig":"MEYCIQDI+SwNA+L2TbK+tFCFeekIa8R/INax0NbJ2uyo3f5zOAIhAKnQg0sKPfuj2WOUNZi0281iHBe6Mikd66R9t52icn01","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758488},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b20fa0816c33727f7ec327e0455687d3be620c58","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.0","@things-factory/dataset":"^10.0.0","@things-factory/auth-base":"^10.0.0","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.0_1785330904599_0.5261793238324868","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"name":"@things-factory/kpi","version":"10.0.1","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.1","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"245cdb4d40076711ec3f93ad47e064674dfbbc97","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.1.tgz","fileCount":493,"integrity":"sha512-0d0/3X07PQKtthn1VFt22I+OkO9mpkqbdv/ZlGotuZNi4/rKZCIb3jD4BHg6t665RwSFhPOIhldQCXmaD5fm8Q==","signatures":[{"sig":"MEYCIQDWxUGi3b1wwSDeX/G506Kcca2gsW/CTw5nFASDzzAJCQIhAKwoyxEe53ktF7ke1CWT8ZLsLvIsHx3kI8oDGMRQfpRw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758488},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6dd5b25ed1fe863415793bd156c3411ffe1ce47d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.0","@things-factory/dataset":"^10.0.1","@things-factory/auth-base":"^10.0.0","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.1_1785331996878_0.25245092758894927","host":"s3://npm-registry-packages-npm-production"}},"10.0.2":{"name":"@things-factory/kpi","version":"10.0.2","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.2","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"9985a70a33c9f709be0b45f961e3b8a1bab69c5e","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.2.tgz","fileCount":493,"integrity":"sha512-jqeAosOl57A6kDDxGx+vkis4d/+5MGRgT+3ao5j47vVDcaI26exBCwlEGzbArFkp8MyZ8Z7sv4HdplVtqzM51g==","signatures":[{"sig":"MEUCIGNzB6BAaQ+UsH/0u7NOdYiB0OkFGCFCO3Y0sfO4YN6jAiEAumtas7yfwVUohOqtrd0pYPbh3Bu3vPKBGvDv6zcyQ5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758488},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"a69c3592a44e27bfa8212bc06268bff6140afc9a","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.0","@things-factory/dataset":"^10.0.2","@things-factory/auth-base":"^10.0.0","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.2_1785347847990_0.753203990446381","host":"s3://npm-registry-packages-npm-production"}},"10.0.3":{"name":"@things-factory/kpi","version":"10.0.3","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.3","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"6ea1237b83fe496942d0b031403beefbd11356d2","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.3.tgz","fileCount":493,"integrity":"sha512-9EW+9HORfn5TOALWsEHHdT8F/UeQIR7Lsjmk2aIM+Nq+YScv0H5cdGz8iXm1+3Ni7tCSCvCvZ/10UiSt7AdNKA==","signatures":[{"sig":"MEQCIBc06XfkojuScWYAATTICFnSVgbgOY1ThWaLc3FJ28W6AiBxC6AeP8ptarAD8Hz3igCn4DK6sKCYx7YOHF/8XCM2Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3762060},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c7d253b722b6917e8911f6ef6e78e5fc2b295e82","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.3","@things-factory/dataset":"^10.0.3","@things-factory/auth-base":"^10.0.3","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.3_1785410109246_0.32172219053462325","host":"s3://npm-registry-packages-npm-production"}},"10.0.4":{"name":"@things-factory/kpi","version":"10.0.4","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.4","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"d5499cb146ca18d2312ca2cece5edc2b8a83b342","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.4.tgz","fileCount":493,"integrity":"sha512-p6N81bm+x4ruHMSFIaDiV4nQIJRh80iDcr5zn4yeypq+W/E/HrZDERNYs2hsJZGFv8lpbH6tDqgkz/Y/t5fSIA==","signatures":[{"sig":"MEYCIQCfRvWHRgQfQETQbwijNkVHhWsWSFbHTmPuXbM72ETZZwIhAOQKiZd3zzTeKkRNdYd+ALWkaw1PQcWod4I/BMaZYLHL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3762060},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c8f6dcfea3ffe7a9dd2a7195e83e2e4e201fd5ea","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.4","@things-factory/dataset":"^10.0.4","@things-factory/auth-base":"^10.0.4","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.4_1785413299165_0.6887430035865887","host":"s3://npm-registry-packages-npm-production"}},"10.0.5":{"name":"@things-factory/kpi","version":"10.0.5","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.5","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"9bd3ccc7cde996d7ccd5dfd54319ab5f28e71d32","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.5.tgz","fileCount":493,"integrity":"sha512-2oDzEhOFfKWKb4+CVsFJAcrCVOMxKBFn6VN+JpvAivj6y8PxhpE8Gdfn/YqVh4kFIE09MbleZBuPpjKmeuc8mg==","signatures":[{"sig":"MEUCIQDlu28DTvY9OWk5AWxBEZkcJMUvEtc/mlbJNUqLZH9ahgIgGARvE5ni7kOaFWE8MJesxshhME/2MWxVIk6GXtEiI5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764371},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"42240a9b6d504181850ea30188f215434b2dd55f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.5","@things-factory/dataset":"^10.0.5","@things-factory/auth-base":"^10.0.5","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.5_1785455708125_0.6643207679733854","host":"s3://npm-registry-packages-npm-production"}},"10.0.6":{"name":"@things-factory/kpi","version":"10.0.6","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.6","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e84e8f101e236944216c2745f2e7d856b9681afc","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.6.tgz","fileCount":493,"integrity":"sha512-HBzuU7qgYxlkISo38Yi0mm0ASVRf2T9GQ8jHfMjxHSGpu+CBIXLofiYtniKReKPnDCpxWTapIjRY7sUS+F0l8g==","signatures":[{"sig":"MEYCIQCKWJnOce1QseNxAT5JVamJcHdpvMe7Ymo/xwYSJ9L/fwIhAOvdNEcoOWQTqiWQ/n/+TR9XaI8ZBIjrGu1FGsBHrEkx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764507},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b929c16f83f70bfcc9a144ac6a50232efa56cd64","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.6","@things-factory/dataset":"^10.0.6","@things-factory/auth-base":"^10.0.6","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.6_1785486818575_0.8996468609484682","host":"s3://npm-registry-packages-npm-production"}},"10.0.7":{"name":"@things-factory/kpi","version":"10.0.7","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.7","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"0d637d7c83ea2c7ed0ace6d204b6b025834d4394","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.7.tgz","fileCount":493,"integrity":"sha512-fQmAeexMmi/khM15JVtT9Eyw4JLojZkcA/MOnz2DKFzEc4F2ekEwBhY3h0FqOAiqstRSsG8O6rHuaPZZO8ORbg==","signatures":[{"sig":"MEUCIB42xwMdsNfjTIKeU6a8xglBUDMDqph7+rfOyOGGtLuMAiEAq/28cdLYJqsl5Qs7Gwj3XJ2gwtPwpdhOpCnZJ1isuN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764507},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"fffd94e886b67ed9019993a572a632054e812fa3","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.7","@things-factory/dataset":"^10.0.7","@things-factory/auth-base":"^10.0.7","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.7_1785650398046_0.4312144672358895","host":"s3://npm-registry-packages-npm-production"}},"10.0.8":{"name":"@things-factory/kpi","version":"10.0.8","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.8","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"2b8e7c96f2d5cb433fee8faa4ff47ffce082894e","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.8.tgz","fileCount":493,"integrity":"sha512-uAA7YCeMXeuey1sTxVehuVT6p7oCWGsT6X4IBKiko4n/p66Vf+KUJILq4/gMOqiKV7A+sRDwEpYteK6ec28XbA==","signatures":[{"sig":"MEYCIQDwqA1O7+YmkfWCNqy+JWOO/B+HFZfUyuaOxJ1Bku/TYgIhAPz2pduQcAUPx5G/P9QweOEivLeSe+QsRb73jvAaXDZP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764507},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4a5a29c9c4a8a3e04fd67a5e5a11a42f0131ad4b","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.8","@things-factory/dataset":"^10.0.8","@things-factory/auth-base":"^10.0.8","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.8_1785650852394_0.30166208250100657","host":"s3://npm-registry-packages-npm-production"}},"10.0.9":{"name":"@things-factory/kpi","version":"10.0.9","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.9","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"e102cd736f5d7b7efdeba705b307f64e3584220b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.9.tgz","fileCount":493,"integrity":"sha512-H/qiTOT76v6q7/cqk7TLYeB4VRWODays1IdlB1W5MTWZ5K/uH4gjM1HvNq79av3aa/tP8jWeksylUFG8N35acw==","signatures":[{"sig":"MEYCIQC4js38LUaMxZ3DYcOuP/q7P10nHNOo4i7O0GwC4dcLiwIhAID3mSZZ83YCiEuvTQXjcdxiLiTvIE410Amt/Aaax02h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764507},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b7a6c48c213e7a504114397b752004a295c1df72","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.9","@things-factory/dataset":"^10.0.9","@things-factory/auth-base":"^10.0.9","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.9_1786027882281_0.33224957660006704","host":"s3://npm-registry-packages-npm-production"}},"10.0.10":{"name":"@things-factory/kpi","version":"10.0.10","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.10","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"c93a189041e93d89e234855dbb1b2a5a7a4cf768","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.10.tgz","fileCount":493,"integrity":"sha512-8ClAUiX3mR5UcLCE8dAGfrrbHBUnfDCO7ijquEqUa1DfjGhYZlbEZVa+dPq4RW2gYuvoUJlqYT7Hq9tJfNF5pg==","signatures":[{"sig":"MEQCIEcQq0jNVo6NNZBQ3bxoWN6ayqR/VYzV1T4Kdej4WEdLAiAsLl3d9OMtuh1tpXp9knRIeGU1WUKNHWGZcGQvE2C2UA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764527},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"afb7bf76bb16e946c8e62d9e79199c3fa5e34174","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.10","@things-factory/dataset":"^10.0.10","@things-factory/auth-base":"^10.0.10","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.10_1787051229841_0.1916791192462688","host":"s3://npm-registry-packages-npm-production"}},"10.0.13":{"name":"@things-factory/kpi","version":"10.0.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.13","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"01f87e9c4cfde8c2213a04630a57d31676cf1919","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.13.tgz","fileCount":493,"integrity":"sha512-urtBQUm8iYLXgnNuGStMUipQcuptBWs2/8AJxJ+CM8MTzrAyIHR1+T60KvguMCH2Co/T+lxK8XQ+4cCTsc3mFg==","signatures":[{"sig":"MEQCIDBa87+gh0aRhuZjr2DJ3MMDm31pD/E57SD6vYnM9RtPAiBscomxAze6OoWWrnCyky8GBH9hxKSUb7yUx+vTqK9byA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764527},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"808b3b9e3bf15c058316ec4c73455108df7722aa","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.13","@things-factory/dataset":"^10.0.13","@things-factory/auth-base":"^10.0.13","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.13_1787484051744_0.8764888528033821","host":"s3://npm-registry-packages-npm-production"}},"10.0.18":{"name":"@things-factory/kpi","version":"10.0.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.18","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"d58af3ebdc9d57568299100890f53a15cd616a3b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.18.tgz","fileCount":493,"integrity":"sha512-Ga2rlpa6U82g2jvgkqgMYIb0piZ4oeK23t63NmZKtGx/hY1xlCOC8ULr7SPTbgrW3NPglLnSSAsutNnIXV2BYQ==","signatures":[{"sig":"MEUCIQCGlxIHayrzeqiur+hg+wgbRuaAdbGJKGF3ZKOlMQk+DgIgLQOE1luxz0B6Lh6ByOuW2hvDZUCDyryd5nNaRGskeVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764917},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"806c7af400517177f1323645df03558451587533","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.18","@things-factory/dataset":"^10.0.18","@things-factory/auth-base":"^10.0.18","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.18_1788103189436_0.9592372393701603","host":"s3://npm-registry-packages-npm-production"}},"10.0.19":{"name":"@things-factory/kpi","version":"10.0.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.0.19","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4b90a14ad189b31662a6063f79e6d6d818d698f1","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.0.19.tgz","fileCount":493,"integrity":"sha512-czPjqD5DGEE6fi/oROcmcotwb2/HdOQsQtqR2CA7eAdQjb7uZ1ZKTPGCk6BhVL235cL6EzDZZt+8BbLJ6+bcaA==","signatures":[{"sig":"MEQCIF1GPqvzLLGg97G9Cb5CoLZGgcOfuOnr7t/7tQa2CfQcAiApQy+sd8Ox5lTTiX/Co2quttMNh73bvEzx5Ly/X3kyqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764917},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"5c170a55152cfe906fe6dbc30e6bfe474ed64122","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.0.19","@things-factory/dataset":"^10.0.19","@things-factory/auth-base":"^10.0.19","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.0.19_1788170861196_0.5914256837706475","host":"s3://npm-registry-packages-npm-production"}},"9.2.35":{"name":"@things-factory/kpi","version":"9.2.35","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@9.2.35","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"800debe0be5921af01dc9707ab8a2c948982a014","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-9.2.35.tgz","fileCount":534,"integrity":"sha512-KFPSnbH1kJT7MVyWr7x/jDgD4a7RLEzBs6ujTFdYsFlY6xT80FgNOcp+ZjdRUCysURmHlkEkqoSSYT6aIu3eKw==","signatures":[{"sig":"MEQCIBBxFtIVjtSl4KCjTQr0YsGFvq0U5VA7saK5dQwb4kQBAiBTChZMu+qvChlH/ubb594QEEN1S/lZabTZ0hjZ21lkqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4126526},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"1a09de34dfaa269ed463b200663a3ed57e3a1863","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.19.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@operato/app":"^9.0.0","@operato/i18n":"^9.0.0","@operato/p13n":"^9.0.0","@operato/shell":"^9.0.0","@operato/utils":"^9.0.0","@operato/layout":"^9.0.0","@operato/styles":"^9.0.0","@operato/dataset":"^9.0.0","@operato/graphql":"^9.0.0","@operato/data-grist":"^9.0.0","@operato/ghost-print":"^9.0.0","@operato/grist-editor":"^9.0.0","@things-factory/shell":"^9.2.33","@things-factory/dataset":"^9.2.35","@things-factory/auth-base":"^9.2.33","@operato/moment-timezone-es":"^9.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_9.2.35_1788177709878_0.18023894281897346","host":"s3://npm-registry-packages-npm-production"}},"10.1.0":{"name":"@things-factory/kpi","version":"10.1.0","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.0","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"f5630ed94bf4bcd167a87896119f1d73b829727f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.0.tgz","fileCount":495,"integrity":"sha512-I+CPxPbvtXMSYiysMgsKSj+g9tE0pkCRyu04vfZDng2XZIwupCn8ydQhLsLrXUR6kMdrlKnrx+wj19szX9Q3SA==","signatures":[{"sig":"MEUCIQDLFeGhC7fwdJgzvocL1pqqAN95iut5IQ4NoD1SML+UVQIgIqHgXfCpIVPnWp9BHTeL5MEhrH92nFskD+lI5/wtg64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIENhdnEtkooYooqfEd9a1mHdIOF9+sFcTgHSMflFs8IEAiAYNiU4bQKYE+e4UQ3dagn63Mb/CoY/DxuKf8+oXH9mqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3740988},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8407b1e9d1f47f6676af144d4a33c8ac01cb49c4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.0","@things-factory/dataset":"^10.1.0","@things-factory/auth-base":"^10.1.0","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.0_1788789315862_0.11379603190221532","host":"s3://npm-registry-packages-npm-production"}},"10.1.1":{"name":"@things-factory/kpi","version":"10.1.1","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.1","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"095a5bfc79f2caeb545f6f53808352771014e112","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.1.tgz","fileCount":495,"integrity":"sha512-rA40eNBgZy2XMl8izisWlU9LNhRLUxyfk1ugId5ffypRAiMXCV96QqjzI6cFLaETi6cU2D/WZFwhR+qm4ugVrw==","signatures":[{"sig":"MEUCIGS1H0afxDjLVa/An83iUBYeNHQAAsIrVzbMe4wBHgHBAiEAqiCsIgyhLJHsBe0AqL/noUmNR8BmZJyuKfnCGuUGCRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFilprF0qwqpIL5OimmxbqnMLCA/4Ne3Qw+4HhjE7G1tAiB6B+xu/htSFjXUchuNr3pkOqvuQl7yYvlTkhaPrpZ4wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3740988},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c8f13c30c39e006f932eb2903b27bd30587e7dc6","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.1","@things-factory/dataset":"^10.1.1","@things-factory/auth-base":"^10.1.1","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.1_1788789349714_0.3995927639982615","host":"s3://npm-registry-packages-npm-production"}},"10.1.2":{"name":"@things-factory/kpi","version":"10.1.2","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.2","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"dc208d1f19c4a94146991f0aed2d81305dcd16cf","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.2.tgz","fileCount":495,"integrity":"sha512-UGoia46E2GFxMQgOTDQxJigxksiAd5Fa2ayimfRGjDwjyrfC9bhQVQR1ryFAzcCaHFVROL82mxacZy1gJY2IYg==","signatures":[{"sig":"MEUCIQC2IOsQZhV4xClfFWVVp1oyn5iCJxzf2QTu8jBO6wz7TgIgPFwAWrpNr0Lu0Ym14vj1G/lQUj6v20FM3ixAB4CWmJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICvXHfwgvDMHY/pxRonliYeRH5Klb/Uk9WWed3cyMKGwAiEAvge57tlF2zGXuD8WdomIK95U1LDs6LEW0brjaVfeBVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3740988},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"679ef1d63953fb006afed9c2402dab57d7314f9a","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.2","@things-factory/dataset":"^10.1.2","@things-factory/auth-base":"^10.1.2","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.2_1788789673567_0.7844171158447384","host":"s3://npm-registry-packages-npm-production"}},"10.1.3":{"name":"@things-factory/kpi","version":"10.1.3","author":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"license":"MIT","_id":"@things-factory/kpi@10.1.3","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"homepage":"https://github.com/hatiolab/things-factory#readme","bugs":{"url":"https://github.com/hatiolab/things-factory/issues"},"dist":{"shasum":"ac9741c5cece26b204845b9a2b98aad15a69eb72","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.3.tgz","fileCount":493,"integrity":"sha512-IMjUVRMNXq2eW9Ef/gvcPVV7kTXn2lS+2Pj9oPyJ8Ydh6wquJWPMHzoLvKR2XMWe88eJfrU0tURu5ifrZlOlBw==","signatures":[{"sig":"MEUCIQDAreBFAierIndbmsKV5pCQAchtjXF7aCJSFRztp7rkOQIgHOXGaFgNlbTna+9yR+nBU76A8Vy7BaZTYvx/d80d2GE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHkWv6oWNBl4aHDNXGfFys/JpiU08Vvqoad/VWxHuSnRAiEA0NpeUMWBep2uT6lrn6KR1QtdrHf+lv55AY/zR5h6TFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3233837},"main":"dist-server/index.js","types":"./dist-server/index.d.ts","browser":"dist-client/index.js","gitHead":"8407b1e9d1f47f6676af144d4a33c8ac01cb49c4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"11.8.0","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.3","@things-factory/dataset":"^10.1.3","@things-factory/auth-base":"^10.1.3","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.3_1788797346547_0.33924586170951376","host":"s3://npm-registry-packages-npm-production"}},"10.1.4":{"name":"@things-factory/kpi","version":"10.1.4","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.4","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"7e4008ef0ad4408fd69e12ea70c5b5092a90a78a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.4.tgz","fileCount":495,"integrity":"sha512-g1XmDHD7vCsIiAVDukVitQcMYi+CeSXS5Ao/oaPxudNHh14CVcoeuGn/L34vBAOEvFUxxmO56dWuKb0mlukB1g==","signatures":[{"sig":"MEUCIQDiS2ps8FX/Em41KwyVcL6cnqeelQYVBb4hTWrojXslgwIgQVYFwFV5dZwIrtX4TS+oP35kUmSnwakZe1nO0m33Oho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFPa1Cil0C+ReP0a/i5++QxLtmGiiba9J0PeZzV7GX31AiEAuEVzxM4g7K1c6pTdrBus9Azh8oexCCteEet3L0Ghnrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3740957},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c653a2967daa76b3828f1eb7f4eb18934263d4b8","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.4","@things-factory/dataset":"^10.1.4","@things-factory/auth-base":"^10.1.4","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.4_1788914228928_0.15965804341194212","host":"s3://npm-registry-packages-npm-production"}},"10.1.5":{"name":"@things-factory/kpi","version":"10.1.5","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.5","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"2943ce9bca0f43da3e24c83cfdb475303dab55f8","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.5.tgz","fileCount":495,"integrity":"sha512-BgxOo3AOj/UrRo+oUWYVtrqN3fr+qwXutq/W/BdEuwP8/u++lSGjoQZ3M9Mb7gXzU/uXHLVM5HCwvBiBO6Z6Kg==","signatures":[{"sig":"MEUCIBwIUAIUzHu+Lxq6r4hXDITukEV1qmdSsHIpi8/AyvJTAiEAmKNWRQZ/I8RTxE25H92PXW+UpCVvAt+lGzIxAqdsAbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCbYH7p0aBOzSuA6tr1Fn0un1kuCPfRJRgtyL5RxsCRgAIgAVahMpxZwW45XrblsK+KCS6g1Y89tOb5bqgiUdRJvDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3740719},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d7e60939822ef18e5311311746b2abd28f169173","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"nalshya113","email":"nalshya113@gmail.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v24.19.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.4","@things-factory/dataset":"^10.1.5","@things-factory/auth-base":"^10.1.4","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.5_1788943901150_0.19780269208965207","host":"s3://npm-registry-packages-npm-production"}},"10.1.6":{"name":"@things-factory/kpi","version":"10.1.6","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.6","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"9504e544a1fa91a1e3e7d1ee3e62e9b4ecfd9461","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.6.tgz","fileCount":495,"integrity":"sha512-fQx1G6Zle07/deTGjXFhW3Cz3fXKV31YZFYROnLp2bB5+KGE2euCrwlc/P28vDpfRm12sh3eP+8fCCsFmBocyw==","signatures":[{"sig":"MEUCIBbdimrf272aG9XSqCYUIwqLWdYhBBDHRMv/KKHMMtOnAiEAsIUHfpj9s7YDI+ooAJ8urtt7+pTf7IOoOEcg99ZsO7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC+WWWcpecuvAMF1lqff9tx5bOishRopzKjYNzv9aoaggIhAO2mlpiz3STn4Sk+u1qE96aJG2OTmN25WqHCKL1PvrXA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708188},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"963aeb9ac470be5aea05bb5842a0a92afcab6036","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.4","@things-factory/dataset":"^10.1.6","@things-factory/auth-base":"^10.1.6","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.6_1789054927753_0.994070066432325","host":"s3://npm-registry-packages-npm-production"}},"10.1.7":{"name":"@things-factory/kpi","version":"10.1.7","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.7","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8d6901e6c291cf297b59e7fc0487ca72bbc005e8","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.7.tgz","fileCount":495,"integrity":"sha512-ud/BsRlDdfkPgxuk4VKC9k0ac5y3FuFItO942WkcI/6qseJyBwwNDx9vBoS6CbyI0y+AwAqGua7cn0G+/b5zkw==","signatures":[{"sig":"MEQCIFZF4H8yisj7ERLHW7lY6UEEF8ITGHR6sG0FQflLqPKIAiAHcCJnOJ6daoN+ScnWq5Ujw4gxzsaJ6UwdnMUNCtb4Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFWmAYrhDNMYl0c5JseJQoxInOKWvPkwM59JrKBO1kG0AiBbxiQiLvzBN9wY0r49HaZfpzlZRqRXehkk3kS7UbdMXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708498},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"9a036f83f5751f9e4af9180e9a0018f716a4ba27","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.7","@things-factory/dataset":"^10.1.7","@things-factory/auth-base":"^10.1.7","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.7_1789144391428_0.14939653270642372","host":"s3://npm-registry-packages-npm-production"}},"10.1.8":{"name":"@things-factory/kpi","version":"10.1.8","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.8","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a594d1b5f4e7d1e0a09c1392e1c66fbad64653cd","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.8.tgz","fileCount":495,"integrity":"sha512-tcWEkHSetQi2ZLDJtlErl2GvXhiRM+MEdW2gK1Jg20Cm0wPAZR7+SihL6j9hZAQb41sAy2ID3BpYCH9avnlnIQ==","signatures":[{"sig":"MEYCIQCaDCf4LgKvkbQtu9UXOV8UvaKdkg0Rxh8/2YoEmyQk/QIhAL5a9YH+JKNY/3yk0rwpHNCStbDHLILMA/iAWnJkK9V1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHSfWIVBk+zDZHv0T9FYU2Q6+sWwXxOQDWj+OAczZGHjAiEA505sRHfKm6JbNAi3tt1qbxNeqNyTBih95+3ojAik4Tw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708281},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c402982e29aab3b49e56bea4e41948be6a749c7f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.7","@things-factory/dataset":"^10.1.8","@things-factory/auth-base":"^10.1.7","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.8_1789199268003_0.6805589363222182","host":"s3://npm-registry-packages-npm-production"}},"10.1.13":{"name":"@things-factory/kpi","version":"10.1.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.13","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"94ff3c38cc031ee9685546c7ee9e609def750798","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.13.tgz","fileCount":495,"integrity":"sha512-baP8lcmgq8Lj3YHXyUOIV6YpI3/DTHSemxD26ffWYJu5dqswS2/FnOJv5vsxII59qtTVtzlMsiASwEHVmaXsUw==","signatures":[{"sig":"MEUCIQCHlIJMboSdK/Ub7hB585dug/COMemd7fF4mki62guToAIgUvIrXgBSOaOY4iwmwzydWgoR+jOyOIlclKdblTaZr6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDkziulrMDVEbzL43cVE6jJeXDSV1HL1JnPOfmJwYp63AiBdY+vYftSDeDT01bWevFC62W4EwuJttuUs8WBmUr6pFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708283},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f2cd3d27e32e71cca1d3af5499ef54249b1cc111","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.7","@things-factory/dataset":"^10.1.13","@things-factory/auth-base":"^10.1.7","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.13_1789281517343_0.5510267530283268","host":"s3://npm-registry-packages-npm-production"}},"10.1.15":{"name":"@things-factory/kpi","version":"10.1.15","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.15","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"09a41387efc11b4ae845b17dd95e62c1d284bc44","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.15.tgz","fileCount":495,"integrity":"sha512-IFJraz9yugdqj8AusIUfxiExYH5hj+Koy9pvobaEfL29uYOEBy1RAzJgVejLKQnRv0KfJimgod4TWmW3eBxDxQ==","signatures":[{"sig":"MEUCIHtAcBOI9XHiZe0gpvS3xxaGzA6FPqC57cVDUVwYAn3QAiEAja9pqRf/XMdXeOttE9SJadW3jrkm6XPP4qJ1WdpJfGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBks23um4bwDKHpr3EGpIyRnCwtWyN+A3hDwqc2jj5N+AiBaTJ2g97Xyp4B15X9og6OXqKFZK/hdKHaz/NkEqzrjTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3741373},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0186eb7ec008781fd9f80b6f59379a91e0908820","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.7","@things-factory/dataset":"^10.1.15","@things-factory/auth-base":"^10.1.7","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.15_1789433072369_0.07655362603867766","host":"s3://npm-registry-packages-npm-production"}},"10.1.16":{"name":"@things-factory/kpi","version":"10.1.16","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.16","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"af137f70e86ee9b456053bef769af262cf2b8aa4","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.16.tgz","fileCount":495,"integrity":"sha512-IyOWTnl1aBBwsb3kJ7BHXBD6xKsw52hhBD/ED3XMFkldUOmKCsJLuESzCQAUEyBLQEzZJrdYReFG2MWFq/FUvw==","signatures":[{"sig":"MEUCIQC1AmYJecuhCdkwwgXL9LauHddVHm0rKqar+Xbt2VeXiwIgYn4osiryGFPJmgxoMGMIL2FXELo4e+nADr6hDTOt8mM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCjfHSijLe6fppUruwOgD70c0k2jFS0Zw8PX8kUpWBX2AIgeGZqdVwgxQirOA8vSuagOZmU5NurTFRt8smc//tr2XU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3741710},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"aff86bc162b42c1d933711f7bc85a073f1ddcd29","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.16","@things-factory/dataset":"^10.1.16","@things-factory/auth-base":"^10.1.16","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.16_1789474667780_0.9919982291835536","host":"s3://npm-registry-packages-npm-production"}},"10.1.17":{"name":"@things-factory/kpi","version":"10.1.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.17","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"1f4800e4e2049e52abb1b92cda103ccdaabec916","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.17.tgz","fileCount":495,"integrity":"sha512-4j9joiHvFYTZYEFDbOck4UxtkoYn5iM0/rZEjtohv0P9UbOJCcnadbuZLCGZx3JcXjFvky+TnfRenE901h6L4Q==","signatures":[{"sig":"MEQCICeJeKVLZ23CyzsDrxo201snMn0VcV5Anyi6DOUjwbNVAiB2eG+W/EzWJIa+aVxXyr78igCwqaet6bDlrFsxUFmG2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFufw9Ai0AcpPUjs8YVf8FMLc172hBaPktkxz7svCrByAiEAon8FOQd1VdTbE8SbewjKCjU83idK9wNZa16N4yoAepU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0c8214182702162ceb5398bdcf42ef14ea672394","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.16","@things-factory/dataset":"^10.1.17","@things-factory/auth-base":"^10.1.17","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.17_1789520749496_0.3235588342671327","host":"s3://npm-registry-packages-npm-production"}},"10.1.18":{"name":"@things-factory/kpi","version":"10.1.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.18","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"cd2df77ee549cb94b65d24b09ce1fa6847a653a7","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.18.tgz","fileCount":495,"integrity":"sha512-N0AhxXtrd0qOQkqp3zneGJ86u6kKmBbTIkNtgfUAh2G2CLsB643aL4KeGk6+jEP5bEIGR3i/sMkicecJDktnCA==","signatures":[{"sig":"MEUCIDn9KMyBDmF0ZPqVuKimtnqmqpwG4OSBkNN/akwRKUkiAiEArL6IScYsoqwhaOPhYHWHX22BqZXJNzYR/XAiboY60kg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2g6qsVcPxwUCv9WuYOBwehfh/ITSxcYcNCfF0WyfMGwIhAPyZg9ng+eKEnx/kZcFA7sgcvLa0eDDVOyq6ZjUkFrmd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"608fe1a70f430ae9c3aa20497173cecc8121373e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.16","@things-factory/dataset":"^10.1.18","@things-factory/auth-base":"^10.1.18","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.18_1789558288954_0.1930965586103106","host":"s3://npm-registry-packages-npm-production"}},"10.1.20":{"name":"@things-factory/kpi","version":"10.1.20","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.20","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a2c191262441633b4e0b0e0f0411c1b9bae0f05a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.20.tgz","fileCount":495,"integrity":"sha512-+g1/9yBsKf1pSb93sia7Cng8duCAxFHUXxodBVF4C7T9ZEwhWt0JOEr/ohb9ej4kxL7VnwuHuP790cXZVvHyYw==","signatures":[{"sig":"MEQCID7d0u92KIpZ8++UX5T91TLnhXtRUwRdfBFQ921NBMk2AiAxkrSBraXr79ZEFnxVmQlEE0xKwqYdfAsBsgOXAwv5Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD71XrHUXt780nvrmfe+RcsecQG9recSqPDEpLMlJqzjQIhAMg9x5oxBtefa3l7BONbiLKYC7W46i7sHo1CNG3G/8L1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6bd01660a4b28554bbe6ae4ee58f3ff844c5af69","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.20","@things-factory/dataset":"^10.1.20","@things-factory/auth-base":"^10.1.20","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.20_1789561166612_0.7698873946711704","host":"s3://npm-registry-packages-npm-production"}},"10.1.24":{"name":"@things-factory/kpi","version":"10.1.24","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.24","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"234b368dc817339c9be15009548aa46eb524dd06","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.24.tgz","fileCount":495,"integrity":"sha512-flmS+zQ8Ohvp+KIZ/GU/PPVJFn4cbwUpVoKvdmhGtzTwzde9fkNAZiLseq0Dfj7AYd3xKfpzdgKORwHHttfl9A==","signatures":[{"sig":"MEQCIF3ap+AN671vLK+d8cnbhzKdMlpvDFi5Z7dVf9kUJDejAiAK9KdYoSXX5OifkVUtYnuCAJAP7NvoyRoPTiHGUa0iLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDkod6q7Czr6nC26tUhcAymtHXwEG04cvLmT2A/ScrZJAiBFMZ2A/+w4vkbRzPiWdnSTb0HuwVyJ83YFq3QxN+4img==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3708620},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0d88a504e0ffa63cd91279b88c6998d4bf1b3d86","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.20","@things-factory/dataset":"^10.1.24","@things-factory/auth-base":"^10.1.24","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.24_1789571264744_0.5626591817092614","host":"s3://npm-registry-packages-npm-production"}},"10.1.25":{"name":"@things-factory/kpi","version":"10.1.25","author":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"license":"MIT","_id":"@things-factory/kpi@10.1.25","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"homepage":"https://github.com/hatiolab/things-factory#readme","bugs":{"url":"https://github.com/hatiolab/things-factory/issues"},"dist":{"shasum":"1f98f6eb9d01bb9e626b27c4c9152f76ea0c6519","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.25.tgz","fileCount":493,"integrity":"sha512-l3TkWsGFFpVVBHqD0GK/Ku3hNJMFN4jO7UQWbBt5iWmFRq03hdvjwdU/ZuaAYuHdXQ3YYt2ODVRdXDgcHOxHOQ==","signatures":[{"sig":"MEYCIQC6PE+1PSg1XqB9F2hssZmWVwz8UBlgU7X9lAuFofpScQIhAKgMHKvQdYYV2c4h3PfPpsJH2Gh2AAErPS/SCYO8FHFS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICd1cSmOrxwjszAKnYj1PRHozDdbalnRhIyVgRZ1AgAuAiEA51/shXSPSR3buGoG8J3zoeYcubkvPCtiy4+ocJAx+Zw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3233841},"main":"dist-server/index.js","types":"./dist-server/index.d.ts","browser":"dist-client/index.js","gitHead":"8407b1e9d1f47f6676af144d4a33c8ac01cb49c4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"11.8.0","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.20","@things-factory/dataset":"^10.1.25","@things-factory/auth-base":"^10.1.24","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.25_1789624765097_0.3446708687643387","host":"s3://npm-registry-packages-npm-production"}},"10.1.26":{"name":"@things-factory/kpi","version":"10.1.26","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.26","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"cab71e3cc22392f6f3a6293bc103be077a48a318","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.26.tgz","fileCount":495,"integrity":"sha512-9QDgYSjdsJ8x3QnRC14rgDtgl3kyp+7KmMZQcB2/8Amn5IJFtw4umsvqLQcdVcxdpaDHJpZHJr4mA/aODK2lyA==","signatures":[{"sig":"MEUCIECc3ER9URAgUaSkzShWGMwmCz346Ybd0HWzZS8N+y2pAiEA0tz/WLPo+SCo5DmGvhETJLw+e7Wldhai5yhpbbtdkL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDRf67n2Sp4Su8hlEAB2FriSAYLkenK99dr9k2v0W/UegIgKPvg2PUwK0AjEQUikpsjNpE6bATn5ColSuiNnDYCVTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3709803},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"151bda14d899442c6846532ddded1e2bfe23a2f5","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.26","@things-factory/dataset":"^10.1.26","@things-factory/auth-base":"^10.1.26","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.26_1789655043237_0.9285948615199844","host":"s3://npm-registry-packages-npm-production"}},"10.1.27":{"name":"@things-factory/kpi","version":"10.1.27","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.27","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4adb47bf820cd885eb68295aceda255684e6fe13","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.27.tgz","fileCount":495,"integrity":"sha512-6QlUVR7KqNRjBOD+xOmazFWPhyhHjt8dx0Cxnv7mYzl2ik6C5k7564Jx+Qcs4qEeDquyZFGtqbnswIn6U4a1FA==","signatures":[{"sig":"MEYCIQDD28YZ2sVo6P/Kejcy9yxLwfUpUs09A60ZtYkf/H00iwIhALuHY4c4mgYRJBlpktXYcqxCnW2zLDws0A3uXKz7fc1k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCghnwHYe+nROZjykCxwy4/6vAlMmu5Xk43KHCrmfF/rwIhANvumRV11wZIxWRsVoI52WqpjoT3fxfTB41BTboH7GLI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3742179},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d04dc762cacf2aac8ba0b0f5d768eca365fc09da","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.27","@things-factory/dataset":"^10.1.27","@things-factory/auth-base":"^10.1.27","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.27_1789687745776_0.8076923213532858","host":"s3://npm-registry-packages-npm-production"}},"10.1.28":{"name":"@things-factory/kpi","version":"10.1.28","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.28","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8822cfacafa3bb3c0c760960c7ca02281d8081f3","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.28.tgz","fileCount":495,"integrity":"sha512-kfDrKX4Tf9TSzIUvBN84UNs2oZif555JkJurjqmMo5yTcaN51ovsTHf/cP7j0F83q6f5ApL33Iw/WMmdDfmeAg==","signatures":[{"sig":"MEQCIE931urDfWtVwql/qpN4LuHqx58crtyWMogTKKEZtgfbAiAidol2O1kVRUW58/JbO1TJrciRxRlkRP6CMxqV3H+J1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCC9p1dfcAU+LeXX1ycRpkpNeSCg6Fg3uzGy3k9j476uQIgBy7dUzT37yo+NPq6tjuQVFokz/mBkjybtXz/ftx3ji0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3742942},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3a260a0f79bc6b41a692a103955bfcc541aff60e","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.28","@things-factory/dataset":"^10.1.28","@things-factory/auth-base":"^10.1.28","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.28_1789713526165_0.05892329798684415","host":"s3://npm-registry-packages-npm-production"}},"10.1.29":{"name":"@things-factory/kpi","version":"10.1.29","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.29","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"6a1a93aedb3491c2ce4afc18d5f0c3d77e571aca","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.29.tgz","fileCount":495,"integrity":"sha512-msZgfuoI1TJJtAQI2OgpvAcu9I+zJ9RA9qFck+bYBdHdUrIlrOikYCqT4fCkCzyvlyzBbLD4SIPn3Q+fsItfoA==","signatures":[{"sig":"MEYCIQDFZqtkbzBpL8bcMwrpR7CkYLNJrDuQURFX/PE/zuN0KgIhAJZqm3n3dmUXDdU+fx5aKKn6Ws/vFV+UQUF+4k2XHMN3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCr/NBQqq9kUwDR2hs2DsHdA4ADPIbVuyCTXIDLRQA9CgIgMpB0DFMQNLSP0mOTkYw4BZ06J/2ezaEV54F8l46df3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3743096},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"e6bf9dec003fe5e794746aaeb5852b3b50478232","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.29","@things-factory/dataset":"^10.1.29","@things-factory/auth-base":"^10.1.29","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.29_1789731783185_0.6281501185129947","host":"s3://npm-registry-packages-npm-production"}},"10.1.31":{"name":"@things-factory/kpi","version":"10.1.31","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.31","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"da4a3d9e751213ddece8e263c73ca0aff3c749c5","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.31.tgz","fileCount":495,"integrity":"sha512-9stsATFgQyQlFAf0bv3trJegLPQB+sYwAEiuxsBosMQephVHYKfB0krP9i8S1vSwD/uiDyCSoKncao+/9mcMwQ==","signatures":[{"sig":"MEYCIQCFDb3SNV11UrrvgDCsINmbVH55V29vqoyf5p2TuDxrxAIhAN8YtOjsGn+T1IwaUuyyI3cr6tmStmKLvYDntElKLB5d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCGMHcxR242DBbU5tPtTZUnjLXTEkPN3IlD1bAaXvCq8QIhALYIoCCpSzKK3rQL8w6hX3DPhlUkbXX3rmcO9qDV5/1l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3744663},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"5213e6f9913b40ea2618a2111d9884b792dbaa01","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.31","@things-factory/dataset":"^10.1.31","@things-factory/auth-base":"^10.1.31","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.31_1789778242574_0.29215712461451004","host":"s3://npm-registry-packages-npm-production"}},"10.1.32":{"name":"@things-factory/kpi","version":"10.1.32","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.32","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"328f99703184d349b622733973042e1e470d2298","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.32.tgz","fileCount":495,"integrity":"sha512-aVk5FI0UyFRpGImHJIh0kZAvqcRbqYg1R82lu3Wj4yvZ0yHFg5Fl4GUbdKxmJnaM1mU+6lEnylF7iOAVU9Q9ow==","signatures":[{"sig":"MEYCIQDlFbwN44WD764nPuURhzgbjBdx3dTMqo+Vcr1DIGqIeAIhAMHMpovtU+ptyY7MpwfHqjq03geovtEzQsEnQNShBvB/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDwYEpyEt7L+qRGfprPSDWc+fbkGgr+E7p4pfxhzqBaUQIgOzmHyfxjnRQbL+FlDPo9LvvYZkgpxthMcOsHFBN9Pkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3745686},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"67b211e001da3a923e562cb048e4691bd961315c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.31","@things-factory/dataset":"^10.1.32","@things-factory/auth-base":"^10.1.31","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.32_1789783674954_0.7657623823812254","host":"s3://npm-registry-packages-npm-production"}},"10.1.33":{"name":"@things-factory/kpi","version":"10.1.33","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.33","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"ff3522246b130ecf90c03b4b19486cab1dcd997d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.33.tgz","fileCount":495,"integrity":"sha512-IZhDgHgXVZw0F9OJ9TeX5IR4EvL10Ol4P4AZJc1u6dflmDwfrP9V7hcZU0LPq7N/2LaqMpfWLXuo1jYjQ9Z9+g==","signatures":[{"sig":"MEQCICDHlDNFFD7hUTp/WgFVWe/NaJJyZFWNKVNJ0PS6WDifAiBa+BOWyH1dHJDpmlnZRPeqRpruFHrB/1G35V6EmWt4Fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGG1CmsY379I1CDMyXV7+ghXD6LgwfqE3+ug0oF+SwyeAiEAyc6aUwk59RZXsWPxtv1wrED9jgpYOMmQzvylWzg9R8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3746190},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7fb7b6587846b5ff6ee7a4983652d9561b4d6b2c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.33","@things-factory/dataset":"^10.1.33","@things-factory/auth-base":"^10.1.33","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.33_1789872831769_0.1051757225238159","host":"s3://npm-registry-packages-npm-production"}},"10.1.34":{"name":"@things-factory/kpi","version":"10.1.34","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.34","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"bb0dff3c65d13b71f0ad02231779b4ba1b61fa57","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.34.tgz","fileCount":495,"integrity":"sha512-JeAOQLWlYYIS/H/J26DkuSSiibuylbMn1/8sEcQMIdwC7qXt5+x43HSIwOok9meZmWBfq8T/WAgIVnRKEJa9FQ==","signatures":[{"sig":"MEUCIQCcHhD9iDvgCwsLQbxkFS9bYzTl+CfeGRFuuqC5jjt4tAIgUBWNGKAUvWDJTdaga6RAIbzmzLHAl3nGstn9oen8Htk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHFeLQAuDXo18Gpw57gTGuB49VxLS3IahyisPEDRm/DRAiEA1ozsaiZqQhBbt+YaqXifv9tMJqYJZnuZbxypJcyiiNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3746190},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"5e16fd9f0cbb71c8d395b58a95bd9e99c93975c7","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.34","@things-factory/dataset":"^10.1.34","@things-factory/auth-base":"^10.1.34","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.34_1789900843503_0.9390227918664511","host":"s3://npm-registry-packages-npm-production"}},"10.1.35":{"name":"@things-factory/kpi","version":"10.1.35","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.35","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4efe363dd5310fd6085564f68ced0eecf50fb8a6","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.35.tgz","fileCount":495,"integrity":"sha512-UhZsMXulB2uL9aqZDFt79uBN8I4hBj0RRj04ciYmVLl/jivGzRum/CmVTYRuhImqmfQbElg6oVS7qxZsLVmkKA==","signatures":[{"sig":"MEUCIQC06GD3XKGMEQyoG9tWYpvuWzmeG6aYi5L+eIlxbIcfNgIgbw8ISwOYCXbLv6TmB/kQ7nfwQc+oixhxASH3MB1JF8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEX327QIwyRFmWNZPZ5FwePNhPbq5fedeNUe50+2ZLa/AiEAqyYvJOWMAlq0131int1WBIVGurGlzZE4Kk7qWpJLVLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3746610},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"396f43b648b704f1938a2d890ab2f6efa33fdb86","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.34","@things-factory/dataset":"^10.1.35","@things-factory/auth-base":"^10.1.34","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.35_1789990752630_0.17534447136760978","host":"s3://npm-registry-packages-npm-production"}},"10.1.36":{"name":"@things-factory/kpi","version":"10.1.36","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.36","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"bffc1f3e57ace1dff787337d019dfc826535e8ce","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.36.tgz","fileCount":495,"integrity":"sha512-FoSeLGpc7J3SqTHy7ESOvyO6bRPOvzGCmRWs0uLmQUYiGdlf5RIkfXyqPEceEpEpLUj0ZZ1Uur6d24zkWObrfA==","signatures":[{"sig":"MEUCIQCFX3C7LTQhJ5Zp3lNhYlu4q75NpCUpX9ZwUYBWQgv3sQIgfNHMD8tcOqF68KrSl72QUVlxAdpeu/MtTwRQJSPg8z0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGHWyxXRpGq5KVSwSEVEat9A3j49v3AGJDov3mJIBiAGAiEAxJQZJxPUmbvsCFSqJtR4foLlFOzOsujkuRm4nM1coGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3746610},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3942ac0aa4f004b4700e739889e12ffc35d78794","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.34","@things-factory/dataset":"^10.1.36","@things-factory/auth-base":"^10.1.34","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.36_1790070775972_0.34563526902466846","host":"s3://npm-registry-packages-npm-production"}},"10.1.37":{"name":"@things-factory/kpi","version":"10.1.37","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.37","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"50c9d035fbaff17637a2dcf0f6ac3cf41771cae1","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.37.tgz","fileCount":495,"integrity":"sha512-7hCJh27Wk+4myqfwoi9nYY1swguhfuM0GsB7CoAtAwB5Odt+nNImhu9Afdo2fIHLK7L+DQwaB2WvXbVKfPgveg==","signatures":[{"sig":"MEUCIQCJD4sLYTEwuUU5LIlT8SHXyhFZ9urMkwmkUUUFGslW2gIgfxdt0QZ3/+3ntURmC3rwCwgk3vMi8gyAu94wqzXDmMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCUdI/va2EXu4uHqgg8DOeKwPuc9j3kHQ+/z+xQYNU3aAIhANe6IeAMgCuFfU6nVT5xDvjJ6qdlVwjiY7xTawf4c3CX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3746610},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d8a69e5c8803a4b9d3289df0cf38e161a207db61","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.37","@things-factory/dataset":"^10.1.37","@things-factory/auth-base":"^10.1.37","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.37_1790176269384_0.6389845312973006","host":"s3://npm-registry-packages-npm-production"}},"10.1.38":{"name":"@things-factory/kpi","version":"10.1.38","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.38","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"d4a73d903b4e7a1b796173b2d6c5e951e5157834","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.38.tgz","fileCount":495,"integrity":"sha512-YUh95c4mpMFz+gEPgvD8dvhnOjCYMQjHXB0Td9TyXqR/pldCgo6GJOKzowv0+zAejXugYTZEEaKwfZFjETrqeA==","signatures":[{"sig":"MEUCIQCu0jva4ognx2aIQqg2QBnhkcdzllYZM0peZHcFUmEzwAIgSEmudffz1dA6sbzi4ZYwUHQsl9QMcfyuSHgNo2cGCho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDXLPhMw5h3+HSGLH+8OkMLawswVywzkVUozopoPYdiYAiB6eGqC/hLulJZGSMLms8iRcrYTTLONGw3Uf/oCnrnM7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3746509},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b947349fe1c27d11038b592ceadaba336f14785b","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.38","@things-factory/dataset":"^10.1.38","@things-factory/auth-base":"^10.1.38","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.38_1790217306808_0.28928529401204783","host":"s3://npm-registry-packages-npm-production"}},"10.1.39":{"name":"@things-factory/kpi","version":"10.1.39","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.39","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"f7bc77245ccd3a314fa89b52563f31100f1c88e1","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.39.tgz","fileCount":496,"integrity":"sha512-dPi0qeXNTFcIqkUiVb+aAnWDtrW0iC4IyWh2ARm7u88HIClyiW0olPOh7KM9P/f1n19koCPnnF3njo95Q9nKCg==","signatures":[{"sig":"MEUCIQDNpU2TA0Hm17UsFz//euWVBznrYXWjHzJhps7+FsvCiQIgFojrhzk3Sydia/clFejhc+wyjVHXvulITB0MQ6Puqp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDa4r93sXfMvf1z3mYtmz7BAMI/nWauFDzZ0MRsy8FUqwIhAJVboSJReIJWeIzuHRkAAoT8y7ow3mQ3Z92RqfjZlhZV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3753730},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"fe5257ad8995fe7e79275e287f36e95b5fd32d1c","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.39","@things-factory/dataset":"^10.1.39","@things-factory/auth-base":"^10.1.39","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.39_1790219679761_0.26474546653021735","host":"s3://npm-registry-packages-npm-production"}},"10.1.40":{"name":"@things-factory/kpi","version":"10.1.40","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.40","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"46c7ce18f2de7588e6268ea4662fe764fd05708a","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.40.tgz","fileCount":497,"integrity":"sha512-2Etyhqjgffq6np0qywck7D2Th0+7lN7Z2LcuqqycGlgmK6wcLwkbK44hXYdT/g9jvGz4o0cvIFcxdGLFBxnMsw==","signatures":[{"sig":"MEUCIDQ2nduOl7pJIbLf240xXTiv+SPrnxF9FbeWGj8PLWtsAiEAoCtsa4z8rtYcumIRspNIBOLVtLgQk5GPvQnTYG32ciY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCr+QwmhhwTrX7Zae1MwpEQD3gd/Q4LKbaQ0Q84CPhSEQIgP01Rd72Os1iQpsQS1FGinb/CFoPj9EBXZ15AXjkdvBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758284},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"51c5d804c14ad8fcc6d4707e6ef80c9deede2766","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.40","@things-factory/dataset":"^10.1.40","@things-factory/auth-base":"^10.1.40","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.40_1790221317202_0.8955685147947388","host":"s3://npm-registry-packages-npm-production"}},"10.1.41":{"name":"@things-factory/kpi","version":"10.1.41","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.41","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"4e91a141f72c66d2e66a5943b8dd28df8f9b1f5b","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.41.tgz","fileCount":497,"integrity":"sha512-Mi0sZOFYNozXuO77M3ig//ElQ6lPhMdVbJ2WbaEoMkanB9GPoMeFuBhbm4YMYOj3CPHpICrbLFk1Hek1Njj81w==","signatures":[{"sig":"MEUCIB/enq1ANAu3yvFu8JIR+yQBsDPj6+aMmUEdReWsZwpoAiEAy4SxjiEaZ4nWcDK7Xta11S/rNEnbWpO/VmHulOOd76o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGVj51FmT9uW5Wt47hOQNQTP3u+Dh9kgnfX5lHvytBJ+AiEAmuubjZ1GqwihN0pUB9BpAab/5yfpbCS00d4OqpEWOV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758199},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4f41243edca4c965bc6992a10fb52d75a58fd3a9","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.40","@things-factory/dataset":"^10.1.41","@things-factory/auth-base":"^10.1.40","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.41_1790223989655_0.28006640665208526","host":"s3://npm-registry-packages-npm-production"}},"10.1.42":{"name":"@things-factory/kpi","version":"10.1.42","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.42","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"59da858c2fc9c0142136125934504a9fe162d084","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.42.tgz","fileCount":497,"integrity":"sha512-fhstgXzYG6ziO3AlhrVhLOhUtlaJRqPsMekyPH4tzALxELwfplojFpUZP+zYUHUmWO1UqvH5skIqtxiY1b+e0A==","signatures":[{"sig":"MEUCIQDcd4XA09/ldJMjPF5pyGNHqTY79nMEmAF+tTv+wPY7FAIgckuA2EXmbLPtHP4wzP3IS6kgM6XHMmNpLpeQElk1oyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCsV2Tcy0fHZQJwM1/QC1LTwsGnDrTgyo/S4xFelTy8dQIhANmBy2r0vQkROzAscDiYgAGiUu2A1jdxrID16u06WjG3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758199},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"982aa01403b979c4e348fd207a3fb4d1a7b5f521","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.40","@things-factory/dataset":"^10.1.42","@things-factory/auth-base":"^10.1.40","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.42_1790225631599_0.9778659578510129","host":"s3://npm-registry-packages-npm-production"}},"10.1.44":{"name":"@things-factory/kpi","version":"10.1.44","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.44","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8ff0ddcf33922ff4253b77ebdc43e6ef2c49ba9f","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.44.tgz","fileCount":497,"integrity":"sha512-jv559+L/0ZXLrG8VobHL0nEfmaLRVubWhMZ3Uujc26kfOwvxuYHzsKDk8CkhB20LJk9bnWi9RkENClXZxiBURg==","signatures":[{"sig":"MEYCIQCHFSafVdajUHy0HIfEO4QxdPU/+lSOdReA9sGzbm4nlwIhALqKRfvncsqcKfWi2fVH6D6kIn1soudu74ViWVMRHGUZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCMunRFeaQgeKyEq8umU6doVb7bPBzAkMMQXNbbqtOIYQIgNc70vT2b8K7c/NMqEB6OfKOy+5xTVjX9gDiV+ri/PHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757817},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7c95c4e75e155e51c714409e865d96f317232c23","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.44","@things-factory/dataset":"^10.1.44","@things-factory/auth-base":"^10.1.44","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.44_1790234457429_0.7478682464456845","host":"s3://npm-registry-packages-npm-production"}},"10.1.45":{"name":"@things-factory/kpi","version":"10.1.45","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.45","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"2fe81b9cf48b53d283e15f59e16446897092218c","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.45.tgz","fileCount":497,"integrity":"sha512-vJmgYTJe8HU6tL5KqxAa1eVqz8S+zqli8EzYpJXJiSYUUEVyPjcqveARyW+f+Un6FDLI8GxhJ+bMeIGEPRKS3A==","signatures":[{"sig":"MEUCIH6ahDtFgv8enL6qe7TF01xFLj7fsqaYzcxkHrmYqTx9AiEAvjtLBRLP0NNtnaoCKDGQ6ZZyNqW9AC8ezUQRDUIg2RY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGez4ELyHzpfxXuCVQbUiq3qhVrIWvDh43TccympOPtgIgUCu4pVKO9in/veMXfwnfin5FfHooe+z6o1j35Lw42us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757817},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d72e1fd1285797fcd7839d97a18e31f5bf076ae3","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.44","@things-factory/dataset":"^10.1.45","@things-factory/auth-base":"^10.1.44","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.45_1790240984839_0.6352998789510593","host":"s3://npm-registry-packages-npm-production"}},"10.1.46":{"name":"@things-factory/kpi","version":"10.1.46","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.46","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"a9b340c99e5616266601471bd266dbfab9d643e3","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.46.tgz","fileCount":497,"integrity":"sha512-2GZegLgJ5VmT1jln7vz69LmJZ0jxMLRT/PzAEjVdZcl6hxGpMLJJQoVcASR6fHSNreLCPVv5TvhY3WpbTkMlJA==","signatures":[{"sig":"MEUCIEqaIqD9XSjEoej13EM4RYRgmKc4f5G5JTFn2YevfEPMAiEAzBIPrcc16yI96NDbRvb+lOyKrrFIz5XYwrZNrpt/XQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEgCLR5+6wV6hpYp1pgMTBK9iBoyF/IShTjy2pixFcrUAiEA4JQiTsxoA8plfdlUu4pNeHLh3Kn3vMLBq+nAFyVQ7FM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758166},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"d3467cde550453f3348fed0ed6c79a12a6ba0db4","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.46","@things-factory/dataset":"^10.1.46","@things-factory/auth-base":"^10.1.46","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.46_1790247170233_0.46554340150546447","host":"s3://npm-registry-packages-npm-production"}},"10.1.47":{"name":"@things-factory/kpi","version":"10.1.47","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.47","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"b2d73250fed9fd8651e740ebd78a871f52db3266","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.47.tgz","fileCount":497,"integrity":"sha512-oKFj3Fi++8tHaSjbDYpENb6fFSNuicPdBWdrh5tBVNH+94SkLmfa0Cc+bEy8QpRZBh/mxiQxxrs1gN/CZRA06g==","signatures":[{"sig":"MEQCIGzvzEYyafPuuog5HayzKb1PqE2EgWBcbNuZQUaaX9A6AiBfvnfw+j2L7pEAx5vPvxC08wvFVOwDqVoEKi0B6V13zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDS8CrC7K/ERoY4+bJzKi3RuIpQ0tSbEo+zk+HybTzULwIge1IQ7LzRcUNe6Y2iBVEjXWacGIHYP8VwC5hRhJP0Lco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3759550},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"185f20d7d9a15715a0ee2757a6a8189ec36cfb9d","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.47","@things-factory/dataset":"^10.1.47","@things-factory/auth-base":"^10.1.47","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.47_1790255212228_0.1849970097684035","host":"s3://npm-registry-packages-npm-production"}},"10.1.79":{"name":"@things-factory/kpi","version":"10.1.79","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.79","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"1c4a27cd4d76293442ad0a67f64c22715a031495","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.79.tgz","fileCount":497,"integrity":"sha512-dFZW0N84UKQ7hpULSdCOTzyiMZGF9QbilMy/Xkpmlw/1/j/QRWpAe1JpAnNDIxuc19tjWGIlHJM6rr372IK1MQ==","signatures":[{"sig":"MEUCIQD4bU2Fwd11X0UNLpYOWxdtRGc5YzbN2JlzT8gI1/KoDQIgHNPk1e106i3FD0Ra73rd3wW9AejNjmhoCh4iCjeW+Gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCXL/ztax73DmrvPx1qpENq3r+Z2InqxlVxZua71aGfGgIgES6xe61vlE3yNhj59094KmLTDCYrdXtPi9F53fag3Us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3759974},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"94cde9ba17dfdddb0a16139b71e5a7e370977e4a","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.79","@things-factory/dataset":"^10.1.79","@things-factory/auth-base":"^10.1.79","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.79_1790484853332_0.05360117493683503","host":"s3://npm-registry-packages-npm-production"}},"10.1.81":{"name":"@things-factory/kpi","version":"10.1.81","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.81","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8fa1803b587e4382c9642948c1a70b859476e1b8","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.81.tgz","fileCount":497,"integrity":"sha512-cWG7AxEHw7dP8oJ3bwKyVdNko1aQJqV79HS9mGdHkiOjl4cJW0xe8qmxP1nPgq9vuq+Om9oHzb8inVgj45rFCw==","signatures":[{"sig":"MEYCIQCbHqvP/HQJPw30m/HqMam1ALWQ8LC1dIBu/txn6YjONQIhAKYrv5YSCLs+FDSK6nJM/WV/WVE6BGKEwESGbK+9q8e6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFdmBOfIuBxNpAFC6F/vULOYIPQZiS0VDQ9P1LJfls6kAiB3MQNRFbu5Ld5WEqEX1ogyp3IKpLQ5F/wglR/v+W+yhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3759974},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0c4f91d92c8214a9b2eca6690a7ed48bd2d828cc","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.79","@things-factory/dataset":"^10.1.81","@things-factory/auth-base":"^10.1.79","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.81_1790525043202_0.10091523596186724","host":"s3://npm-registry-packages-npm-production"}},"10.1.84":{"name":"@things-factory/kpi","version":"10.1.84","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.84","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"8112bd50bf5b42c5dbfdf72ad75c16097f3fe9e2","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.84.tgz","fileCount":497,"integrity":"sha512-NSirFFIVPCdksaLMrrbzLmOoT35eAjaCttHnEPjp84rPvOdrhddHLj0xP47NQ4Kgh4Aw2fxQ1Tf6zfap2t98vg==","signatures":[{"sig":"MEUCICvGpxlepOQ+PAZN/cxSzNBv+82jDVX1268sYeVOrnsyAiEAgxJiG2NoX5IxkmPI6wfq5ws7iF3PuTYwR39grcHVtbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDHRHeVdYyE0sqj5N4dzsHRhvqzBqPbrb+Toh/zRAfT7AiBm0zvSV1O1YegIv57wi6cLAZ4qYkque16LT2eGMTnHtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3759974},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"12df439ce09de2bc9aa87d4578766f46bfad48fd","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.79","@things-factory/dataset":"^10.1.84","@things-factory/auth-base":"^10.1.79","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.84_1790673131377_0.9279968318141965","host":"s3://npm-registry-packages-npm-production"}},"10.1.86":{"name":"@things-factory/kpi","version":"10.1.86","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.86","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"fb41badc13e63ae330bf3dec4c7c9bb81e8cd773","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.86.tgz","fileCount":497,"integrity":"sha512-gCxLk4m5q4mqtJX1Elr9stRTkEnEDEpF/eQS3mMbRGZU+46k0B2E5PpWeJLogi6y90MTiq6L9O7yhy3kqpNsRg==","signatures":[{"sig":"MEUCIQClYlYErOopaTdCJj2mgVIAlkwtEZ0cowVuA5nuv75HbAIgfBeI1E9m/wSrbzs5fHXchMQWDxmSk1gSlD+8dA9Zeo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFslvBBNRei4eY044lO4sCUSYFwavw0KUs8uzO9ATJuGAiEAqi2ZaO2eise5RF5AlxWhaJhYpi2pg8GEPw8+X3VUjvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3759974},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8e56ed31b1c81934257f2938b9b1a51f1852773f","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.79","@things-factory/dataset":"^10.1.86","@things-factory/auth-base":"^10.1.79","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.86_1790710874413_0.13417050624930926","host":"s3://npm-registry-packages-npm-production"}},"10.1.87":{"name":"@things-factory/kpi","version":"10.1.87","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/kpi@10.1.87","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"dist":{"shasum":"2a27eca2ea5946290b33238a89af4573d9325e7d","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.87.tgz","fileCount":497,"integrity":"sha512-ott7CJD/d+ME0bscMh+PKx/ENoUfaWvOFOc1fBOoY6zv6m4RnIUEMF5/wGaUucQnIFiReDRrBv/fiffd+zvjZQ==","signatures":[{"sig":"MEUCIBeLGijVPC4xI0mkO/qaKfoDfBQGyL2FzI8j4pfslLL6AiEAn96LxlSJ/khNWXQKiV7Gsv8f2SO59msT6obvBazOYm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSMiK0bVdLO8jO6ba9tePM4eK5lJzGGIeg0D+DZaR6HgIgCrHilQZRF4BXyTxCXEsx+FHaZqGVH/WF2Xszjsxj3sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3759974},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"dc552c2a7b7f97e3377a26c378ee15d3a1de612a","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.79","@things-factory/dataset":"^10.1.87","@things-factory/auth-base":"^10.1.79","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"tmp":"tmp/kpi_10.1.87_1790713943036_0.1776357623575806","host":"s3://npm-registry-packages-npm-production"}},"10.1.104":{"_id":"@things-factory/kpi@10.1.104","dist":{"shasum":"e1edf3a7f6c911525075dcf9c9975e96b9544a31","tarball":"https://registry.npmjs.org/@things-factory/kpi/-/kpi-10.1.104.tgz","fileCount":497,"integrity":"sha512-2Yn6cOqtWrtyqhs7B/RnpXB9mg8eRK7UeYSW3OeFKS3dteUeZi76ABvr9QB7VPTcDlHIOdxOFmyErzIl33Uobw==","signatures":[{"sig":"MEUCIQDg3J+TveuU9I/pZG34+T2ppGx27LvbIf5HN7L8Umv60AIgIRrESNvaYd//UgrI3mcCzM95l/4aw+1SvNuzympOR0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCuA4lYVxmSgOSzYjNhcfKtMh9jk12UaXJaxmHeW7bMwwIhAI2a0qz59jP8HbOIm3V2+oH5N3KI1XcDcFPkgFYZcRV4"}],"unpackedSize":3760323},"main":"dist-server/index.js","name":"@things-factory/kpi","author":"heartyoh <heartyoh@hatiolab.com>","browser":"dist-client/index.js","gitHead":"0d05c7573220c6da2dec2654a4b86d7bd8e3c4fb","license":"MIT","scripts":{"build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","build:client":"npm run copy:files:client && npx tsc --p ./client/tsconfig.json","build:server":"npm run copy:files:server && npx tsc --p ./server/tsconfig.json","clean:client":"npx rimraf dist-client","clean:server":"npx rimraf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","copy:files:client":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","copy:files:server":"copyfiles -e \"./server/**/*.{ts,js}\" -u 1 \"./server/**/*\" dist-server"},"version":"10.1.104","_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"kpi module","directories":{},"maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"_nodeVersion":"25.6.0","dependencies":{"@operato/app":"^10.0.0","@operato/i18n":"^10.0.0","@operato/p13n":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/dataset":"^10.0.0","@operato/graphql":"^10.0.0","@operato/data-grist":"^10.19.0","@operato/ghost-print":"^10.0.0","@operato/grist-editor":"^10.0.0","@things-factory/shell":"^10.1.79","@things-factory/dataset":"^10.1.104","@things-factory/auth-base":"^10.1.79","@operato/moment-timezone-es":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kpi_10.1.104_1790825175652_0.15142668826065653"}}},"time":{"created":"2025-06-19T03:58:45.910Z","modified":"2026-10-01T03:26:16.015Z","1.0.0-alpha.5":"2025-06-19T03:58:46.180Z","9.0.9":"2025-07-15T15:04:03.534Z","9.0.10":"2025-07-15T16:11:38.713Z","9.0.11":"2025-07-15T17:16:58.805Z","9.0.12":"2025-07-17T12:18:35.206Z","9.0.13":"2025-07-17T13:07:00.898Z","9.0.14":"2025-07-19T17:14:32.795Z","9.0.15":"2025-07-19T17:40:41.068Z","9.0.16":"2025-07-20T08:48:48.739Z","9.0.17":"2025-07-21T19:02:02.204Z","9.0.18":"2025-07-22T03:20:22.591Z","9.0.19":"2025-07-23T11:00:54.356Z","9.0.20":"2025-07-23T11:04:30.126Z","9.0.21":"2025-07-23T11:31:54.404Z","9.0.22":"2025-07-23T19:21:04.231Z","9.0.23":"2025-07-27T19:01:24.460Z","9.0.24":"2025-07-30T20:32:10.718Z","9.0.25":"2025-08-01T17:04:57.974Z","9.0.26":"2025-08-01T17:26:49.737Z","9.0.27":"2025-08-01T20:05:02.723Z","9.0.28":"2025-08-02T06:18:34.937Z","9.0.29":"2025-08-02T21:05:06.757Z","9.0.30":"2025-08-03T19:15:02.784Z","9.0.31":"2025-08-04T05:55:32.021Z","9.0.32":"2025-08-06T18:38:32.167Z","9.0.33":"2025-08-13T03:56:59.764Z","9.0.34":"2025-09-01T03:05:45.825Z","9.0.35":"2025-09-02T23:52:57.206Z","9.0.36":"2025-09-06T08:02:21.095Z","9.0.37":"2025-09-08T13:21:16.730Z","9.0.38":"2025-09-08T13:49:54.481Z","9.0.39":"2025-09-09T05:44:47.124Z","9.0.40":"2025-09-13T11:01:38.981Z","9.0.41":"2025-09-14T07:36:30.819Z","9.0.42":"2025-09-16T05:27:57.785Z","9.1.0":"2025-09-16T12:17:39.601Z","9.1.1":"2025-09-24T07:05:27.119Z","9.1.2":"2025-10-01T01:34:31.967Z","9.1.3":"2025-10-10T06:29:06.947Z","9.1.4":"2025-10-13T01:13:28.192Z","9.1.5":"2025-10-14T00:49:25.683Z","9.1.6":"2025-10-15T06:18:54.760Z","9.1.7":"2025-10-20T13:15:52.536Z","9.1.8":"2025-10-21T05:23:12.471Z","9.1.12":"2025-10-22T01:18:32.469Z","9.1.13":"2025-10-22T01:38:48.258Z","9.1.14":"2025-10-22T08:27:12.947Z","9.1.15":"2025-10-23T01:54:17.034Z","9.1.16":"2025-10-23T05:11:58.323Z","9.1.17":"2025-10-24T01:32:09.271Z","9.1.18":"2025-10-28T06:32:06.795Z","9.1.19":"2025-11-25T11:36:00.185Z","10.0.0-beta.1":"2026-03-04T15:18:22.721Z","10.0.0-beta.2":"2026-03-05T01:45:13.236Z","10.0.0-beta.3":"2026-03-05T11:29:53.482Z","10.0.0-beta.4":"2026-03-05T11:50:17.098Z","10.0.0-beta.5":"2026-03-05T17:11:22.862Z","9.2.5":"2026-03-06T03:18:29.564Z","10.0.0-beta.6":"2026-03-06T14:20:41.490Z","10.0.0-beta.7":"2026-03-07T09:12:49.263Z","10.0.0-beta.8":"2026-03-07T14:48:15.539Z","10.0.0-beta.9":"2026-03-07T17:29:05.178Z","10.0.0-beta.10":"2026-03-08T06:40:32.423Z","10.0.0-beta.11":"2026-03-08T15:38:51.733Z","10.0.0-beta.12":"2026-03-09T16:16:51.897Z","10.0.0-beta.13":"2026-03-09T17:40:45.476Z","10.0.0-beta.16":"2026-03-10T07:52:48.212Z","10.0.0-beta.17":"2026-03-13T19:32:46.798Z","10.0.0-beta.18":"2026-03-14T06:51:50.056Z","10.0.0-beta.19":"2026-03-15T18:52:59.599Z","10.0.0-beta.21":"2026-03-17T18:38:46.877Z","10.0.0-beta.22":"2026-03-19T06:09:14.488Z","9.2.13":"2026-03-19T09:00:20.331Z","10.0.0-beta.26":"2026-03-20T19:08:27.026Z","10.0.0-beta.27":"2026-03-22T11:39:00.835Z","10.0.0-beta.28":"2026-03-22T16:58:24.876Z","10.0.0-beta.29":"2026-03-23T15:11:20.111Z","10.0.0-beta.30":"2026-03-23T16:14:29.650Z","9.2.16":"2026-03-25T09:21:13.069Z","10.0.0-beta.31":"2026-03-29T11:27:07.211Z","10.0.0-beta.32":"2026-03-30T14:05:37.097Z","10.0.0-beta.33":"2026-03-30T15:24:30.269Z","10.0.0-beta.34":"2026-03-31T16:51:39.277Z","9.2.17":"2026-04-01T02:53:53.908Z","10.0.0-beta.35":"2026-04-01T15:20:33.865Z","10.0.0-beta.36":"2026-04-02T07:11:27.206Z","10.0.0-beta.37":"2026-04-02T15:14:59.640Z","10.0.0-beta.38":"2026-04-06T07:18:39.461Z","10.0.0-beta.39":"2026-04-06T15:52:15.704Z","10.0.0-beta.40":"2026-04-07T00:52:29.785Z","10.0.0-beta.41":"2026-04-07T04:22:16.986Z","10.0.0-beta.42":"2026-04-08T01:36:27.996Z","10.0.0-beta.43":"2026-04-09T16:04:19.624Z","10.0.0-beta.44":"2026-04-10T02:48:54.650Z","10.0.0-beta.45":"2026-04-10T07:05:04.118Z","10.0.0-beta.47":"2026-04-10T10:33:35.333Z","10.0.0-beta.48":"2026-04-11T11:27:49.837Z","10.0.0-beta.49":"2026-04-11T16:07:18.703Z","9.2.18":"2026-04-14T05:54:47.447Z","10.0.0-beta.51":"2026-04-15T14:22:18.616Z","10.0.0-beta.52":"2026-04-16T23:01:28.884Z","10.0.0-beta.53":"2026-04-16T23:54:16.864Z","10.0.0-beta.54":"2026-04-17T14:39:05.267Z","10.0.0-beta.55":"2026-04-18T05:03:02.484Z","10.0.0-beta.56":"2026-04-19T22:54:57.519Z","10.0.0-beta.57":"2026-04-21T14:54:34.358Z","10.0.0-beta.60":"2026-04-23T16:53:47.986Z","10.0.0-beta.61":"2026-04-24T06:23:25.027Z","10.0.0-beta.64":"2026-04-26T17:45:56.451Z","10.0.0-beta.65":"2026-04-28T01:38:06.961Z","10.0.0-beta.66":"2026-04-28T06:49:15.684Z","9.2.19":"2026-04-28T10:06:36.567Z","10.0.0-beta.67":"2026-04-30T15:01:26.334Z","10.0.0-beta.68":"2026-05-01T08:13:38.002Z","10.0.0-beta.69":"2026-05-02T06:35:58.645Z","10.0.0-beta.70":"2026-05-03T09:38:50.678Z","10.0.0-beta.71":"2026-05-03T16:15:11.137Z","10.0.0-beta.72":"2026-05-05T01:53:41.645Z","10.0.0-beta.73":"2026-05-05T02:34:40.551Z","10.0.0-beta.74":"2026-05-05T11:13:04.881Z","9.2.20":"2026-05-08T01:44:20.010Z","10.0.0-beta.75":"2026-05-08T13:18:24.438Z","9.2.21":"2026-05-11T06:33:16.988Z","9.2.22":"2026-05-11T09:07:49.525Z","9.2.23":"2026-05-11T11:48:32.667Z","10.0.0-beta.76":"2026-05-11T18:57:27.751Z","10.0.0-beta.77":"2026-05-13T01:58:55.353Z","10.0.0-beta.78":"2026-05-13T16:36:35.103Z","10.0.0-beta.79":"2026-05-14T04:56:17.787Z","9.2.24":"2026-05-15T05:46:31.106Z","10.0.0-beta.80":"2026-05-15T15:47:14.296Z","10.0.0-beta.81":"2026-05-16T09:12:43.927Z","10.0.0-beta.82":"2026-05-16T14:26:34.610Z","10.0.0-beta.83":"2026-05-17T17:50:10.232Z","10.0.0-beta.85":"2026-05-18T04:49:56.588Z","10.0.0-beta.86":"2026-05-21T08:04:33.966Z","10.0.0-beta.87":"2026-05-21T15:51:29.857Z","10.0.0-beta.88":"2026-05-21T17:31:10.808Z","10.0.0-beta.89":"2026-05-22T02:53:07.810Z","10.0.0-beta.90":"2026-05-24T16:09:34.440Z","10.0.0-beta.91":"2026-05-26T04:34:17.303Z","10.0.0-beta.92":"2026-05-26T04:37:20.845Z","10.0.0-beta.93":"2026-05-26T09:52:34.882Z","10.0.0-beta.94":"2026-05-28T16:32:38.813Z","10.0.0-beta.95":"2026-05-30T11:08:29.943Z","10.0.0-beta.99":"2026-06-07T18:24:41.487Z","9.2.25":"2026-06-08T08:07:10.103Z","9.2.26":"2026-06-09T04:42:52.601Z","9.2.27":"2026-06-11T05:43:26.536Z","10.0.0-beta.101":"2026-06-13T05:35:58.296Z","10.0.0-beta.102":"2026-06-15T11:21:40.261Z","10.0.0-beta.103":"2026-06-16T10:22:07.961Z","10.0.0-beta.108":"2026-06-21T16:19:03.442Z","9.2.28":"2026-06-23T07:11:13.808Z","9.2.29":"2026-06-23T07:27:08.271Z","9.2.30":"2026-06-25T07:55:07.110Z","10.0.0-y.0":"2026-06-26T00:34:47.897Z","10.0.0-zeta.1":"2026-06-26T01:28:08.416Z","10.0.0-zeta.2":"2026-07-03T03:18:18.227Z","9.2.31":"2026-07-06T08:46:47.416Z","10.0.0-zeta.3":"2026-07-07T16:42:12.327Z","9.2.32":"2026-07-08T14:23:35.703Z","9.2.33":"2026-07-08T14:30:31.712Z","10.0.0-zeta.7":"2026-07-10T17:24:33.753Z","10.0.0-zeta.8":"2026-07-12T06:19:25.362Z","10.0.0-zeta.9":"2026-07-12T11:10:33.872Z","10.0.0-zeta.10":"2026-07-13T14:34:29.653Z","10.0.0-zeta.11":"2026-07-14T14:35:19.602Z","10.0.0-zeta.12":"2026-07-20T07:27:11.715Z","10.0.0-zeta.17":"2026-07-24T06:09:36.435Z","10.0.0-zeta.19":"2026-07-26T09:02:16.774Z","10.0.0":"2026-07-29T13:15:04.779Z","10.0.1":"2026-07-29T13:33:17.050Z","10.0.2":"2026-07-29T17:57:28.256Z","10.0.3":"2026-07-30T11:15:09.454Z","10.0.4":"2026-07-30T12:08:19.384Z","10.0.5":"2026-07-30T23:55:08.331Z","10.0.6":"2026-07-31T08:33:38.770Z","10.0.7":"2026-08-02T05:59:58.211Z","10.0.8":"2026-08-02T06:07:32.618Z","10.0.9":"2026-08-06T14:51:22.454Z","10.0.10":"2026-08-18T11:07:10.021Z","10.0.13":"2026-08-23T11:20:51.911Z","10.0.18":"2026-08-30T15:19:49.600Z","10.0.19":"2026-08-31T10:07:41.345Z","9.2.35":"2026-08-31T12:01:50.035Z","10.1.0":"2026-09-07T13:55:15.943Z","10.1.1":"2026-09-07T13:55:49.850Z","10.1.2":"2026-09-07T14:01:13.718Z","10.1.3":"2026-09-07T16:09:06.678Z","10.1.4":"2026-09-09T00:37:09.103Z","10.1.5":"2026-09-09T08:51:41.328Z","10.1.6":"2026-09-10T15:42:07.982Z","10.1.7":"2026-09-11T16:33:11.539Z","10.1.8":"2026-09-12T07:47:48.140Z","10.1.13":"2026-09-13T06:38:37.482Z","10.1.15":"2026-09-15T00:44:32.491Z","10.1.16":"2026-09-15T12:17:47.914Z","10.1.17":"2026-09-16T01:05:49.639Z","10.1.18":"2026-09-16T11:31:29.140Z","10.1.20":"2026-09-16T12:19:26.709Z","10.1.24":"2026-09-16T15:07:44.894Z","10.1.25":"2026-09-17T05:59:25.201Z","10.1.26":"2026-09-17T14:24:03.331Z","10.1.27":"2026-09-17T23:29:05.936Z","10.1.28":"2026-09-18T06:38:46.284Z","10.1.29":"2026-09-18T11:43:03.335Z","10.1.31":"2026-09-19T00:37:22.733Z","10.1.32":"2026-09-19T02:07:55.101Z","10.1.33":"2026-09-20T02:53:51.882Z","10.1.34":"2026-09-20T10:40:43.613Z","10.1.35":"2026-09-21T11:39:12.742Z","10.1.36":"2026-09-22T09:52:56.105Z","10.1.37":"2026-09-23T15:11:09.494Z","10.1.38":"2026-09-24T02:35:06.939Z","10.1.39":"2026-09-24T03:14:39.914Z","10.1.40":"2026-09-24T03:41:57.339Z","10.1.41":"2026-09-24T04:26:29.781Z","10.1.42":"2026-09-24T04:53:51.715Z","10.1.44":"2026-09-24T07:20:57.578Z","10.1.45":"2026-09-24T09:09:44.943Z","10.1.46":"2026-09-24T10:52:50.357Z","10.1.47":"2026-09-24T13:06:52.342Z","10.1.79":"2026-09-27T04:54:13.481Z","10.1.81":"2026-09-27T16:04:03.326Z","10.1.84":"2026-09-29T09:12:11.487Z","10.1.86":"2026-09-29T19:41:14.537Z","10.1.87":"2026-09-29T20:32:23.139Z","10.1.104":"2026-10-01T03:26:15.772Z"},"author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/kpi"},"description":"kpi module","maintainers":[{"name":"woo_ram","email":"wryang@hatiolab.com"},{"name":"jyp220","email":"jyp@hatiolab.com"},{"name":"heartyoh","email":"heartyoh@hatiolab.com"},{"name":"horwengliang95","email":"wliang@hatiolab.com"},{"name":"nalshya113","email":"nalshya113@gmail.com"},{"name":"shortstop","email":"shortstop@hatiolab.com"},{"name":"youngwook","email":"asdfghjklqwnm123@gmail.com"},{"name":"wengliang95","email":"horwengliang@gmail.com"}],"readme":"","readmeFilename":""}