{"_id":"@things-factory/operato-twin","_rev":"32-e27255f5e09b8c73401445cd72995d22","name":"@things-factory/operato-twin","dist-tags":{"latest":"10.1.2"},"versions":{"10.0.0-zeta.10":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.10","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"71edb506899cc38fc868eb8f9bed1f59c054f830","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.10.tgz","fileCount":41,"integrity":"sha512-aqaPojOLDDsifYVt55sk4mIIzOD6u5RAG7HvjeNgIuH+DPc3B2LNidmvJ1B7hREOEVyGkszOuWCwxIn1c+yu3w==","signatures":[{"sig":"MEUCIB1U3iQ1q3M6VGB4OYsIf2aJXhq6OBn6yXO+KdAwoFcRAiEA4xJGWf7/6mYvapR40LE2QSn1I/FkOH1yArXOVuVAQPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424292},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"66f0cf11f6a6ddc4ad756a55fa13b26a55d89fd4","scripts":{"stop":"things-factory-stop operato-twin","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","stop:dev":"kill $(lsof -t -i:3000,3001)","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@things-factory/shell":"^10.0.0-zeta.10","@things-factory/system":"^10.0.0-zeta.10","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.10","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/headless-twin":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.10_1783953266865_0.840864413507298","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.11":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.11","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"631692ce3ba23685939c2f9f89760f125341d140","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.11.tgz","fileCount":106,"integrity":"sha512-LvocZSqnxh/S/BiCem8awjpcmc5N9nFp1PTx6m1BUTjb2WsDAl1Mfsi08trR+8jETMEI9pcmPqG2ydqmQJEG1Q==","signatures":[{"sig":"MEUCIAOUVFPGkIdaNQhvCJUlnR4mDbX+ga6Am1c4gRIvWW6qAiEAy6fpGSPvR3hlnFP0j6oTsbQehb+LrHBPk67K4IH9hMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1273745},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"20aa620e41117eab07185138ffa56769ecc2df82","scripts":{"stop":"things-factory-stop operato-twin","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","stop:dev":"kill $(lsof -t -i:3000,3001)","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/board":"^10.0.0-beta.66","@operato/graphql":"^10.0.0-beta.64","@operato/scene-base":"^10.0.0-beta.70","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.70","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/board-ui":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.10","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/board-service":"^10.0.0-zeta.10","@things-factory/headless-twin":"^10.0.0-zeta.11"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.11_1784039720205_0.5905673517036825","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.12":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.12","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"26d986e838fd4386a69b5dda598435ef8138e97c","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.12.tgz","fileCount":297,"integrity":"sha512-FlxmE/Wq2JqxO5hiqEySzDoX42NTAuGtlRTq7CkeBI/mLnYXcZJ4ofZYRXKPRuq2ehkyQEQKyucJ8Tlv5J5GyQ==","signatures":[{"sig":"MEUCIGYD8raaQP8jmx2jJMuZVn4XKRWbWe51UM+bW366ePpjAiEAuT8cQzwxYl9VM9vaWRzQMrWuIgEmOzwa8rFIoPq4Zds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4847343},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"97d4fea91a41bbe317e60f80bd6bcd7444d777e0","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/i18n":"^10.0.0-beta.64","@operato/board":"^10.0.0-beta.66","@operato/graphql":"^10.0.0-beta.64","@operato/scene-tab":"^10.0.0-beta.70","@operato/scene-auth":"^10.0.0-beta.70","@operato/scene-base":"^10.0.0-beta.70","@operato/scene-form":"^10.0.0-beta.70","@operato/scene-i18n":"^10.0.0-beta.70","@operato/scene-urdf":"^10.0.0-beta.70","@operato/scene-clock":"^10.0.0-beta.70","@operato/scene-clone":"^10.0.0-beta.70","@operato/scene-excel":"^10.0.0-beta.70","@operato/scene-gantt":"^10.0.0-beta.70","@operato/scene-gauge":"^10.0.0-beta.70","@operato/scene-label":"^10.0.0-beta.70","@operato/scene-table":"^10.0.0-beta.70","@operato/scene-timer":"^10.0.0-beta.70","@operato/scene-legend":"^10.0.0-beta.70","@operato/scene-marker":"^10.0.0-beta.70","@operato/scene-random":"^10.0.0-beta.70","@operato/scene-switch":"^10.0.0-beta.70","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.70","@operato/scene-compass":"^10.0.0-beta.70","@operato/scene-graphql":"^10.0.0-beta.70","@operato/scene-restful":"^10.0.0-beta.70","@operato/scene-sensing":"^10.0.0-beta.70","@operato/scene-storage":"^10.0.0-beta.70","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.70","@operato/scene-polypath":"^10.0.0-beta.70","@operato/scene-scichart":"^10.0.0-beta.70","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.12","@operato/scene-transport":"^10.0.0-beta.70","@things-factory/board-ui":"^10.0.0-zeta.12","@operato/scene-conveyance":"^10.0.0-beta.70","@operato/scene-google-map":"^10.0.0-beta.70","@operato/scene-indoor-map":"^10.0.0-beta.70","@operato/scene-visualizer":"^10.0.0-beta.70","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.12","@operato/scene-integration":"^10.0.0-beta.70","@operato/scene-news-ticker":"^10.0.0-beta.70","@operato/scene-progressbar":"^10.0.0-beta.70","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.70","@operato/scene-manufacturing":"^10.0.0-beta.70","@operato/scene-data-transform":"^10.0.0-beta.70","@operato/scene-half-roundrect":"^10.0.0-beta.70","@things-factory/board-service":"^10.0.0-zeta.10","@things-factory/headless-twin":"^10.0.0-zeta.12","@operato/scene-material-design":"^10.0.0-beta.70","@things-factory/integration-ui":"^10.0.0-zeta.10","@things-factory/integration-base":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.12_1784532425387_0.4273078650351392","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.13":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.0.0-zeta.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":"ecd92a187f5a8a98d4658b1189d91e7c3f91b1d6","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.13.tgz","fileCount":303,"integrity":"sha512-NV9LNJM6Ifuoa2j7NXsS0auqTE/Q0zMg7yK7t7GewsLmdbCx26+OCo9tYAx7CTMMjm2wf7EJVYL3M4/KLlgNrQ==","signatures":[{"sig":"MEUCIEBFvR2ResitODRnn7yHovEjiiEcFIQigpq3+3U8z7cKAiEA/BrB6aiNK6u6/S3SiFsZQwUtuu2Rz/FNsrCtOOVpWZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4875118},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"dd5e089c8a44d101cc09e78a2f38e91be771b8e3","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/i18n":"^10.0.0-beta.1","@operato/board":"^10.0.0-beta.1","@operato/graphql":"^10.0.0-beta.1","@operato/scene-tab":"^10.0.0-beta.1","@operato/scene-auth":"^10.0.0-beta.1","@operato/scene-base":"^10.0.0-beta.1","@operato/scene-form":"^10.0.0-beta.1","@operato/scene-i18n":"^10.0.0-beta.1","@operato/scene-urdf":"^10.0.0-beta.1","@operato/scene-clock":"^10.0.0-beta.1","@operato/scene-clone":"^10.0.0-beta.1","@operato/scene-excel":"^10.0.0-beta.1","@operato/scene-gantt":"^10.0.0-beta.1","@operato/scene-gauge":"^10.0.0-beta.1","@operato/scene-label":"^10.0.0-beta.1","@operato/scene-table":"^10.0.0-beta.1","@operato/scene-timer":"^10.0.0-beta.1","@operato/scene-legend":"^10.0.0-beta.1","@operato/scene-marker":"^10.0.0-beta.1","@operato/scene-random":"^10.0.0-beta.1","@operato/scene-switch":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.1","@operato/scene-compass":"^10.0.0-beta.1","@operato/scene-graphql":"^10.0.0-beta.1","@operato/scene-restful":"^10.0.0-beta.1","@operato/scene-sensing":"^10.0.0-beta.1","@operato/scene-storage":"^10.0.0-beta.1","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.1","@operato/scene-polypath":"^10.0.0-beta.1","@operato/scene-scichart":"^10.0.0-beta.1","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.13","@operato/scene-transport":"^10.0.0-beta.1","@things-factory/board-ui":"^10.0.0-zeta.12","@operato/scene-conveyance":"^10.0.0-beta.1","@operato/scene-google-map":"^10.0.0-beta.1","@operato/scene-indoor-map":"^10.0.0-beta.1","@operato/scene-visualizer":"^10.0.0-beta.1","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.12","@operato/scene-integration":"^10.0.0-beta.1","@operato/scene-news-ticker":"^10.0.0-beta.1","@operato/scene-progressbar":"^10.0.0-beta.1","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.1","@operato/scene-manufacturing":"^10.0.0-beta.1","@operato/scene-data-transform":"^10.0.0-beta.1","@operato/scene-half-roundrect":"^10.0.0-beta.1","@things-factory/board-service":"^10.0.0-zeta.10","@things-factory/headless-twin":"^10.0.0-zeta.12","@operato/scene-material-design":"^10.0.0-beta.1","@things-factory/integration-ui":"^10.0.0-zeta.10","@things-factory/integration-base":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.13_1784546770247_0.13123995712567949","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.14":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.14","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.0.0-zeta.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":"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":"cf0d9d5fd0c894097547a240a8d74296ebae3169","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.14.tgz","fileCount":365,"integrity":"sha512-SVb9sali7C/mq4CrmThJpfPDd4JdAwN4MjZ4gpCwB1m5Jcu9Pyhw/+nD1fuH+PvPffjjBwhwU0bDW2O/nkCIoA==","signatures":[{"sig":"MEUCIBffEvqM/haTV7YLkQkGFB6+EoZeMD7LK3kMY3QfPW59AiEA8/vq8GfX2fOIrw+imoHRQ2uGlDObIba4zbMceXfueAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4818852},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"0ee4ac1b5d37b91915dcabe3c949a891c7d94533","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@material/web":"^2.0.0","@operato/font":"^10.0.0-beta.1","@operato/help":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/board":"^10.0.0-beta.1","@operato/input":"^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/graphql":"^10.0.0-beta.1","@operato/scene-tab":"^10.0.0-beta.1","@operato/attachment":"^10.0.0-beta.1","@operato/scene-auth":"^10.0.0-beta.1","@operato/scene-base":"^10.0.0-beta.1","@operato/scene-form":"^10.0.0-beta.1","@operato/scene-i18n":"^10.0.0-beta.1","@operato/scene-urdf":"^10.0.0-beta.1","@operato/scene-clock":"^10.0.0-beta.1","@operato/scene-clone":"^10.0.0-beta.1","@operato/scene-excel":"^10.0.0-beta.1","@operato/scene-gantt":"^10.0.0-beta.1","@operato/scene-gauge":"^10.0.0-beta.1","@operato/scene-label":"^10.0.0-beta.1","@operato/scene-table":"^10.0.0-beta.1","@operato/scene-timer":"^10.0.0-beta.1","@things-factory/help":"^10.0.0-zeta.14","@operato/scene-legend":"^10.0.0-beta.1","@operato/scene-marker":"^10.0.0-beta.1","@operato/scene-random":"^10.0.0-beta.1","@operato/scene-switch":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.1","@operato/scene-compass":"^10.0.0-beta.1","@operato/scene-graphql":"^10.0.0-beta.1","@operato/scene-restful":"^10.0.0-beta.1","@operato/scene-sensing":"^10.0.0-beta.1","@operato/scene-storage":"^10.0.0-beta.1","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.1","@operato/scene-polypath":"^10.0.0-beta.1","@operato/scene-scichart":"^10.0.0-beta.1","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/form-ui":"^10.0.0-zeta.8","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.13","@operato/pull-to-refresh":"^10.0.0-beta.1","@operato/scene-transport":"^10.0.0-beta.1","@things-factory/board-ui":"^10.0.0-zeta.12","@things-factory/fav-base":"^10.0.0-zeta.10","@things-factory/print-ui":"^10.0.0-zeta.10","@operato/scene-conveyance":"^10.0.0-beta.1","@operato/scene-google-map":"^10.0.0-beta.1","@operato/scene-indoor-map":"^10.0.0-beta.1","@operato/scene-visualizer":"^10.0.0-beta.1","@things-factory/font-base":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.12","@things-factory/scheduler":"^10.0.0-zeta.10","@operato/scene-integration":"^10.0.0-beta.1","@operato/scene-news-ticker":"^10.0.0-beta.1","@operato/scene-progressbar":"^10.0.0-beta.1","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/setting-ui":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.1","@things-factory/auth-google":"^10.0.0-zeta.10","@things-factory/resource-ui":"^10.0.0-zeta.10","@operato/scene-manufacturing":"^10.0.0-beta.1","@operato/scene-data-transform":"^10.0.0-beta.1","@operato/scene-half-roundrect":"^10.0.0-beta.1","@things-factory/auth-azure-ad":"^10.0.0-zeta.10","@things-factory/board-service":"^10.0.0-zeta.10","@things-factory/headless-twin":"^10.0.0-zeta.12","@operato/scene-material-design":"^10.0.0-beta.1","@things-factory/ai-client-base":"^10.0.0-zeta.10","@things-factory/integration-ui":"^10.0.0-zeta.10","@things-factory/integration-base":"^10.0.0-zeta.10","@things-factory/integration-email":"^10.0.0-zeta.10","@things-factory/integration-influxdb":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.14_1784644117006_0.9525626987309319","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.15":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.15","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.0.0-zeta.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":"774b94ec99e0cbc4e45858d23edc5243d498b3cb","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.15.tgz","fileCount":374,"integrity":"sha512-ePhZ3t/Wwl77stHzjW+cofbaNtJJcsyHxVE2XkravKn15AYNFxHz5Ft+PIU0ToYp+wJb4nTGBIwOZM2/tz65vw==","signatures":[{"sig":"MEYCIQCLYYkAaKiG9sl95ltHk6TUzRzODEBwcGAWJtiTlk825QIhAInq/jb0rcKBXO2alrErSAdFZb45075qBMsjqSkESFxQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5308859},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"1fafbabbecbb710b7a265025b9632019e2d1a564","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@material/web":"^2.0.0","@operato/font":"^10.0.0-beta.1","@operato/help":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/board":"^10.0.0-beta.1","@operato/input":"^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/graphql":"^10.0.0-beta.1","@operato/scene-tab":"^10.0.0-beta.1","@operato/attachment":"^10.0.0-beta.1","@operato/scene-auth":"^10.0.0-beta.1","@operato/scene-base":"^10.0.0-beta.1","@operato/scene-form":"^10.0.0-beta.1","@operato/scene-i18n":"^10.0.0-beta.1","@operato/scene-urdf":"^10.0.0-beta.1","@operato/scene-clock":"^10.0.0-beta.1","@operato/scene-clone":"^10.0.0-beta.1","@operato/scene-excel":"^10.0.0-beta.1","@operato/scene-gantt":"^10.0.0-beta.1","@operato/scene-gauge":"^10.0.0-beta.1","@operato/scene-label":"^10.0.0-beta.1","@operato/scene-table":"^10.0.0-beta.1","@operato/scene-timer":"^10.0.0-beta.1","@things-factory/help":"^10.0.0-zeta.14","@operato/scene-legend":"^10.0.0-beta.1","@operato/scene-marker":"^10.0.0-beta.1","@operato/scene-random":"^10.0.0-beta.1","@operato/scene-switch":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.1","@operato/scene-compass":"^10.0.0-beta.1","@operato/scene-graphql":"^10.0.0-beta.1","@operato/scene-restful":"^10.0.0-beta.1","@operato/scene-sensing":"^10.0.0-beta.1","@operato/scene-storage":"^10.0.0-beta.1","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.1","@operato/scene-polypath":"^10.0.0-beta.1","@operato/scene-scichart":"^10.0.0-beta.1","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/form-ui":"^10.0.0-zeta.8","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.15","@operato/pull-to-refresh":"^10.0.0-beta.1","@operato/scene-transport":"^10.0.0-beta.1","@things-factory/board-ui":"^10.0.0-zeta.12","@things-factory/fav-base":"^10.0.0-zeta.10","@things-factory/print-ui":"^10.0.0-zeta.10","@operato/scene-conveyance":"^10.0.0-beta.1","@operato/scene-google-map":"^10.0.0-beta.1","@operato/scene-indoor-map":"^10.0.0-beta.1","@operato/scene-visualizer":"^10.0.0-beta.1","@things-factory/font-base":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.12","@things-factory/scheduler":"^10.0.0-zeta.10","@operato/scene-integration":"^10.0.0-beta.1","@operato/scene-news-ticker":"^10.0.0-beta.1","@operato/scene-progressbar":"^10.0.0-beta.1","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/setting-ui":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.1","@things-factory/auth-google":"^10.0.0-zeta.10","@things-factory/resource-ui":"^10.0.0-zeta.10","@operato/scene-manufacturing":"^10.0.0-beta.1","@operato/scene-data-transform":"^10.0.0-beta.1","@operato/scene-half-roundrect":"^10.0.0-beta.1","@things-factory/auth-azure-ad":"^10.0.0-zeta.10","@things-factory/board-service":"^10.0.0-zeta.10","@things-factory/headless-twin":"^10.0.0-zeta.15","@operato/scene-material-design":"^10.0.0-beta.1","@things-factory/ai-client-base":"^10.0.0-zeta.10","@things-factory/integration-ui":"^10.0.0-zeta.10","@things-factory/integration-base":"^10.0.0-zeta.10","@things-factory/integration-email":"^10.0.0-zeta.10","@things-factory/integration-influxdb":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.15_1784737267835_0.41158695402190393","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.16":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.16","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.0.0-zeta.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":"760595fc75ca5be98f73fcae5538399d50ff544c","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.16.tgz","fileCount":392,"integrity":"sha512-REJpSDMsIcontKP4Z94b7nMMvEvUP1To+8/HezAZ/TECBRmqyU+9Gw2SSjkH7+NfW+5+Me+NENrjuPrmAiubIw==","signatures":[{"sig":"MEYCIQDSms5dxGrFcnwXycfCDGZ2ucOcAOHPKy+H4v3f8VQF5wIhAOjl1obCnIHsSQH+sKcv5p8KJ5HzYdK7R9mMD7CRwfCp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5468447},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"2e7100207aa2d5a2cadfdd64bb634cf48e4eee00","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@material/web":"^2.0.0","@operato/font":"^10.0.0-beta.1","@operato/help":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/board":"^10.0.0-beta.1","@operato/input":"^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/graphql":"^10.0.0-beta.1","@operato/scene-tab":"^10.0.0-beta.1","@operato/attachment":"^10.0.0-beta.1","@operato/scene-auth":"^10.0.0-beta.1","@operato/scene-base":"^10.0.0-beta.1","@operato/scene-form":"^10.0.0-beta.1","@operato/scene-i18n":"^10.0.0-beta.1","@operato/scene-urdf":"^10.0.0-beta.1","@operato/scene-clock":"^10.0.0-beta.1","@operato/scene-clone":"^10.0.0-beta.1","@operato/scene-excel":"^10.0.0-beta.1","@operato/scene-gantt":"^10.0.0-beta.1","@operato/scene-gauge":"^10.0.0-beta.1","@operato/scene-label":"^10.0.0-beta.1","@operato/scene-table":"^10.0.0-beta.1","@operato/scene-timer":"^10.0.0-beta.1","@things-factory/help":"^10.0.0-zeta.14","@operato/scene-legend":"^10.0.0-beta.1","@operato/scene-marker":"^10.0.0-beta.1","@operato/scene-random":"^10.0.0-beta.1","@operato/scene-switch":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.1","@operato/scene-compass":"^10.0.0-beta.1","@operato/scene-graphql":"^10.0.0-beta.1","@operato/scene-restful":"^10.0.0-beta.1","@operato/scene-sensing":"^10.0.0-beta.1","@operato/scene-storage":"^10.0.0-beta.1","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.1","@operato/scene-polypath":"^10.0.0-beta.1","@operato/scene-scichart":"^10.0.0-beta.1","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/form-ui":"^10.0.0-zeta.8","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.16","@operato/pull-to-refresh":"^10.0.0-beta.1","@operato/scene-transport":"^10.0.0-beta.1","@things-factory/board-ui":"^10.0.0-zeta.12","@things-factory/fav-base":"^10.0.0-zeta.10","@things-factory/print-ui":"^10.0.0-zeta.10","@operato/scene-conveyance":"^10.0.0-beta.1","@operato/scene-google-map":"^10.0.0-beta.1","@operato/scene-indoor-map":"^10.0.0-beta.1","@operato/scene-visualizer":"^10.0.0-beta.1","@things-factory/font-base":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.12","@things-factory/scheduler":"^10.0.0-zeta.10","@operato/scene-integration":"^10.0.0-beta.1","@operato/scene-news-ticker":"^10.0.0-beta.1","@operato/scene-progressbar":"^10.0.0-beta.1","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/setting-ui":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.1","@things-factory/auth-google":"^10.0.0-zeta.10","@things-factory/resource-ui":"^10.0.0-zeta.10","@operato/scene-manufacturing":"^10.0.0-beta.1","@operato/scene-data-transform":"^10.0.0-beta.1","@operato/scene-half-roundrect":"^10.0.0-beta.1","@things-factory/auth-azure-ad":"^10.0.0-zeta.10","@things-factory/board-service":"^10.0.0-zeta.10","@things-factory/headless-twin":"^10.0.0-zeta.16","@operato/scene-material-design":"^10.0.0-beta.1","@things-factory/ai-client-base":"^10.0.0-zeta.10","@things-factory/integration-ui":"^10.0.0-zeta.10","@things-factory/integration-base":"^10.0.0-zeta.10","@things-factory/integration-email":"^10.0.0-zeta.10","@things-factory/integration-influxdb":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.16_1784865124720_0.7505027779273694","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.17":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"34b39b6860008bfc75691a4ef1c1bccca7a68ed8","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.17.tgz","fileCount":395,"integrity":"sha512-Oy8okSZPy9DLxsirSnV4wR6pJ656sT80Of9+KpN/Qq1A0gq9haOahpVWPvIww0MQJi4cJKrSTHqJCFJf5cG8gA==","signatures":[{"sig":"MEUCIERXQ63hp3tp/uQYM246BVzh5xhxKEv44RwsDG2sUiFvAiEAthw38tGfd9vdZVKalWrJBushgX59Xmtto9eUwN484GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5509764},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"f4654e1a1abda8891a271a140473e497e86342b5","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@material/web":"^2.0.0","@operato/font":"^10.0.0-beta.1","@operato/help":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/board":"^10.0.0-beta.1","@operato/input":"^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/graphql":"^10.0.0-beta.1","@operato/scene-tab":"^10.0.0-beta.1","@operato/attachment":"^10.0.0-beta.1","@operato/scene-auth":"^10.0.0-beta.1","@operato/scene-base":"^10.0.0-beta.1","@operato/scene-form":"^10.0.0-beta.1","@operato/scene-i18n":"^10.0.0-beta.1","@operato/scene-urdf":"^10.0.0-beta.1","@operato/scene-clock":"^10.0.0-beta.1","@operato/scene-clone":"^10.0.0-beta.1","@operato/scene-excel":"^10.0.0-beta.1","@operato/scene-gantt":"^10.0.0-beta.1","@operato/scene-gauge":"^10.0.0-beta.1","@operato/scene-label":"^10.0.0-beta.1","@operato/scene-table":"^10.0.0-beta.1","@operato/scene-timer":"^10.0.0-beta.1","@things-factory/help":"^10.0.0-zeta.14","@operato/scene-legend":"^10.0.0-beta.1","@operato/scene-marker":"^10.0.0-beta.1","@operato/scene-random":"^10.0.0-beta.1","@operato/scene-switch":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.1","@operato/scene-compass":"^10.0.0-beta.1","@operato/scene-graphql":"^10.0.0-beta.1","@operato/scene-restful":"^10.0.0-beta.1","@operato/scene-sensing":"^10.0.0-beta.1","@operato/scene-storage":"^10.0.0-beta.1","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.1","@operato/scene-polypath":"^10.0.0-beta.1","@operato/scene-scichart":"^10.0.0-beta.1","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/form-ui":"^10.0.0-zeta.8","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.16","@operato/pull-to-refresh":"^10.0.0-beta.1","@operato/scene-transport":"^10.0.0-beta.1","@things-factory/board-ui":"^10.0.0-zeta.17","@things-factory/fav-base":"^10.0.0-zeta.10","@things-factory/print-ui":"^10.0.0-zeta.10","@operato/scene-conveyance":"^10.0.0-beta.1","@operato/scene-google-map":"^10.0.0-beta.1","@operato/scene-indoor-map":"^10.0.0-beta.1","@operato/scene-visualizer":"^10.0.0-beta.1","@things-factory/font-base":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.17","@things-factory/scheduler":"^10.0.0-zeta.10","@operato/scene-integration":"^10.0.0-beta.1","@operato/scene-news-ticker":"^10.0.0-beta.1","@operato/scene-progressbar":"^10.0.0-beta.1","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/setting-ui":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.1","@things-factory/auth-google":"^10.0.0-zeta.10","@things-factory/resource-ui":"^10.0.0-zeta.10","@operato/scene-manufacturing":"^10.0.0-beta.1","@operato/scene-data-transform":"^10.0.0-beta.1","@operato/scene-half-roundrect":"^10.0.0-beta.1","@things-factory/auth-azure-ad":"^10.0.0-zeta.10","@things-factory/board-service":"^10.0.0-zeta.17","@things-factory/headless-twin":"^10.0.0-zeta.16","@operato/scene-material-design":"^10.0.0-beta.1","@things-factory/ai-client-base":"^10.0.0-zeta.10","@things-factory/integration-ui":"^10.0.0-zeta.10","@things-factory/integration-base":"^10.0.0-zeta.10","@things-factory/integration-email":"^10.0.0-zeta.10","@things-factory/integration-influxdb":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.17_1784873370244_0.5458715988340552","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.18":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.0.0-zeta.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":"6660131c23408af0c0c156d1b3dd4c889dbed624","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.18.tgz","fileCount":401,"integrity":"sha512-lcOLPwfHzOfs4jew4i1ezotKmtESqeUmVg1+ClrHLmcxxc3GIEpr4fpRITCth8p5zWl1uoTID3GpHG2eMtbIow==","signatures":[{"sig":"MEYCIQCXZsdwaYu5JqwyUpyPlp8rpTJ4ulnwXUD2Qwq/kqY/DwIhAOWBbXh1lRECh7+hk70+Z6PRs2dIdRseu8pNQjEObSZZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5674701},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4cbdcc1fc5eb81e2a05ae3096483bcc76b0490f2","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@material/web":"^2.0.0","@operato/font":"^10.0.0-beta.1","@operato/help":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/board":"^10.0.0-beta.1","@operato/input":"^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/graphql":"^10.0.0-beta.1","@operato/scene-tab":"^10.0.0-beta.1","@operato/attachment":"^10.0.0-beta.1","@operato/scene-auth":"^10.0.0-beta.1","@operato/scene-base":"^10.0.0-beta.1","@operato/scene-form":"^10.0.0-beta.1","@operato/scene-i18n":"^10.0.0-beta.1","@operato/scene-urdf":"^10.0.0-beta.1","@operato/scene-clock":"^10.0.0-beta.1","@operato/scene-clone":"^10.0.0-beta.1","@operato/scene-excel":"^10.0.0-beta.1","@operato/scene-gantt":"^10.0.0-beta.1","@operato/scene-gauge":"^10.0.0-beta.1","@operato/scene-label":"^10.0.0-beta.1","@operato/scene-table":"^10.0.0-beta.1","@operato/scene-timer":"^10.0.0-beta.1","@things-factory/help":"^10.0.0-zeta.14","@operato/scene-legend":"^10.0.0-beta.1","@operato/scene-marker":"^10.0.0-beta.1","@operato/scene-random":"^10.0.0-beta.1","@operato/scene-switch":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.1","@operato/scene-compass":"^10.0.0-beta.1","@operato/scene-graphql":"^10.0.0-beta.1","@operato/scene-restful":"^10.0.0-beta.1","@operato/scene-sensing":"^10.0.0-beta.1","@operato/scene-storage":"^10.0.0-beta.1","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.1","@operato/scene-polypath":"^10.0.0-beta.1","@operato/scene-scichart":"^10.0.0-beta.1","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/form-ui":"^10.0.0-zeta.8","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.18","@operato/pull-to-refresh":"^10.0.0-beta.1","@operato/scene-transport":"^10.0.0-beta.1","@things-factory/board-ui":"^10.0.0-zeta.17","@things-factory/fav-base":"^10.0.0-zeta.10","@things-factory/print-ui":"^10.0.0-zeta.10","@operato/scene-conveyance":"^10.0.0-beta.1","@operato/scene-google-map":"^10.0.0-beta.1","@operato/scene-indoor-map":"^10.0.0-beta.1","@operato/scene-visualizer":"^10.0.0-beta.1","@things-factory/font-base":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.17","@things-factory/scheduler":"^10.0.0-zeta.10","@operato/scene-integration":"^10.0.0-beta.1","@operato/scene-news-ticker":"^10.0.0-beta.1","@operato/scene-progressbar":"^10.0.0-beta.1","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/setting-ui":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.1","@things-factory/auth-google":"^10.0.0-zeta.10","@things-factory/resource-ui":"^10.0.0-zeta.10","@operato/scene-manufacturing":"^10.0.0-beta.1","@operato/scene-data-transform":"^10.0.0-beta.1","@operato/scene-half-roundrect":"^10.0.0-beta.1","@things-factory/auth-azure-ad":"^10.0.0-zeta.10","@things-factory/board-service":"^10.0.0-zeta.17","@things-factory/headless-twin":"^10.0.0-zeta.18","@operato/scene-material-design":"^10.0.0-beta.1","@things-factory/ai-client-base":"^10.0.0-zeta.10","@things-factory/integration-ui":"^10.0.0-zeta.10","@things-factory/integration-base":"^10.0.0-zeta.10","@things-factory/integration-email":"^10.0.0-zeta.10","@things-factory/integration-influxdb":"^10.0.0-zeta.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.18_1784941311509_0.4220038926194931","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-zeta.19":{"name":"@things-factory/operato-twin","version":"10.0.0-zeta.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"746e9072faf411cc35b3204cc4f7889e6ae5f66d","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0-zeta.19.tgz","fileCount":413,"integrity":"sha512-ok/poJAo4adKw8Cy/vyammV+DqCCQvR4yKsskTKfH96+YLSllr6X/ZJqCkrsn29r/K5JD/bhbD32kB+YMcOrQA==","signatures":[{"sig":"MEYCIQCMbEySYmNVi1KKulFhywp6tFJhvES5IhuE6t/nsUecWgIhANlZMOi88cZmp40z7mU4WTeZV3p19d9Dz2ovBA0+b/d3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6145507},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"7d320de9943dc929c2fa71cc44b2b78089288f76","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0-beta.64","@material/web":"^2.0.0","@operato/font":"^10.0.0-beta.1","@operato/help":"^10.0.0-beta.1","@operato/i18n":"^10.0.0-beta.1","@operato/board":"^10.0.0-beta.1","@operato/input":"^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/graphql":"^10.0.0-beta.1","@operato/scene-tab":"^10.0.0-beta.1","@operato/attachment":"^10.0.0-beta.1","@operato/scene-auth":"^10.0.0-beta.1","@operato/scene-base":"^10.0.0-beta.1","@operato/scene-form":"^10.0.0-beta.1","@operato/scene-i18n":"^10.0.0-beta.1","@operato/scene-urdf":"^10.0.0-beta.1","@operato/scene-clock":"^10.0.0-beta.1","@operato/scene-clone":"^10.0.0-beta.1","@operato/scene-excel":"^10.0.0-beta.1","@operato/scene-gantt":"^10.0.0-beta.1","@operato/scene-gauge":"^10.0.0-beta.1","@operato/scene-label":"^10.0.0-beta.1","@operato/scene-table":"^10.0.0-beta.1","@operato/scene-timer":"^10.0.0-beta.1","@things-factory/help":"^10.0.0-zeta.14","@operato/scene-legend":"^10.0.0-beta.1","@operato/scene-marker":"^10.0.0-beta.1","@operato/scene-random":"^10.0.0-beta.1","@operato/scene-switch":"^10.0.0-beta.1","@things-factory/shell":"^10.0.0-zeta.10","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0-beta.1","@operato/scene-compass":"^10.0.0-beta.1","@operato/scene-graphql":"^10.0.0-beta.1","@operato/scene-restful":"^10.0.0-beta.1","@operato/scene-sensing":"^10.0.0-beta.1","@operato/scene-storage":"^10.0.0-beta.1","@things-factory/system":"^10.0.0-zeta.10","@operato/scene-facility":"^10.0.0-beta.1","@operato/scene-polypath":"^10.0.0-beta.1","@operato/scene-scichart":"^10.0.0-beta.1","@things-factory/auth-ui":"^10.0.0-zeta.10","@things-factory/form-ui":"^10.0.0-zeta.8","@things-factory/more-ui":"^10.0.0-zeta.10","@things-factory/twin-ai":"^10.0.0-zeta.19","@operato/pull-to-refresh":"^10.0.0-beta.1","@operato/scene-transport":"^10.0.0-beta.1","@things-factory/board-ui":"^10.0.0-zeta.19","@things-factory/fav-base":"^10.0.0-zeta.10","@things-factory/print-ui":"^10.0.0-zeta.10","@operato/scene-conveyance":"^10.0.0-beta.1","@operato/scene-google-map":"^10.0.0-beta.1","@operato/scene-indoor-map":"^10.0.0-beta.1","@operato/scene-visualizer":"^10.0.0-beta.1","@things-factory/font-base":"^10.0.0-zeta.10","@things-factory/i18n-base":"^10.0.0-zeta.10","@things-factory/lite-menu":"^10.0.0-zeta.19","@things-factory/scheduler":"^10.0.0-zeta.10","@operato/scene-integration":"^10.0.0-beta.1","@operato/scene-news-ticker":"^10.0.0-beta.1","@operato/scene-progressbar":"^10.0.0-beta.1","@things-factory/apptool-ui":"^10.0.0-zeta.10","@things-factory/context-ui":"^10.0.0-zeta.10","@things-factory/evaluation":"^10.0.0-zeta.10","@things-factory/setting-ui":"^10.0.0-zeta.10","@operato/scene-image-slider":"^10.0.0-beta.1","@things-factory/auth-google":"^10.0.0-zeta.10","@things-factory/resource-ui":"^10.0.0-zeta.10","@operato/scene-manufacturing":"^10.0.0-beta.1","@operato/scene-data-transform":"^10.0.0-beta.1","@operato/scene-half-roundrect":"^10.0.0-beta.1","@things-factory/auth-azure-ad":"^10.0.0-zeta.10","@things-factory/board-service":"^10.0.0-zeta.19","@things-factory/cache-service":"^10.0.0-zeta.19","@things-factory/headless-twin":"^10.0.0-zeta.19","@operato/scene-material-design":"^10.0.0-beta.1","@things-factory/ai-client-base":"^10.0.0-zeta.10","@things-factory/integration-ui":"^10.0.0-zeta.19","@things-factory/integration-base":"^10.0.0-zeta.19","@things-factory/integration-email":"^10.0.0-zeta.19","@things-factory/integration-influxdb":"^10.0.0-zeta.19"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0-zeta.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0-zeta.19_1785056532407_0.5268121596902247","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@things-factory/operato-twin","version":"10.0.0","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"101ad6b9263ff10dfb5d9437a1a03da3fefc4318","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.0.tgz","fileCount":441,"integrity":"sha512-yjc+4t5nVrhOMm9XB9Ba/vtViGK3j3NZfiWXpsyeNCmsRftMSFUQTv634YcUqiunpRTJSYUYX2jD0WyGAyjJpA==","signatures":[{"sig":"MEQCIEI95AofyKLgdrGq4lU56DTgjIPsPHSmSNCo3iCTFc0LAiA2NGrqUlVmhHyr+EuLGQWHq+obFioU1jDJnfKIOVx3TQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6761800},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b20fa0816c33727f7ec327e0455687d3be620c58","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0-beta.64","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.0","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.0","@hatiolab/things-scene":"^10.0.0-beta.139","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.0","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.0","@things-factory/form-ui":"^10.0.0","@things-factory/more-ui":"^10.0.0","@things-factory/twin-ai":"^10.0.0","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.0","@things-factory/board-ui":"^10.0.0","@things-factory/fav-base":"^10.0.0","@things-factory/print-ui":"^10.0.0","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.0","@things-factory/i18n-base":"^10.0.0","@things-factory/lite-menu":"^10.0.0","@things-factory/scheduler":"^10.0.0","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.0","@things-factory/context-ui":"^10.0.0","@things-factory/evaluation":"^10.0.0","@things-factory/setting-ui":"^10.0.0","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.0","@things-factory/resource-ui":"^10.0.0","@operato/scene-manufacturing":"^10.0.0","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.0","@things-factory/board-service":"^10.0.0","@things-factory/cache-service":"^10.0.0","@things-factory/headless-twin":"^10.0.0","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.0","@things-factory/integration-ui":"^10.0.0","@things-factory/integration-base":"^10.0.0","@things-factory/integration-email":"^10.0.0","@things-factory/integration-influxdb":"^10.0.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.0_1785330901566_0.3360177712388841","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"name":"@things-factory/operato-twin","version":"10.0.1","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"68710373062718e3405a72032a43c5cb7409356e","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.1.tgz","fileCount":441,"integrity":"sha512-N5RKPhu9b8X4ZOnhOB6BpYEFn2sjx7FoAbgPVCx0t+zDpK8Sne5hgeqB3OUzlFxGfRxaf+wVZeM5rfZBp2lBvw==","signatures":[{"sig":"MEYCIQDAOm9WmZmpcR8OKmHeeR5rL791iWjhRnaWneKq7pG04wIhAM46CfAcSIGTROQL+3sgbdA7WTam//dj/xkPyFtShU6Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6761783},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"6dd5b25ed1fe863415793bd156c3411ffe1ce47d","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.0","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.0","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.0","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.0","@things-factory/form-ui":"^10.0.0","@things-factory/more-ui":"^10.0.0","@things-factory/twin-ai":"^10.0.0","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.1","@things-factory/board-ui":"^10.0.1","@things-factory/fav-base":"^10.0.0","@things-factory/print-ui":"^10.0.0","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.0","@things-factory/i18n-base":"^10.0.0","@things-factory/lite-menu":"^10.0.1","@things-factory/scheduler":"^10.0.0","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.0","@things-factory/context-ui":"^10.0.0","@things-factory/evaluation":"^10.0.0","@things-factory/setting-ui":"^10.0.0","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.0","@things-factory/resource-ui":"^10.0.0","@operato/scene-manufacturing":"^10.0.0","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.0","@things-factory/board-service":"^10.0.1","@things-factory/cache-service":"^10.0.0","@things-factory/headless-twin":"^10.0.0","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.0","@things-factory/integration-ui":"^10.0.1","@things-factory/integration-base":"^10.0.1","@things-factory/integration-email":"^10.0.1","@things-factory/integration-influxdb":"^10.0.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.1_1785331993732_0.9440945357502593","host":"s3://npm-registry-packages-npm-production"}},"10.0.2":{"name":"@things-factory/operato-twin","version":"10.0.2","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"01b1dedf3d5266991eb3c7fac7b4e6b2ba86a007","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.2.tgz","fileCount":441,"integrity":"sha512-3hiC39IXqyMzM3rMwfSy3/6FQeU//S7jrcxOUnEzAQc7OfgAp3A+Gp3zwKrEacWhLCQ0J349qKEhu9O7yAKiqw==","signatures":[{"sig":"MEYCIQDFwCL6MbJNATuML95WP3kSgc8y1CsCZ9j5kSBtsa/SmAIhAO5ykATBY1zxYa2ZUDgtGr5GfGVZH4KvNMBR6Z41BHI6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6858168},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"a69c3592a44e27bfa8212bc06268bff6140afc9a","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.0","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.0","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.0","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.0","@things-factory/form-ui":"^10.0.0","@things-factory/more-ui":"^10.0.0","@things-factory/twin-ai":"^10.0.2","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.2","@things-factory/board-ui":"^10.0.2","@things-factory/fav-base":"^10.0.0","@things-factory/print-ui":"^10.0.0","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.0","@things-factory/i18n-base":"^10.0.0","@things-factory/lite-menu":"^10.0.2","@things-factory/scheduler":"^10.0.0","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.0","@things-factory/context-ui":"^10.0.0","@things-factory/evaluation":"^10.0.0","@things-factory/setting-ui":"^10.0.0","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.0","@things-factory/resource-ui":"^10.0.0","@operato/scene-manufacturing":"^10.0.0","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.0","@things-factory/board-service":"^10.0.1","@things-factory/cache-service":"^10.0.0","@things-factory/headless-twin":"^10.0.0","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.2","@things-factory/integration-ui":"^10.0.1","@things-factory/integration-base":"^10.0.1","@things-factory/integration-email":"^10.0.1","@things-factory/integration-influxdb":"^10.0.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.2_1785347846407_0.2480000019531845","host":"s3://npm-registry-packages-npm-production"}},"10.0.3":{"name":"@things-factory/operato-twin","version":"10.0.3","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"815ec24fab4498d0442a10b5bdd31bce16f047ac","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.3.tgz","fileCount":441,"integrity":"sha512-2v7xWWCJCp1yxgmR/mTkDLA94tOcyLI6iLE2dk9u6zO7R8PYRJXz8pUxJ1g1KkNEzC7P39B199o+uJFnpEVtlA==","signatures":[{"sig":"MEQCIC+NswXiWtOp4YFRRNqlKglR7l9t8v5Iqe1P9GVMYF5XAiAs7gRW35IZQXccDV4wN1BlzRoCagI87Rkq5+P7cVeotQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6877265},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c7d253b722b6917e8911f6ef6e78e5fc2b295e82","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.3","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.3","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.3","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.3","@things-factory/form-ui":"^10.0.0","@things-factory/more-ui":"^10.0.3","@things-factory/twin-ai":"^10.0.3","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.3","@things-factory/board-ui":"^10.0.3","@things-factory/fav-base":"^10.0.3","@things-factory/print-ui":"^10.0.3","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.3","@things-factory/i18n-base":"^10.0.3","@things-factory/lite-menu":"^10.0.3","@things-factory/scheduler":"^10.0.3","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.3","@things-factory/context-ui":"^10.0.3","@things-factory/evaluation":"^10.0.3","@things-factory/setting-ui":"^10.0.3","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.3","@things-factory/resource-ui":"^10.0.3","@operato/scene-manufacturing":"^10.0.0","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.3","@things-factory/board-service":"^10.0.3","@things-factory/cache-service":"^10.0.3","@things-factory/headless-twin":"^10.0.3","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.3","@things-factory/integration-ui":"^10.0.3","@things-factory/integration-base":"^10.0.3","@things-factory/integration-email":"^10.0.3","@things-factory/integration-influxdb":"^10.0.3"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.3_1785410099341_0.9762366696062585","host":"s3://npm-registry-packages-npm-production"}},"10.0.4":{"name":"@things-factory/operato-twin","version":"10.0.4","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"2b86340e627058cc05983f1a95d743414aaf2149","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.4.tgz","fileCount":441,"integrity":"sha512-pIRkWdmu3bZ8sUaPqIQ+YK3D1a/xHfE/6G8hPZFfhAP7YiDx34bF5BacZCgxvwmU7W1+76EqhgUTn4A7QpOjcA==","signatures":[{"sig":"MEUCID/b0j9oezQ1sDriY1B2WzNZM5imqj4trVSw+8DCQX7mAiEAsV76wsQdn10Q9CVvvP4rjEYOFIWSOOLA1QIryIbaYBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6877265},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c8f6dcfea3ffe7a9dd2a7195e83e2e4e201fd5ea","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.4","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.4","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.4","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.4","@things-factory/form-ui":"^10.0.0","@things-factory/more-ui":"^10.0.4","@things-factory/twin-ai":"^10.0.4","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.4","@things-factory/board-ui":"^10.0.4","@things-factory/fav-base":"^10.0.4","@things-factory/print-ui":"^10.0.4","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.4","@things-factory/i18n-base":"^10.0.4","@things-factory/lite-menu":"^10.0.4","@things-factory/scheduler":"^10.0.4","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.4","@things-factory/context-ui":"^10.0.4","@things-factory/evaluation":"^10.0.4","@things-factory/setting-ui":"^10.0.4","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.4","@things-factory/resource-ui":"^10.0.4","@operato/scene-manufacturing":"^10.0.0","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.4","@things-factory/board-service":"^10.0.4","@things-factory/cache-service":"^10.0.4","@things-factory/headless-twin":"^10.0.4","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.4","@things-factory/integration-ui":"^10.0.4","@things-factory/integration-base":"^10.0.4","@things-factory/integration-email":"^10.0.4","@things-factory/integration-influxdb":"^10.0.4"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.4_1785413291883_0.1834248104117926","host":"s3://npm-registry-packages-npm-production"}},"10.0.5":{"name":"@things-factory/operato-twin","version":"10.0.5","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"d117695f12a830587c51c2348b4f84323aa5e707","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.5.tgz","fileCount":447,"integrity":"sha512-P4qlynGUVSb9RdeTW6yKNyAhZAQjc3BwgUX/ZwHeIXxYI+tFy6codXHuk78roD4+G/7DGeGkEd7hCHOCp+lFPg==","signatures":[{"sig":"MEQCIFiroLaN8dLvhq3nRKxxiASFmBucCuSQ3+4KkK3HuW8EAiBWPeIgjO6ppHinYAbLRodbqYxLruOPd+yR8jg0crCIgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7331360},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"42240a9b6d504181850ea30188f215434b2dd55f","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.5","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.5","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.5","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.5","@things-factory/form-ui":"^10.0.5","@things-factory/more-ui":"^10.0.5","@things-factory/twin-ai":"^10.0.5","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.5","@things-factory/board-ui":"^10.0.5","@things-factory/fav-base":"^10.0.5","@things-factory/print-ui":"^10.0.5","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.5","@things-factory/i18n-base":"^10.0.5","@things-factory/lite-menu":"^10.0.5","@things-factory/more-base":"^10.0.5","@things-factory/scheduler":"^10.0.5","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.5","@things-factory/context-ui":"^10.0.5","@things-factory/evaluation":"^10.0.5","@things-factory/setting-ui":"^10.0.5","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.5","@things-factory/resource-ui":"^10.0.5","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.5","@things-factory/setting-base":"^10.0.5","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.5","@things-factory/board-service":"^10.0.5","@things-factory/cache-service":"^10.0.5","@things-factory/headless-twin":"^10.0.5","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.4","@things-factory/integration-ui":"^10.0.5","@things-factory/integration-base":"^10.0.5","@things-factory/integration-email":"^10.0.5","@things-factory/integration-influxdb":"^10.0.5"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.5_1785455707097_0.5179956737829605","host":"s3://npm-registry-packages-npm-production"}},"10.0.6":{"name":"@things-factory/operato-twin","version":"10.0.6","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"b7317a358b2b7b4ec92f8100ce3377cab57caae9","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.6.tgz","fileCount":472,"integrity":"sha512-RuhEOq/Z1YtrapAOWkGBzR5kUaX4eUsN4gZHuLjegX1CLrAUzgnUFbwtRo2MSch5iFLql+perOGoCFRN2QTRFA==","signatures":[{"sig":"MEQCIHE8Ea4bXKC7yLQQuh1U/pC7pMsFFzH/Jl2I6k66zVVsAiASb+9IMiyPJC79zQ+em4B7WShrIPW7wl+zHFCXUq4daQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7907408},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b929c16f83f70bfcc9a144ac6a50232efa56cd64","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.6","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.6","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.6","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.6","@things-factory/form-ui":"^10.0.5","@things-factory/more-ui":"^10.0.6","@things-factory/twin-ai":"^10.0.6","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.6","@things-factory/board-ui":"^10.0.6","@things-factory/fav-base":"^10.0.6","@things-factory/print-ui":"^10.0.6","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.6","@things-factory/i18n-base":"^10.0.6","@things-factory/lite-menu":"^10.0.6","@things-factory/more-base":"^10.0.6","@things-factory/scheduler":"^10.0.6","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.6","@things-factory/context-ui":"^10.0.6","@things-factory/evaluation":"^10.0.6","@things-factory/setting-ui":"^10.0.6","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.6","@things-factory/resource-ui":"^10.0.6","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.6","@things-factory/setting-base":"^10.0.6","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.6","@things-factory/board-service":"^10.0.6","@things-factory/cache-service":"^10.0.6","@things-factory/headless-twin":"^10.0.6","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.4","@things-factory/integration-ui":"^10.0.6","@things-factory/integration-base":"^10.0.6","@things-factory/integration-email":"^10.0.6","@things-factory/integration-influxdb":"^10.0.6"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.6_1785486813915_0.03926251582046936","host":"s3://npm-registry-packages-npm-production"}},"10.0.7":{"name":"@things-factory/operato-twin","version":"10.0.7","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"298a0835aec94787212c47f8879bc46dc01c6645","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.7.tgz","fileCount":506,"integrity":"sha512-zxP9gd/sonpu91i5WbzAGk3tdkRT+NPojyrOmi7WoghEEDk6cauBfz/tgTsp4PYclkAPMyVDuQyjkx1NejP98A==","signatures":[{"sig":"MEUCIQCo7RGLMUAi963Ujdg8Aj6mlvldZ/bJ4qprW3dGg5UWSwIgXy7pzZZOEneycoR7jFBvze/YaaRj2rajTjqE4U9C1uE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8386874},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"fffd94e886b67ed9019993a572a632054e812fa3","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.7","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.7","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.7","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.7","@things-factory/form-ui":"^10.0.5","@things-factory/more-ui":"^10.0.7","@things-factory/twin-ai":"^10.0.7","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.7","@things-factory/board-ui":"^10.0.7","@things-factory/fav-base":"^10.0.7","@things-factory/print-ui":"^10.0.7","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.7","@things-factory/i18n-base":"^10.0.7","@things-factory/lite-menu":"^10.0.7","@things-factory/more-base":"^10.0.7","@things-factory/scheduler":"^10.0.7","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.7","@things-factory/context-ui":"^10.0.7","@things-factory/evaluation":"^10.0.7","@things-factory/setting-ui":"^10.0.7","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.7","@things-factory/resource-ui":"^10.0.7","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.7","@things-factory/setting-base":"^10.0.7","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.7","@things-factory/board-service":"^10.0.7","@things-factory/cache-service":"^10.0.7","@things-factory/headless-twin":"^10.0.7","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.4","@things-factory/integration-ui":"^10.0.7","@things-factory/integration-base":"^10.0.7","@things-factory/integration-email":"^10.0.7","@things-factory/integration-influxdb":"^10.0.7"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.7_1785650395183_0.4079220292968744","host":"s3://npm-registry-packages-npm-production"}},"10.0.8":{"name":"@things-factory/operato-twin","version":"10.0.8","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"a88c57eac9236717e639134b7abb18bef7fee2e6","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.8.tgz","fileCount":506,"integrity":"sha512-/FhthvSyAPWuY0j+XessSOFCrhujERNAjZrSMzChSG6h8rzdjA+ndBMXN7J9PXcAhBqB8pKiO2BqLYgHlmKEfw==","signatures":[{"sig":"MEYCIQC5VQ1QU8YjN/Kgw5gu3GOrfYaCkEmH0NxCbXH++xcN2gIhALBAtMkxzV4JfXA2ef6cA/lB1NpkkWPoBMs2Epeepqkz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8386874},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"4a5a29c9c4a8a3e04fd67a5e5a11a42f0131ad4b","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.8","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.8","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.8","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.8","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.8","@things-factory/twin-ai":"^10.0.8","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.8","@things-factory/board-ui":"^10.0.8","@things-factory/fav-base":"^10.0.8","@things-factory/print-ui":"^10.0.8","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/font-base":"^10.0.8","@things-factory/i18n-base":"^10.0.8","@things-factory/lite-menu":"^10.0.8","@things-factory/more-base":"^10.0.8","@things-factory/scheduler":"^10.0.8","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.8","@things-factory/context-ui":"^10.0.8","@things-factory/evaluation":"^10.0.8","@things-factory/setting-ui":"^10.0.8","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.8","@things-factory/resource-ui":"^10.0.8","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.8","@things-factory/setting-base":"^10.0.8","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.8","@things-factory/board-service":"^10.0.8","@things-factory/cache-service":"^10.0.8","@things-factory/headless-twin":"^10.0.8","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.8","@things-factory/integration-base":"^10.0.8","@things-factory/integration-email":"^10.0.8","@things-factory/integration-influxdb":"^10.0.8"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.8"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.8_1785650852379_0.4592067432657878","host":"s3://npm-registry-packages-npm-production"}},"10.0.9":{"name":"@things-factory/operato-twin","version":"10.0.9","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"2923637295ec3d4aa5f78179bf3ff28e8842ae25","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.9.tgz","fileCount":585,"integrity":"sha512-TKjg+QyOuMIBp0lioyL0psaHMMKWm5PnvRA7uioqv0YZ6iMkN2f4dLLwVIaQ2sjpDqGFQJlWTeW2K39eMPDmhw==","signatures":[{"sig":"MEUCIHI84NUoSI8WkzZLEphh4zZ3eDupWNbk0Tv2LOwlydlLAiEA2CVKywjagOOV86Urod8SI9BZcWybIIuNZfCCS6C0xE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9642790},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"b7a6c48c213e7a504114397b752004a295c1df72","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"npm run copy:files && tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@things-factory/help":"^10.0.9","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.9","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.9","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.9","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.9","@things-factory/twin-ai":"^10.0.9","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.9","@things-factory/board-ui":"^10.0.9","@things-factory/fav-base":"^10.0.9","@things-factory/print-ui":"^10.0.9","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.9","@things-factory/font-base":"^10.0.9","@things-factory/i18n-base":"^10.0.9","@things-factory/lite-menu":"^10.0.9","@things-factory/more-base":"^10.0.9","@things-factory/scheduler":"^10.0.9","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.9","@things-factory/context-ui":"^10.0.9","@things-factory/evaluation":"^10.0.9","@things-factory/setting-ui":"^10.0.9","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.9","@things-factory/resource-ui":"^10.0.9","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.9","@things-factory/setting-base":"^10.0.9","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.9","@things-factory/board-service":"^10.0.9","@things-factory/cache-service":"^10.0.9","@things-factory/headless-twin":"^10.0.9","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.9","@things-factory/integration-base":"^10.0.9","@things-factory/integration-email":"^10.0.9","@things-factory/integration-influxdb":"^10.0.9"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.9_1786027875393_0.30314510600933575","host":"s3://npm-registry-packages-npm-production"}},"10.0.10":{"name":"@things-factory/operato-twin","version":"10.0.10","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"8351d1a229fee86014f73dfd9316878168ccd85d","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.10.tgz","fileCount":737,"integrity":"sha512-GlqYY7KN/5zkv5zkE9zXr1V559PK7s40l6BOTx4ILSB4UFT1hgp+fVu0ZqcBWtbsnJfEohgXLDsDuLkMp+x0Cw==","signatures":[{"sig":"MEQCIBlRpg+V9Jcp75HTRVabPp+p9xvLLmCUaf3uhzDjE++FAiBsdVgTEz3jYOymBBPpieoutFD0gVPgk8OIMpjM+U1naw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26741484},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"afb7bf76bb16e946c8e62d9e79199c3fa5e34174","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.7.30","@things-factory/help":"^10.0.10","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.10","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.10","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.10","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.10","@things-factory/twin-ai":"^10.0.10","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.10","@things-factory/board-ui":"^10.0.10","@things-factory/fav-base":"^10.0.10","@things-factory/print-ui":"^10.0.10","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.10","@things-factory/font-base":"^10.0.10","@things-factory/i18n-base":"^10.0.10","@things-factory/lite-menu":"^10.0.10","@things-factory/more-base":"^10.0.10","@things-factory/scheduler":"^10.0.10","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.10","@things-factory/context-ui":"^10.0.10","@things-factory/evaluation":"^10.0.10","@things-factory/setting-ui":"^10.0.10","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.10","@things-factory/resource-ui":"^10.0.10","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.10","@things-factory/setting-base":"^10.0.10","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.10","@things-factory/board-service":"^10.0.10","@things-factory/cache-service":"^10.0.10","@things-factory/headless-twin":"^10.0.10","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.10","@things-factory/integration-base":"^10.0.10","@things-factory/integration-email":"^10.0.10","@things-factory/integration-influxdb":"^10.0.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.10_1787051229197_0.8320450806416062","host":"s3://npm-registry-packages-npm-production"}},"10.0.11":{"name":"@things-factory/operato-twin","version":"10.0.11","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.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":"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":"1038f534ca58c9ad2f753d2ff85731f9d5d060a6","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.11.tgz","fileCount":738,"integrity":"sha512-IM/7dMC2fbJXlKnum7icy96MIfSk4FWzX5WO4PMT31LOcgpCu4DbVCPaQp56j4e6gv6knSm/TPrRzGi6SUkKbg==","signatures":[{"sig":"MEUCIQCa3/NLUj2ekBRzIrglOdccvYa3/FxkGsRV38XFOvlS+AIgLdEnl79M/cz6MY1+Ru2TuEQ8MlB4fe71LA0PB/Xvts0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26753115},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3d26d911797ba51b29402bf26ff7888a46fccad4","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.7.30","@things-factory/help":"^10.0.10","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.10","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.10","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.10","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.10","@things-factory/twin-ai":"^10.0.11","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.10","@things-factory/board-ui":"^10.0.10","@things-factory/fav-base":"^10.0.10","@things-factory/print-ui":"^10.0.10","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.10","@things-factory/font-base":"^10.0.10","@things-factory/i18n-base":"^10.0.10","@things-factory/lite-menu":"^10.0.10","@things-factory/more-base":"^10.0.10","@things-factory/scheduler":"^10.0.10","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.10","@things-factory/context-ui":"^10.0.10","@things-factory/evaluation":"^10.0.10","@things-factory/setting-ui":"^10.0.10","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.10","@things-factory/resource-ui":"^10.0.10","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.10","@things-factory/setting-base":"^10.0.10","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.10","@things-factory/board-service":"^10.0.10","@things-factory/cache-service":"^10.0.10","@things-factory/headless-twin":"^10.0.11","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.10","@things-factory/integration-base":"^10.0.10","@things-factory/integration-email":"^10.0.10","@things-factory/integration-influxdb":"^10.0.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.11_1787068282314_0.8466373741190956","host":"s3://npm-registry-packages-npm-production"}},"10.0.12":{"name":"@things-factory/operato-twin","version":"10.0.12","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.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":"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":"cf43804a45b9800d2647486904cf30c11dea981c","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.12.tgz","fileCount":542,"integrity":"sha512-XoK4QRugOdl3t3dD/h6KfbYh1GXRE8CbRCdpid/hFmyPwgkm6RtfJrKDZQZtBg1qV9tbAe/0DLJ4xMAzzIWWlA==","signatures":[{"sig":"MEUCIFfnjPYT6zb3H5kuc2mE7nvFzGYB91nBNbWmJCzAYwpvAiEAqiT1Mkb3UStHr1d4dvWLvYCcp8KrGfsmFIblmkUHgLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10013011},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"3cc678c07e9031a820662d43410f93b796ca012f","scripts":{"stop":"things-factory-stop operato-twin","test":"node --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.7.38","@things-factory/help":"^10.0.10","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.10","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.10","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.10","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.10","@things-factory/twin-ai":"^10.0.12","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.10","@things-factory/board-ui":"^10.0.10","@things-factory/fav-base":"^10.0.10","@things-factory/print-ui":"^10.0.10","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.10","@things-factory/font-base":"^10.0.10","@things-factory/i18n-base":"^10.0.10","@things-factory/lite-menu":"^10.0.10","@things-factory/more-base":"^10.0.10","@things-factory/scheduler":"^10.0.10","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.10","@things-factory/context-ui":"^10.0.10","@things-factory/evaluation":"^10.0.10","@things-factory/setting-ui":"^10.0.10","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.10","@things-factory/resource-ui":"^10.0.10","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.10","@things-factory/setting-base":"^10.0.10","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.10","@things-factory/board-service":"^10.0.10","@things-factory/cache-service":"^10.0.10","@things-factory/headless-twin":"^10.0.12","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.10","@things-factory/integration-base":"^10.0.10","@things-factory/integration-email":"^10.0.10","@things-factory/integration-influxdb":"^10.0.10"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.12_1787151485804_0.743146992730461","host":"s3://npm-registry-packages-npm-production"}},"10.0.13":{"name":"@things-factory/operato-twin","version":"10.0.13","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"11c815455b069ab86c0f948a4d19b27d2153cf60","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.13.tgz","fileCount":592,"integrity":"sha512-KaGXUI+TrUGQnIOtKXYzrzqBnC7A8UvYYMkSLiwXb8mdfHzUOLjsiEw/saBs7aszQ57IrIYg216CYsicnK7lBw==","signatures":[{"sig":"MEYCIQC1J+Vt/8uDrLvA/NGa0jFtBKM9+c6bnShq1JUYbXOG7wIhAPgr1SWY3Iahc0xhHhV6vl0/hOxzoFuhJoJFhl3xilKT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11511551},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"808b3b9e3bf15c058316ec4c73455108df7722aa","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.7.53","@things-factory/help":"^10.0.13","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.13","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.13","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.13","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.13","@things-factory/twin-ai":"^10.0.13","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.13","@things-factory/board-ui":"^10.0.13","@things-factory/fav-base":"^10.0.13","@things-factory/print-ui":"^10.0.13","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.13","@things-factory/font-base":"^10.0.13","@things-factory/i18n-base":"^10.0.13","@things-factory/lite-menu":"^10.0.13","@things-factory/more-base":"^10.0.13","@things-factory/scheduler":"^10.0.13","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.13","@things-factory/context-ui":"^10.0.13","@things-factory/evaluation":"^10.0.13","@things-factory/setting-ui":"^10.0.13","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.13","@things-factory/resource-ui":"^10.0.13","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.13","@things-factory/setting-base":"^10.0.13","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.13","@things-factory/board-service":"^10.0.13","@things-factory/cache-service":"^10.0.13","@things-factory/headless-twin":"^10.0.13","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.13","@things-factory/integration-base":"^10.0.13","@things-factory/integration-email":"^10.0.13","@things-factory/integration-influxdb":"^10.0.13"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.13_1787484047082_0.7741750090062265","host":"s3://npm-registry-packages-npm-production"}},"10.0.14":{"name":"@things-factory/operato-twin","version":"10.0.14","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.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":"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":"18c3ad47853eab38a2e15f64014723d856a08114","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.14.tgz","fileCount":610,"integrity":"sha512-moNI5pzhp3jednEkCJZ9thgYA3UL0p9Tn0t/hWtHEiM5lDgKcHohpebx3P7LU8q1Fa4/teSd/Slqi7uy1q+ZFw==","signatures":[{"sig":"MEQCIHcfD/Lpz8501Ys4j4eFdAO5GdPTIbwEhE+J6/KduT6kAiA8Y891qMa7CnSqDM5Oi6fxv6Vnz5OHd3gAUqdjR0c41w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11871925},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"539b63810538d7ce5428c2a2c581f6dcac3bb0b3","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.7.57","@things-factory/help":"^10.0.13","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.13","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.13","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.13","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.13","@things-factory/twin-ai":"^10.0.14","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.13","@things-factory/board-ui":"^10.0.13","@things-factory/fav-base":"^10.0.13","@things-factory/print-ui":"^10.0.13","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.13","@things-factory/font-base":"^10.0.13","@things-factory/i18n-base":"^10.0.13","@things-factory/lite-menu":"^10.0.13","@things-factory/more-base":"^10.0.13","@things-factory/scheduler":"^10.0.13","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.13","@things-factory/context-ui":"^10.0.13","@things-factory/evaluation":"^10.0.13","@things-factory/setting-ui":"^10.0.13","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.13","@things-factory/resource-ui":"^10.0.13","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.13","@things-factory/setting-base":"^10.0.13","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.13","@things-factory/board-service":"^10.0.13","@things-factory/cache-service":"^10.0.13","@things-factory/headless-twin":"^10.0.14","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.13","@things-factory/integration-base":"^10.0.13","@things-factory/integration-email":"^10.0.13","@things-factory/integration-influxdb":"^10.0.13"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.14_1787555664352_0.12311318410021488","host":"s3://npm-registry-packages-npm-production"}},"10.0.15":{"name":"@things-factory/operato-twin","version":"10.0.15","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.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":"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":"22908945185c17ec86196bd14d150afc6b72091b","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.15.tgz","fileCount":616,"integrity":"sha512-re//no/lRH06GJQdnOtRqTC4AgznIHTqJMjdZBFMwMNZZHQjTVjasWJHCxwiEFM9ejls7Ea70kdo+VKZOzXsWA==","signatures":[{"sig":"MEUCIElVpWsdS0J8QYCkG/0ULdaLTLN12TZtVZnTPYbb6uhaAiEAvfHq17//NbkMqWvJ6ciWIU5770SCu/gOjlPogvAeYMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12125675},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"18c7b66990821c6acda5d3c8e6149d518978e133","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.7.61","@things-factory/help":"^10.0.13","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.13","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.13","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.13","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.13","@things-factory/twin-ai":"^10.0.15","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.13","@things-factory/board-ui":"^10.0.13","@things-factory/fav-base":"^10.0.13","@things-factory/print-ui":"^10.0.13","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.13","@things-factory/font-base":"^10.0.13","@things-factory/i18n-base":"^10.0.13","@things-factory/lite-menu":"^10.0.13","@things-factory/more-base":"^10.0.13","@things-factory/scheduler":"^10.0.13","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.13","@things-factory/context-ui":"^10.0.13","@things-factory/evaluation":"^10.0.13","@things-factory/setting-ui":"^10.0.13","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.13","@things-factory/resource-ui":"^10.0.13","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.13","@things-factory/setting-base":"^10.0.13","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.13","@things-factory/board-service":"^10.0.13","@things-factory/cache-service":"^10.0.13","@things-factory/headless-twin":"^10.0.15","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.13","@things-factory/integration-base":"^10.0.13","@things-factory/integration-email":"^10.0.13","@things-factory/integration-influxdb":"^10.0.13"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.15_1787600557124_0.31934577369367134","host":"s3://npm-registry-packages-npm-production"}},"10.0.17":{"name":"@things-factory/operato-twin","version":"10.0.17","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@10.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":"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":"bdce103e2a08534b3e399e537dcc12d1ede1f557","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.17.tgz","fileCount":649,"integrity":"sha512-aFAcNoiFA1KvLPHx0RiXex5WjiBIZFr5egrHm/K9bTsKkCjuaEd41bguzUJI0ScyURuWk1rj5SDTNJnWwa8DcQ==","signatures":[{"sig":"MEUCIQDnyiJd4gNhbeggS+GiF+UUI5BzVAQ8ASdmiypCdLYAOwIgasD2beRIiFiNKYCtkMmmjbkhiGfvSAySwbKgE8z9OsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12941464},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"07ed33dbe6530bef73afc4674bb36253b30ac849","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.7.73","@things-factory/help":"^10.0.13","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.13","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.13","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.13","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.13","@things-factory/twin-ai":"^10.0.17","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.13","@things-factory/board-ui":"^10.0.13","@things-factory/fav-base":"^10.0.13","@things-factory/print-ui":"^10.0.13","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.13","@things-factory/font-base":"^10.0.13","@things-factory/i18n-base":"^10.0.13","@things-factory/lite-menu":"^10.0.13","@things-factory/more-base":"^10.0.13","@things-factory/scheduler":"^10.0.13","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.13","@things-factory/context-ui":"^10.0.13","@things-factory/evaluation":"^10.0.13","@things-factory/setting-ui":"^10.0.13","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.13","@things-factory/resource-ui":"^10.0.13","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.13","@things-factory/setting-base":"^10.0.13","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.13","@things-factory/board-service":"^10.0.13","@things-factory/cache-service":"^10.0.13","@things-factory/headless-twin":"^10.0.17","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.13","@things-factory/integration-base":"^10.0.13","@things-factory/integration-email":"^10.0.13","@things-factory/integration-influxdb":"^10.0.13"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.17_1787969217867_0.5771139352197618","host":"s3://npm-registry-packages-npm-production"}},"10.0.18":{"name":"@things-factory/operato-twin","version":"10.0.18","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"bf84d386492d74b59ce3b065a51c74f93b8e2265","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.18.tgz","fileCount":669,"integrity":"sha512-Vrn2yggUDIvJX35XAh67DSqVDACvaMEsUorQr2cBgdfxNTqnJBrFiB2ifE9YOKbtRZdnXc1FaPpHIkaYIl/u5Q==","signatures":[{"sig":"MEQCIEDEqrV7GNh869CDPgR7y+LZpDeiIO5OQyCNbyAI+W5jAiBf77XAr4t50Jgef3M9x2Or5Me+kfgrBT6kgGW4VevioA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13128897},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"806c7af400517177f1323645df03558451587533","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.9.0","@things-factory/help":"^10.0.18","@operato/ops-contract":"^0.6.0","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.18","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.18","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.18","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.18","@things-factory/twin-ai":"^10.0.18","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.18","@things-factory/board-ui":"^10.0.18","@things-factory/fav-base":"^10.0.18","@things-factory/print-ui":"^10.0.18","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.18","@things-factory/font-base":"^10.0.18","@things-factory/i18n-base":"^10.0.18","@things-factory/lite-menu":"^10.0.18","@things-factory/more-base":"^10.0.18","@things-factory/scheduler":"^10.0.18","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.18","@things-factory/context-ui":"^10.0.18","@things-factory/evaluation":"^10.0.18","@things-factory/setting-ui":"^10.0.18","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.18","@things-factory/resource-ui":"^10.0.18","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.18","@things-factory/setting-base":"^10.0.18","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.18","@things-factory/board-service":"^10.0.18","@things-factory/cache-service":"^10.0.18","@things-factory/headless-twin":"^10.0.18","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.18","@things-factory/integration-base":"^10.0.18","@things-factory/integration-email":"^10.0.18","@things-factory/integration-influxdb":"^10.0.18"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.18_1788103184899_0.6087321432983952","host":"s3://npm-registry-packages-npm-production"}},"10.0.19":{"name":"@things-factory/operato-twin","version":"10.0.19","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"12777ce08c721055d554e3e0f51e9eab886c5fbc","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.0.19.tgz","fileCount":672,"integrity":"sha512-235p3DstFOwMBa7voCEzVd2Nz8bcCPbSELsWoWUsLQca7YxCNmnTHgfGt5Mvw8PE4PtyOv5etXdziwJJRO7F/Q==","signatures":[{"sig":"MEQCICWPRk09EhPWPI8CfQmn9xH5RzingMbYjlws7KxOYyMFAiA8D+dbf7Qo7wsYtIQIoQNZjXy/aBBFncx9MfthzRaLDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13163844},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"5c170a55152cfe906fe6dbc30e6bfe474ed64122","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test --test-force-exit test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.10.1","@things-factory/help":"^10.0.19","@operato/ops-contract":"^0.8.1","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.0.19","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.0.19","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.0.19","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.0.19","@things-factory/twin-ai":"^10.0.19","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.0.19","@things-factory/board-ui":"^10.0.19","@things-factory/fav-base":"^10.0.19","@things-factory/print-ui":"^10.0.19","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.0.19","@things-factory/font-base":"^10.0.19","@things-factory/i18n-base":"^10.0.19","@things-factory/lite-menu":"^10.0.19","@things-factory/more-base":"^10.0.19","@things-factory/scheduler":"^10.0.19","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.0.19","@things-factory/context-ui":"^10.0.19","@things-factory/evaluation":"^10.0.19","@things-factory/setting-ui":"^10.0.19","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.0.19","@things-factory/resource-ui":"^10.0.19","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.0.19","@things-factory/setting-base":"^10.0.19","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.0.19","@things-factory/board-service":"^10.0.19","@things-factory/cache-service":"^10.0.19","@things-factory/headless-twin":"^10.0.19","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.0.8","@things-factory/integration-ui":"^10.0.19","@things-factory/integration-base":"^10.0.19","@things-factory/integration-email":"^10.0.19","@things-factory/integration-influxdb":"^10.0.19"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.0.19_1788170856597_0.5647537298999246","host":"s3://npm-registry-packages-npm-production"}},"10.1.1":{"name":"@things-factory/operato-twin","version":"10.1.1","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"1b290eb7fa5ea920d0e846e42650fe6b4a862224","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.1.1.tgz","fileCount":727,"integrity":"sha512-r0p43WO//RHzzNnfnaXmqqPROulAEQbdEWOR9vDm3spCKxJDYiuRXV9VHE1OpgXXQMZJHNjPBQ8uUDAA32/6rQ==","signatures":[{"sig":"MEQCIH7CS3etObbxEbjSpLOi9t3W7vdijSa7N0QdwnfbHSvsAiBUZoB/Tkw9RW2z6/34OoM1ltx9zm4lkYQbBt4suVH6nQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDuwB8FU9iYjpYdLy0Tvqhx3WTo3zjNkuVfbHi0jlI7jwIgdMVcqmwAViph2WAmbjNi7WWBDxVd02aps7X4XmybFVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14093084},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"c8f13c30c39e006f932eb2903b27bd30587e7dc6","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/app":"^10.0.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/menu":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.11.7","@things-factory/help":"^10.1.1","@operato/ops-contract":"^0.9.12","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.1.1","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.1.1","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.1.1","@things-factory/form-ui":"^10.1.1","@things-factory/more-ui":"^10.1.1","@things-factory/twin-ai":"^10.1.1","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.1.1","@things-factory/board-ui":"^10.1.1","@things-factory/fav-base":"^10.1.1","@things-factory/print-ui":"^10.1.1","@things-factory/worklist":"^10.1.1","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.1.1","@things-factory/font-base":"^10.1.1","@things-factory/i18n-base":"^10.1.1","@things-factory/lite-menu":"^10.1.1","@things-factory/more-base":"^10.1.1","@things-factory/scheduler":"^10.1.1","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.1.1","@things-factory/context-ui":"^10.1.1","@things-factory/evaluation":"^10.1.1","@things-factory/setting-ui":"^10.1.1","@things-factory/task-lease":"^10.1.1","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.1.1","@things-factory/resource-ui":"^10.1.1","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.1.1","@things-factory/organization":"^10.1.1","@things-factory/setting-base":"^10.1.1","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.1.1","@things-factory/board-service":"^10.1.1","@things-factory/cache-service":"^10.1.1","@things-factory/headless-twin":"^10.1.1","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.1.1","@things-factory/integration-ui":"^10.1.1","@things-factory/integration-base":"^10.1.1","@things-factory/integration-email":"^10.1.1","@things-factory/integration-influxdb":"^10.1.1"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.1.1"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.1.1_1788789348354_0.4642334674293349","host":"s3://npm-registry-packages-npm-production"}},"10.1.0":{"name":"@things-factory/operato-twin","version":"10.1.0","author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","_id":"@things-factory/operato-twin@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":"83aa61fa3133ef8fc2086fab95e9156056529930","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.1.0.tgz","fileCount":727,"integrity":"sha512-fjpoymuYkG+F9ueCwXUopYHDkfBnSn/DfmnONIzhOceR8KqZHPXOH7AtKnYuy1/ZEAnhy3rBIPBRiZh3/y1QgA==","signatures":[{"sig":"MEUCIQCy2+EKiknH03JJJi+lwmoAQgjUVxAQb1v/xhXBfyyoXwIgabfJ9UaunFq81B0zCrUkWRRCCcOMYn/dJdL65TbNVxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDp5IXR9ci1pB/YzpudobLcxT+Lq3qCwcWznbwnKiFFPAiEAr6MM4epovRP9+hjA6EfZnKmFgO2d1RHtUDYpwkNo+Lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14093084},"main":"dist-server/index.js","browser":"dist-client/index.js","gitHead":"8407b1e9d1f47f6676af144d4a33c8ac01cb49c4","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","directories":{},"_nodeVersion":"25.6.0","dependencies":{"ol":"^10.9.0","@operato/app":"^10.0.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/menu":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.11.7","@things-factory/help":"^10.1.0","@operato/ops-contract":"^0.9.12","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.1.0","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.1.0","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.1.0","@things-factory/form-ui":"^10.0.8","@things-factory/more-ui":"^10.1.0","@things-factory/twin-ai":"^10.1.0","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.1.0","@things-factory/board-ui":"^10.1.0","@things-factory/fav-base":"^10.1.0","@things-factory/print-ui":"^10.1.0","@things-factory/worklist":"^10.1.0","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.1.0","@things-factory/font-base":"^10.1.0","@things-factory/i18n-base":"^10.1.0","@things-factory/lite-menu":"^10.1.0","@things-factory/more-base":"^10.1.0","@things-factory/scheduler":"^10.1.0","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.1.0","@things-factory/context-ui":"^10.1.0","@things-factory/evaluation":"^10.1.0","@things-factory/setting-ui":"^10.1.0","@things-factory/task-lease":"^10.1.0","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.1.0","@things-factory/resource-ui":"^10.1.0","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.1.0","@things-factory/organization":"^10.1.0","@things-factory/setting-base":"^10.1.0","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.1.0","@things-factory/board-service":"^10.1.0","@things-factory/cache-service":"^10.1.0","@things-factory/headless-twin":"^10.1.0","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.1.0","@things-factory/integration-ui":"^10.1.0","@things-factory/integration-base":"^10.1.0","@things-factory/integration-email":"^10.1.0","@things-factory/integration-influxdb":"^10.1.0"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.0.9"},"_npmOperationalInternal":{"tmp":"tmp/operato-twin_10.1.0_1788789376417_0.45473666704136306","host":"s3://npm-registry-packages-npm-production"}},"10.1.2":{"_id":"@things-factory/operato-twin@10.1.2","dist":{"shasum":"c36c8e3e2252636be6f3706695ab43019671dcee","tarball":"https://registry.npmjs.org/@things-factory/operato-twin/-/operato-twin-10.1.2.tgz","fileCount":727,"integrity":"sha512-Zu7gxcAiCDeIXgwnY82SOxGc1Aue/QA2O7/Q/b1jsF1jV74FTT5Fn5Hv66dLIRgb56X0u4JTj88h3fzlSe4mAA==","signatures":[{"sig":"MEQCIGhiOu10/NFll48Z3dQ7wqTrjDu5GubDVj/6hQinQc1qAiBhkzMkSPwWPzM4m5VNIBV1ijmYKY2rG7xy1H8AKWoPlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFVvL5KMjiXgoPAOBx3+gTw3+AhPHc9KJVP/kX9RQ0DpAiBp3n2q4h8OS9jQUPMlCCN3Cufg9tY9AhTuXGibjnE1WQ=="}],"unpackedSize":14093084},"main":"dist-server/index.js","name":"@things-factory/operato-twin","author":"heartyoh <heartyoh@hatiolab.com>","browser":"dist-client/index.js","gitHead":"679ef1d63953fb006afed9c2402dab57d7314f9a","license":"MIT","scripts":{"stop":"things-factory-stop operato-twin","test":"node --import ./test/resolve-ts-siblings.mjs --test test/*.test.ts","build":"npm run build:server && npm run build:client","clean":"npm run clean:server && npm run clean:client","serve":"things-factory operato-twin","docker":"npm run build:app && things-factory-dockerize hatiolab/operato-twin:latest hatiolab/operato-twin:$npm_package_version linux/amd64","stop:dev":"P=$(pgrep -f 'concurrently.*things-factory-dev operato-twin' | head -1); [ -n \"$P\" ] && kill -TERM -- -\"$(ps -o pgid= -p \"$P\" | tr -d ' ')\" 2>/dev/null; kill $(lsof -t -i:3000,3001 2>/dev/null) 2>/dev/null; true","build:app":"npm run clean:app && webpack --config ../builder/webpack.config.js","clean:app":"rm -rf dist-app","migration":"things-factory-migration","serve:dev":"npm run build:server && npm run copy:files && concurrently -k -r \"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput\" \"things-factory-dev operato-twin\"","copy:files":"copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client","docker:arm":"npm run build:app && things-factory-dockerize-arm hatiolab/operato-twin:${npm_package_version}-arm linux/arm64","docker:run":"docker run --platform linux/amd64 -p 4000:3000 hatiolab/operato-twin:latest","verify:llm":"node scripts/verify-llm-twin-tools.ts","docker:push":"docker image push hatiolab/operato-twin:latest && docker image push hatiolab/operato-twin:$npm_package_version","build:client":"npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json","build:server":"npm run clean:server && tsc --p ./server/tsconfig.json","clean:client":"rm -rf dist-client","clean:server":"rm -rf dist-server","verify:twins":"node tools/verify-twins.cjs","docker:push:arm":"docker image push hatiolab/operato-twin:${npm_package_version-arm}-arm","migration:create":"node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration","migration:revert":"things-factory-migration --undo","build:client:watch":"tsc --p ./client/tsconfig.json --watch --preserveWatchOutput","migration:privileges":"things-factory-migration-privileges"},"version":"10.1.2","_npmUser":{"name":"heartyoh","email":"heartyoh@hatiolab.com"},"repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"_npmVersion":"lerna/8.2.4/node@v25.6.0+arm64 (darwin)","description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","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":{"ol":"^10.9.0","@operato/app":"^10.0.0","@operato/spc":"^10.0.0","@material/web":"^2.0.0","@operato/font":"^10.0.0","@operato/help":"^10.0.0","@operato/i18n":"^10.0.0","@operato/menu":"^10.0.0","@operato/board":"^10.0.0","@operato/input":"^10.0.0","@operato/popup":"^10.0.0","@operato/shell":"^10.0.0","@operato/utils":"^10.0.0","@operato/layout":"^10.0.0","@operato/styles":"^10.0.0","@operato/graphql":"^10.0.0","@operato/scene-tab":"^10.0.0","@operato/attachment":"^10.0.0","@operato/data-grist":"^10.0.0","@operato/scene-auth":"^10.0.0","@operato/scene-base":"^10.0.0","@operato/scene-form":"^10.0.0","@operato/scene-i18n":"^10.0.0","@operato/scene-urdf":"^10.0.0","@operato/scene-clock":"^10.0.0","@operato/scene-clone":"^10.0.0","@operato/scene-excel":"^10.0.0","@operato/scene-gantt":"^10.0.0","@operato/scene-gauge":"^10.0.0","@operato/scene-label":"^10.0.0","@operato/scene-table":"^10.0.0","@operato/scene-timer":"^10.0.0","@operato/twin-kernel":"^0.11.7","@things-factory/help":"^10.1.2","@operato/ops-contract":"^0.9.12","@operato/scene-legend":"^10.0.0","@operato/scene-marker":"^10.0.0","@operato/scene-random":"^10.0.0","@operato/scene-switch":"^10.0.0","@things-factory/shell":"^10.1.2","@hatiolab/things-scene":"^10.0.0","@operato/scene-chartjs":"^10.0.0","@operato/scene-compass":"^10.0.0","@operato/scene-graphql":"^10.0.0","@operato/scene-restful":"^10.0.0","@operato/scene-sensing":"^10.0.0","@operato/scene-storage":"^10.0.0","@things-factory/system":"^10.1.2","@operato/property-panel":"^10.0.0","@operato/scene-facility":"^10.0.0","@operato/scene-polypath":"^10.0.0","@operato/scene-scichart":"^10.0.0","@things-factory/auth-ui":"^10.1.2","@things-factory/form-ui":"^10.1.2","@things-factory/more-ui":"^10.1.2","@things-factory/twin-ai":"^10.1.2","@operato/pull-to-refresh":"^10.0.0","@operato/scene-transport":"^10.0.0","@things-factory/board-ai":"^10.1.2","@things-factory/board-ui":"^10.1.2","@things-factory/fav-base":"^10.1.2","@things-factory/print-ui":"^10.1.2","@things-factory/worklist":"^10.1.2","@operato/scene-conveyance":"^10.0.0","@operato/scene-google-map":"^10.0.0","@operato/scene-indoor-map":"^10.0.0","@operato/scene-visualizer":"^10.0.0","@things-factory/auth-base":"^10.1.2","@things-factory/font-base":"^10.1.2","@things-factory/i18n-base":"^10.1.2","@things-factory/lite-menu":"^10.1.2","@things-factory/more-base":"^10.1.2","@things-factory/scheduler":"^10.1.2","@operato/scene-integration":"^10.0.0","@operato/scene-news-ticker":"^10.0.0","@operato/scene-progressbar":"^10.0.0","@things-factory/apptool-ui":"^10.1.2","@things-factory/context-ui":"^10.1.2","@things-factory/evaluation":"^10.1.2","@things-factory/setting-ui":"^10.1.2","@things-factory/task-lease":"^10.1.2","@operato/scene-image-slider":"^10.0.0","@things-factory/auth-google":"^10.1.2","@things-factory/resource-ui":"^10.1.2","@operato/scene-manufacturing":"^10.0.0","@things-factory/notification":"^10.1.2","@things-factory/organization":"^10.1.2","@things-factory/setting-base":"^10.1.2","@operato/scene-data-transform":"^10.0.0","@operato/scene-half-roundrect":"^10.0.0","@things-factory/auth-azure-ad":"^10.1.2","@things-factory/board-service":"^10.1.2","@things-factory/cache-service":"^10.1.2","@things-factory/headless-twin":"^10.1.2","@operato/scene-material-design":"^10.0.0","@things-factory/ai-client-base":"^10.1.2","@things-factory/integration-ui":"^10.1.2","@things-factory/integration-base":"^10.1.2","@things-factory/integration-email":"^10.1.2","@things-factory/integration-influxdb":"^10.1.2"},"publishConfig":{"access":"public","@things-factory:registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"things-factory":true,"devDependencies":{"@things-factory/builder":"^10.1.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/operato-twin_10.1.2_1788789854115_0.439477934820937"}}},"time":{"created":"2026-07-13T14:34:26.760Z","modified":"2026-09-07T14:04:14.461Z","10.0.0-zeta.10":"2026-07-13T14:34:27.010Z","10.0.0-zeta.11":"2026-07-14T14:35:20.382Z","10.0.0-zeta.12":"2026-07-20T07:27:05.639Z","10.0.0-zeta.13":"2026-07-20T11:26:10.454Z","10.0.0-zeta.14":"2026-07-21T14:28:37.258Z","10.0.0-zeta.15":"2026-07-22T16:21:08.039Z","10.0.0-zeta.16":"2026-07-24T03:52:05.009Z","10.0.0-zeta.17":"2026-07-24T06:09:30.435Z","10.0.0-zeta.18":"2026-07-25T01:01:51.686Z","10.0.0-zeta.19":"2026-07-26T09:02:12.624Z","10.0.0":"2026-07-29T13:15:01.840Z","10.0.1":"2026-07-29T13:33:13.989Z","10.0.2":"2026-07-29T17:57:26.639Z","10.0.3":"2026-07-30T11:14:59.554Z","10.0.4":"2026-07-30T12:08:12.098Z","10.0.5":"2026-07-30T23:55:07.351Z","10.0.6":"2026-07-31T08:33:34.178Z","10.0.7":"2026-08-02T05:59:55.399Z","10.0.8":"2026-08-02T06:07:32.612Z","10.0.9":"2026-08-06T14:51:15.686Z","10.0.10":"2026-08-18T11:07:09.526Z","10.0.11":"2026-08-18T15:51:22.671Z","10.0.12":"2026-08-19T14:58:06.092Z","10.0.13":"2026-08-23T11:20:47.346Z","10.0.14":"2026-08-24T07:14:24.586Z","10.0.15":"2026-08-24T19:42:37.362Z","10.0.17":"2026-08-29T02:06:58.134Z","10.0.18":"2026-08-30T15:19:45.148Z","10.0.19":"2026-08-31T10:07:36.834Z","10.1.1":"2026-09-07T13:55:48.533Z","10.1.0":"2026-09-07T13:56:16.636Z","10.1.2":"2026-09-07T14:04:14.286Z"},"author":"heartyoh <heartyoh@hatiolab.com>","license":"MIT","repository":{"url":"git+https://github.com/hatiolab/things-factory.git","type":"git","directory":"packages/operato-twin"},"description":"Operato Twin — headless digital-twin host application (walking skeleton). Boots the headless-twin module and auto-provisions a demo WMS twin instance.","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":""}