{"_id":"@tiangong-lca/cli","_rev":"42-e63c975f5c814a377ee00ae35c83dd57","name":"@tiangong-lca/cli","dist-tags":{"latest":"0.1.10"},"versions":{"0.0.1":{"name":"@tiangong-lca/cli","version":"0.0.1","keywords":["tiangong","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.1","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong":"bin/tiangong.js"},"dist":{"shasum":"ebf5843db7bf6b9c62ba31973ca36f88ca9d51ef","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.1.tgz","fileCount":96,"integrity":"sha512-ZYDiKrbc3KxzuxaDv8T9HRmd8oJldoFi1l2qVfRP3nc1IDwCc7g1uOqcm5E8gGvq1Q24DR6U0abkNpqIULFBjA==","signatures":[{"sig":"MEUCIQCN9i2UNg72lH/jevAjawXL4KgtOd6Msnyukt5zQg6UHAIgR4DDFCHrfh08/SgJzPN0AH5zotzabgHH0PS7ErMBfPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2442957},"type":"module","engines":{"node":">=24 <25"},"scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"linanenv","email":"linanenv@gmail.com"},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.6.2","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.13.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.30"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.0","lint-staged":"^16.4.0","typescript-eslint":"^8.57.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.1_1775469551016_0.5531425850301244","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@tiangong-lca/cli","version":"0.0.2","keywords":["tiangong","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.2","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong":"bin/tiangong.js"},"dist":{"shasum":"edba0ded97e32fe26f4694462e636e84ffc4eda7","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.2.tgz","fileCount":96,"integrity":"sha512-6xNucNCo5bOPHIWj8O4CgcHEuNbkKom+HGHTunqWWQyWLUIpXb81h1hyaDJ+1Ex/UTGEzzKBIrNmSbPJqaDM3A==","signatures":[{"sig":"MEYCIQCHwKT7/0/nKv41o0BsfDxeP0B9e5gZ/evO8ft/UVySZwIhAKoi80leG9JU3Rlz8K/SPjvqd6bK7TJerz1M7sgBWdTb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2442957},"type":"module","engines":{"node":">=24 <25"},"gitHead":"87b376dd3cb825adb239d9925e4606f1467e2c52","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.14.1","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.2_1775473010484_0.20953490385432594","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@tiangong-lca/cli","version":"0.0.3","keywords":["tiangong","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.3","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong":"bin/tiangong.js"},"dist":{"shasum":"802e9a6efcbba95373e6d21c37a03e7bf3015a38","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.3.tgz","fileCount":100,"integrity":"sha512-5rrs1fotOs7ES0yFlV+4x7n07PV9rDCuh7f2qIT5pCzKuX2MNjxXIADX3aGrG/c3wap11LnNcxxjeTS1lrRO0A==","signatures":[{"sig":"MEQCIGNFfWPHcY2py0yZlViiMg7p9jo47kyDiBKweDJYFmojAiAe5ERwjpibX3+jDdN9YDMedSv1mQQSwq0AnAhnecVdeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2507959},"type":"module","engines":{"node":">=24 <25"},"gitHead":"43bb1bdaee0ffed7c70df5d653cfb884aa9bf482","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.14.1","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.3_1775535023044_0.12280885247264828","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@tiangong-lca/cli","version":"0.0.4","keywords":["tiangong","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.4","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong":"bin/tiangong.js"},"dist":{"shasum":"38d9798cba47113d6e44e5b6ff813e7ee4835527","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.4.tgz","fileCount":102,"integrity":"sha512-6kDsC8C4xZBGgXQVCFzdK83OGt3reA+fWajCedNAAsqxguJpQ1yI9dYpU4kfMEEqXcP5pkzuzEMYoLYECzp/qg==","signatures":[{"sig":"MEYCIQDM/fSZnJH1pzt+rNv3c3Nit+8hzpxSzdN4xA90advl4QIhAOa8dRpXWnMuyry6SZy1qIzIiZtTTacsXZKhpUu7pwmu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2525753},"type":"module","engines":{"node":">=24 <25"},"gitHead":"29ad58db34a8e96935841a91568721098fc92c3d","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.14.1","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.4_1776148255888_0.002280015021965287","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@tiangong-lca/cli","version":"0.0.5","keywords":["tiangong","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.5","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong":"bin/tiangong.js"},"dist":{"shasum":"1a3329742cf4fc9cccac935be2f46802529197e4","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.5.tgz","fileCount":110,"integrity":"sha512-J6LT0yBY30I4hx5hcyyRhtiIwzHhqRGQZH2P8S0hZytSck1deIQCPilyy/c/13mYskq8aZW9F1FfKyUiK7uXdQ==","signatures":[{"sig":"MEQCIELy9yULcvNARn8JohIyi7Uh+GwLhymtIbHmkjJISP3aAiBGgRUyE1iFX6a8oIQ7YeqayDVh2zuhC+/xi0GRFZc2cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2674489},"type":"module","engines":{"node":">=24 <25"},"gitHead":"d8cb5dc0da6381989d5bfafbfbb59d5d252195f3","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.14.1","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.5_1776163285989_0.5300212763175074","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@tiangong-lca/cli","version":"0.0.6","keywords":["tiangong","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.6","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong":"bin/tiangong.js"},"dist":{"shasum":"d5f65283e35b398de71e7c711fae6fccb458bcc0","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.6.tgz","fileCount":112,"integrity":"sha512-xsMYRyuJgwkXZt6HM0GSGgAUbChaKcKYHnj9Pvdw86Oeau/inM3HthxYMIheeu7u2uOCwPEJijuJTbedPGcLTA==","signatures":[{"sig":"MEYCIQDx+y3AblgkaOMste5BCJBYQCD8/PblFmT8a+e5NLPnuQIhAIhz3/+M2MqxwJvNN9c+CuW/KPrEq/LF9aAHcy2m2fks","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2734814},"type":"module","engines":{"node":">=24 <25"},"gitHead":"8a2184bd17dd796a7f13704a085ffe538605f0fe","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.14.1","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.6_1776244589231_0.5888828351869524","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@tiangong-lca/cli","version":"0.0.7","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.7","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"6715391699faec4341f5f47d10024cdfd4dbb3ee","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.7.tgz","fileCount":134,"integrity":"sha512-gPLVIjdGdkCrLSkor27HnZkKkjVePEIZaicksZ15HUeujj2vJgXnsi+r5HtCbfuqExjLWzDaBHxE94Xp74netQ==","signatures":[{"sig":"MEYCIQC+diKz8vacnfQ007r9Nn8nLL+jpVjJNOyZ7KJiphcJJgIhAKBDe71OsmApYw1RZi9d+YBVka1xb3FBV93PcmqzR9t6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3343543},"type":"module","engines":{"node":">=24 <25"},"gitHead":"1a0713ac6ed7abb26ca9e4c45f8b8b56920b8d07","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.15.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.7_1779426393558_0.3563868286046141","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@tiangong-lca/cli","version":"0.0.8","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.8","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"1914dea1d00e8212addcd90edfc6391bc94fd7b8","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.8.tgz","fileCount":158,"integrity":"sha512-SwqnO1YJUbAWbuy/L1CwVEmhcAMXnEFZOPe+rB6h9l4gKtEQAkxPWyppiBKkfgoTzjOzZhmQ0BDfwaiA3/cHrA==","signatures":[{"sig":"MEUCIQCtLKAx6gjNmyRjdM1kUnYiMooBrsRhwbGvNKMsvs3fogIgeT11D+scKpLovZtU8E5u526i9iQRe/vlNhGbO8CbavQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4284575},"type":"module","engines":{"node":">=24 <25"},"gitHead":"141ea1afb77411ed5ffb28455aa87a84faddd1d7","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.8_1780314756688_0.7658098167223011","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@tiangong-lca/cli","version":"0.0.9","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.9","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"df999ef62a0592d2b4d4216198a03815eeff5729","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.9.tgz","fileCount":158,"integrity":"sha512-tKndOY+8mRfOTDXd94by9UahxU3UnFjNSDCgT9eGqLhymWDhXm1ku32+XsPfZ2fKuiKRetJ3unbjaySsVgucOA==","signatures":[{"sig":"MEQCIBX/ZRtkpAd5T2TvAZ+iiGd6aTcahysSKG0GFRcqU/pXAiBrOgUe8/3ranrcX6XovKHUGZBB1CzOPlSWM78wjvz0hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4283516},"type":"module","engines":{"node":">=24 <25"},"gitHead":"8e7fed708fd94010704e9c97d9180ae58213cab4","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.9_1780337320957_0.17300412238445295","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@tiangong-lca/cli","version":"0.0.10","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.10","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"4da248efe953fec5cbecabb64d7b334d94095efa","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.10.tgz","fileCount":158,"integrity":"sha512-Xl9e+qgt6I7HWbEalEoN6DABVSkRb9gB47N7GqZFNNjoBazew57zl7WNOZS4tPCZp0Nm126OJunFSvEH1fnaAA==","signatures":[{"sig":"MEQCIEQlfhOHlJaFjnOeoNwvHYir30qt3ttwZStZCpYkPbr9AiBqIdg8VqlD+5UcCYhn7K6pIJvKPL03OxkVwMJnHSCMJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4285092},"type":"module","engines":{"node":">=24 <25"},"gitHead":"3a5af4677994de587b31bc80ebac2f16f9d65442","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.10_1780370238969_0.15970894268682656","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@tiangong-lca/cli","version":"0.0.11","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.11","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"c1a10efc108c366d8c8a35a6b89c0cb9b6180cd2","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.11.tgz","fileCount":160,"integrity":"sha512-FejucdgkZqxHqXDQROxopvJ3XWzHxJ/TbYhriCK6sTiZWHRsHwJZh8y1GrJoIe24T+g76NDCejQ4eQWo8Eg5Kg==","signatures":[{"sig":"MEYCIQC5+QXuysr4o68tW+0VIoHRvQbAqkcHSMzN1+xkEOzMXgIhAIqn9LeVUa0XWe8sMz1oT53B7XPTLa7siFhzzTcbDI3F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4352378},"type":"module","engines":{"node":">=24 <25"},"gitHead":"ce206e97fe558a023e180bcbbfb3e062da9989fe","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.11_1780377477289_0.8985628395558676","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@tiangong-lca/cli","version":"0.0.12","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.12","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"4991c624ea360491142f0f11f1a76f739f8c10fb","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.12.tgz","fileCount":186,"integrity":"sha512-zIaTwkpMwKkEMunSwp7io7yj6veAGrAXsOEdr1v+dEgR+VPJ76EHqc6NFaHICdAsiikULAAiNyKT4LCc7Tj3XQ==","signatures":[{"sig":"MEUCIQCVBLgb7nAsZ6bpQYj8QqR4c1UbIVcSqNn9G/9Kid9UtwIgO2C2l+ZLosrmkPlWOSSVQCmohikD8Ej40I2sSVW/jcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6944527},"type":"module","engines":{"node":">=24 <25"},"gitHead":"424f5897a63fc1eb2eaf5138c89a1cc023160687","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.12_1780625961448_0.6471078102374153","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@tiangong-lca/cli","version":"0.0.13","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.13","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"aba55d3e4955a7b1100004ee8e763dac83b99937","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.13.tgz","fileCount":186,"integrity":"sha512-YTkZRtc+FQDddkRhS7EOZFJ4/zkmnYUvuEfOBWEDsJspVrYYqPrLPnN0hbsXiEGcDR9tb7G8PNVxoBZnqDtauw==","signatures":[{"sig":"MEUCIQCWq3MO6v5lCnonXaTKhOHLRU3dG5YRkxMlBOWhHkG4iAIgRuPC8aRXy80OY72EtD1YZOGKac5MnSnWNnRmkT6d1ZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6953276},"type":"module","engines":{"node":">=24 <25"},"gitHead":"77daca064035f08bdb85825bbf27046b8c81f55f","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.13_1780748128042_0.6628175678016812","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@tiangong-lca/cli","version":"0.0.14","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.14","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"855b15b5291aa74297cf21d2dbb1ab00d5f32ce7","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.14.tgz","fileCount":186,"integrity":"sha512-ybEiflf9vl84xeumEQuw/zLtE/TSp+4FivkdPkxjWaOu22/hSQikQLIAeW0Jhxn266E9+aUsGouumcRu3NA+PA==","signatures":[{"sig":"MEUCIB4vKNZ8tLaqy603YGqxqv7GbGsFCI7wkzuEAZyFHy9gAiEArkoTziQt6N/lw13UZpl7+6mG8FiHVKWbyOdjxhOG1js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6958004},"type":"module","engines":{"node":">=24 <25"},"gitHead":"8b931f7599e547ce8a34fd39f830b7c30340cc53","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.14_1780826806024_0.11523086939846672","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@tiangong-lca/cli","version":"0.0.15","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.15","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"1195e05e89e1de7d6103559f3a15ca8c283d12c6","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.15.tgz","fileCount":186,"integrity":"sha512-j0JjovPKO22py5FdbvnNDzZiFEX2tyakUIDxpRERkHgjSJygi26byPVWifLNXmOzn/Xz3X1oL+JJEMfwbG3syA==","signatures":[{"sig":"MEUCIQC92oSzIp3UnRBL2TV2GIHhyByFczaoHRltJJTzBSzhvgIgOnaL+QixIIUoUoUuGpgRMIbhjHjJf02D5q9ypu42Onw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6959408},"type":"module","engines":{"node":">=24 <25"},"gitHead":"ecf37cc826409e9adc912cc5e5e7ff6e2be0e626","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.15_1781148494572_0.0687232902560484","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@tiangong-lca/cli","version":"0.0.16","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.16","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"ca368a3374ad9a1907317b0ecae9ca56a2e2166b","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.16.tgz","fileCount":188,"integrity":"sha512-ac5creHAsMG7sdQ3mVvHP8UqePYDfL08reAob58t3vdJFv9EjGMsPk/0ara1vpd6ee4UaUcjrqqjotjAui7A8Q==","signatures":[{"sig":"MEYCIQDJ+yrdyjILeP55pcdDDbQcCiNu69o2sPYg5CD+5/l00gIhAKnvEgECvpOfwQmNzDzab80snaV80y/2Fwjefgj25/L+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6968867},"type":"module","engines":{"node":">=24 <25"},"gitHead":"1e5b2266b381571900534cff03a01b5d1f7d37bf","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.16_1781174958923_0.0860575254828655","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@tiangong-lca/cli","version":"0.0.17","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.17","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"33e2c607159c4685e7381e2e08e83caa2bd33b16","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.17.tgz","fileCount":188,"integrity":"sha512-CiFfjCXdUHfZQy4qcXZ/mD+mkehE2gEiC7F0QM4CLf/xLNweRZqFEQmt0kYDUXQ67ZxQEWcZ6TNg0aKvIPFMWg==","signatures":[{"sig":"MEUCIQCMwwNz4AqqdrcfpYDsxCgyMjrNy0Cwlhm804GWjgtpsAIgPS/1Tyd6DtbMvBnekg4a7ntz6fcCJVC/qvpxEBpH1ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6959449},"type":"module","engines":{"node":">=24 <25"},"gitHead":"423acffe4d066bcadc81398f6b6e0ab670d2657b","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.17_1781496205974_0.4686122282763616","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@tiangong-lca/cli","version":"0.0.18","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.18","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"f39dfad7516f6e1b6d545e7a01f02c006c1f2e05","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.18.tgz","fileCount":188,"integrity":"sha512-H2gJ3/fBjYAnku/6mbyy9QcEtdV/n+PY4Cl42oQoL4zmCLnL+rWHcGNxE5x4utE48ROcsD43L2ZLlZ9ecTIoTw==","signatures":[{"sig":"MEQCIDAUhVHjNOBkpfPvdQLjuciEYHApgP6JyBi2NaPmjRkZAiBBuNSoz0gwt3C/q6/vC3qdWUYZu37yMxJmM65qFbIf0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6965081},"type":"module","engines":{"node":">=24 <25"},"gitHead":"e6c40698414d756a93bbed7a236120835aee9106","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.18_1782054395449_0.9877610364988534","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@tiangong-lca/cli","version":"0.0.19","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.19","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"9e34a06d17663cc3fd12e4a41aaa2b5cf4550180","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.19.tgz","fileCount":188,"integrity":"sha512-fd6LncAWzKkDjWLTVQCdb6OGCkLAhibxs28Vh9CrQIkOCiTiB2XpIFLDf0Q+R+x8iukoIZfQWEYwaRGTOIIuuw==","signatures":[{"sig":"MEUCIAldqlx2fPkSQEXWQ0ZdV7lADUYXX7wdSRXLn3qcNAptAiEA7ynK3CKRnYZuiHx+Hy78ZJhXdYXUQJMBZt6cWC32bms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6966614},"type":"module","engines":{"node":">=24 <25"},"gitHead":"13bb8c4e01b428d2c0547431213a2ee83c455db0","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.19_1782362193826_0.9288386086278062","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@tiangong-lca/cli","version":"0.0.21","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.21","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"6439bf2ef958ea2c82355a78938d7d089a7470f2","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.21.tgz","fileCount":190,"integrity":"sha512-oDiB/8p5iHl1N/wB78h+ZyAtxqeBXKIDpRT4QVQMquUWz374CKz69ccf3uctQdGionQL0O+cF/GgNE9cvj7vgA==","signatures":[{"sig":"MEUCIByzCtya7yg99XxiiTXSYaq/4pOZHGKNoRslAAHre3L2AiEA9L9+rZzuErPpHeryp4ua/bZO6Wx5pDC5YDHg0EW1xUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7038751},"type":"module","engines":{"node":">=24 <25"},"gitHead":"b11482ca0dae414719336525c580cab1126897cd","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.17.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.21_1782745925646_0.27355461832945904","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@tiangong-lca/cli","version":"0.0.22","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.22","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"1026e58c67205048b2a1ea5f17b9e882853fa38a","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.22.tgz","fileCount":204,"integrity":"sha512-auczA5TZdc1xnQX5OyBLqVjOp5n5Mg4IJVbMUjO2MRdOYFFyvLISh5g380lqYUqVHCenithQ0iAcuLrsHJ4XPQ==","signatures":[{"sig":"MEUCIQD/hPwgVMSYIlvQk62Uo+D2t839+gKawwBYe4JJw5oicwIgR2HstbeuLtFS+4ZuW1FJtd0o9aY1R9uLQXePnhhQ9Tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7681783},"type":"module","engines":{"node":">=24 <25"},"gitHead":"4c79df4623e3cf296bc8d1baeea688d78351570a","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.22_1783859928798_0.8850186059252074","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@tiangong-lca/cli","version":"0.0.23","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.23","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"7d9dbc2a7eb9d173871f6566ed6a2b13f0484bea","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.23.tgz","fileCount":206,"integrity":"sha512-j/r7AmbRE3kcoF/VNaKgzZB2eVWNlvDY3xowiEk2qPspnYlXJD2oGv7pSzd7rCXHDZ8Q6k0PjeNnFaX1asFdZQ==","signatures":[{"sig":"MEUCIQDx/u5OAaXbfy7V+uVsUv7bP0SsdDF3S51qjXp3WbRFVAIgYxW7c2eAylV4jAcc7p5vCLixsbHrtq+gvwiFiqHHvuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7735277},"type":"module","engines":{"node":">=24 <25"},"gitHead":"ce8c18f270725adad789ada8f4582ca0e97e4117","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.23_1783945885208_0.820909624902358","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@tiangong-lca/cli","version":"0.0.24","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.24","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"a786fb5c0369eb06b06cd39c0c374450ba9e48e0","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.24.tgz","fileCount":208,"integrity":"sha512-KuqK/eQ5vAJA+BWG+qfNwHX26M2BGbPUjO0azUPEn3UtWy09LGY7MzmGi91i0cqpBk7KjRlmdScuAvdC6ZMhKA==","signatures":[{"sig":"MEYCIQDoVa7SDymH1eeXPWVpA3Fba4ON4c4yWmGeA1O7jkhlEgIhAMgiSf6YVV+1xyV8/TLIMzPg/JeE+TztqNBrWP1od8wE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7868472},"type":"module","engines":{"node":">=24 <25"},"gitHead":"ca0cdd7549cad9003d08fb338223ba74682955ae","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.24_1784022925119_0.6978995777291794","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@tiangong-lca/cli","version":"0.0.25","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.25","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"be26b633d7ee1148f9e7618850317a50f0eee5ad","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.25.tgz","fileCount":216,"integrity":"sha512-27mgEaPpZIPqVCPiCLbxTMOBHaKUlh4FGqACaefObRJfytLyp5bqm9h5Sn482dTZFHkhi0a1eQKnwd5nJcrj5Q==","signatures":[{"sig":"MEUCIQDpo1/lEKdGaey8NOkInrcSHQM4zfYTBc3fvpwpUpEMiAIgcZfItGcvteSi8/7/JS37EyBXJwUleADQOF5g6LyPM8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8185224},"type":"module","engines":{"node":">=24 <25"},"gitHead":"bd145f692b3fd11e398302dd6a1d2831e058883a","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.25_1784138571559_0.7514015854170149","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@tiangong-lca/cli","version":"0.0.26","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.26","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"1875dafff3bdbeec7880b39147af16ce74627f09","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.26.tgz","fileCount":228,"integrity":"sha512-LNW0ul5m45QkcQ0rVxy+vdNyf3o5oLzD7powJTVLAwKjYAaSUj52T/jBjLWI0cmcyZq55Tl3Slgm32bkFoSCXg==","signatures":[{"sig":"MEYCIQD9F8gbsWuXkoGI2Qx9vouSPZm/qsair/CmvmfuMWvzqQIhAPKsWGyKpTUkwwOs1HHFBBZfUd0FC3xLGcLUmY4I1zq8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8401309},"type":"module","engines":{"node":">=24 <25"},"gitHead":"c44415cacc78fea6ac63dfe256d748cb6ab95782","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.26_1784145604443_0.06743363282728998","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@tiangong-lca/cli","version":"0.0.27","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.27","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"e48f4cd4f24dd85fd47195f54c4d3bd2163a6bdd","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.27.tgz","fileCount":228,"integrity":"sha512-tffK+WdQJ1hLgzGpCpd35FrMDk3aA0EhVchXW5IF8K4GO07vAmLu9cwFQDIyi6PJNO1LsHVVfDSYYklE22/9qw==","signatures":[{"sig":"MEUCIDtVBhtgYPS4ahB0hncxNO0tTi0ZYMUaEn5m/QWa1bjWAiEA96S7e0EAhmkJRtssWu5qtW/u0DtO3/iqOw13KzY86Z4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8403602},"type":"module","engines":{"node":">=24 <25"},"gitHead":"e8a458c63a4c59d7ea1fcf4618cd5034ead6e836","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.27_1784167854451_0.13062673414089931","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"@tiangong-lca/cli","version":"0.0.28","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.28","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"5c9d6912277dd9ad97d3e590d6861336c6f37e24","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.28.tgz","fileCount":228,"integrity":"sha512-1nMBdywBWbYklmFtVAcanKQvekVQe5Q451BmVASvPeb6ZUu8VFzmYYL55oSBJkIAEexNnpjWV9RnsZXXH7n7sg==","signatures":[{"sig":"MEYCIQCsk0TGkJAAO18Q3pNoFTYAYottHvvgDpJyCC/35NHpYwIhAKA0OEhqHWzO2K3FzN4tDFwqDkYbZeVD/WYDvkcnG+PP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8412569},"type":"module","engines":{"node":">=24 <25"},"gitHead":"1aa9b58f7a62f50d2cb680f372452fe829686d75","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.28_1784185030768_0.6849738399170242","host":"s3://npm-registry-packages-npm-production"}},"0.0.29":{"name":"@tiangong-lca/cli","version":"0.0.29","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.29","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"349b5fa54ba34b38037e0265889c1bbe3b197756","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.29.tgz","fileCount":254,"integrity":"sha512-iee5B/rzTTZxI7XWxYZnyzcEp1r8jTKw6KBn8EcwEatGpzv1xw8XJdFKv+JQ15GFeV0uJSz5AJ/AGf5X+fQ6hg==","signatures":[{"sig":"MEQCICTifnKisAb+He1zAfVFrjMGabNNQTO465zryELahZcNAiAdS69eQXOjNapAtLNvxvis1eiNxPexnLMfZPAAsCDJVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9540642},"type":"module","engines":{"node":">=24 <25"},"gitHead":"5c90ddd60328748ab6d8d89717e59dcaeca8cde7","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.29_1784287405995_0.42598299432491826","host":"s3://npm-registry-packages-npm-production"}},"0.0.30":{"name":"@tiangong-lca/cli","version":"0.0.30","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.30","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"9100c8541e5933be52985d043adb6be9feb2e1b2","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.30.tgz","fileCount":254,"integrity":"sha512-d0U+B7zoLhprUz4tlJx22ERYWNpDBPi6x7dTuI6Wo2G3unjlAicQAnAgsjukhtC3z21LbAKzPWLgGbkWPEK8tw==","signatures":[{"sig":"MEUCIB/M+8kzxEWpkT715butvPHcTBc34v6qy2f9n2wXlJpeAiEAq0af7WntJla6kgQ68afwNO088NFsvufTEtWczMGW4v4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9628582},"type":"module","engines":{"node":">=24 <25"},"gitHead":"4daf99c1b0b0fe3e084b5903163cdf6b11fe4de2","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.30_1784810111621_0.909252416049533","host":"s3://npm-registry-packages-npm-production"}},"0.0.31":{"name":"@tiangong-lca/cli","version":"0.0.31","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.31","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"61ac3d3f304b81fdbb771bee2dfe3532ce28adbe","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.31.tgz","fileCount":254,"integrity":"sha512-LXdzy/HKBxtxGqKRvvyGsnOVI76pKVkfUWpxVeKfNh2cQF3MGdJcJHij7jz7+hVZWY/7eO5t+xuk2irO+Ug0zg==","signatures":[{"sig":"MEUCIH96YXrLHYAAaAUmsuqYbZwaygJzbXf6v0a+RZccNzpGAiEA6ur/7FnNw+I+kVhwAvVKV5xuRqFfAMBj6qYI6E7AMXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9629301},"type":"module","engines":{"node":">=24 <25"},"gitHead":"0cbbf9cef373675ad39ae2b8103003d05b48ccb8","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.31_1784812386705_0.10562792943015853","host":"s3://npm-registry-packages-npm-production"}},"0.0.32":{"name":"@tiangong-lca/cli","version":"0.0.32","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.32","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"69db4868982304ad8643079013caf6635354f781","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.32.tgz","fileCount":254,"integrity":"sha512-3yacLKmkSrks9DxUoZQciGKEjH3MHhD0VoRpU0KH6tWOf5Ut+erl6KaRuN4Pmo/J3+R9ev20li4OiJKsuxxS5A==","signatures":[{"sig":"MEQCIAEcOvgWqlyXyvOQ6WfeItP2oPdKDuJ7u6T7cF3whDxLAiB58ijk4nNjsnKFnEZIFzlNtGEsSjqAR/trP5fK/kyJZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9642422},"type":"module","engines":{"node":">=24 <25"},"gitHead":"25b85016c6805aaa1f9bc30bbbbe32fd825c8626","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.32_1784841402162_0.7778249964382482","host":"s3://npm-registry-packages-npm-production"}},"0.0.33":{"name":"@tiangong-lca/cli","version":"0.0.33","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.0.33","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"bin/tiangong-lca.js"},"dist":{"shasum":"853daf80f919008438dbca5593fe5e13aea61e7b","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.0.33.tgz","fileCount":254,"integrity":"sha512-05VeZUBOYmnXCkMcRD2/zln10Yp5xrpXp8SE4g55UaRsWPnksP/UlPrntB/5JETjoTqkKeYNsUVxfnpwP91icw==","signatures":[{"sig":"MEQCIB2TxMJM3nUsc4agNYE/UOA5yPdTDFQZBLQw/l/iIeP1AiBO208jYtwpfvGlP2NbgBfd0jmt4lgJw391InBnbZr+Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.0.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9738238},"type":"module","engines":{"node":">=24 <25"},"gitHead":"7c960cac3eab447a2a7d2b7c398ffd53c2de8fea","scripts":{"dev":"tsx watch src/main.ts","tsc":"tsc --noEmit","lint":"npm run lint:js && npm run lint:prettier && npm run lint:coverage-guards && npm run tsc","test":"npm run build && node --import tsx --test","build":"tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"npm run build && node ./bin/tiangong-lca.js","lint:js":"eslint --cache --ext .js,.jsx,.ts,.tsx,.cjs,.mjs --format=stylish ./src ./test ./scripts ./bin && npm run lint:deprecated","prepare":"npm run build","prettier":"prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"npm run tsc","lint-staged":"lint-staged","prepush:gate":"npm run lint && npm run test:coverage && npm run test:coverage:assert-full","lint:prettier":"prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"npm run build && node ./scripts/run-test-coverage.cjs","lint-staged:js":"eslint --ext .js,.jsx,.ts,.tsx ","lint:deprecated":"node ./scripts/lint-deprecated.cjs src test scripts","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"npm run lint-staged:js --","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.1.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","lint-staged":"^16.4.0","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.33_1784889932849_0.9317830884232408","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@tiangong-lca/cli","version":"0.1.0","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.0","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"bc43ea72e8d3fe5cf2073edc36c4252409528657","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.0.tgz","fileCount":258,"integrity":"sha512-yPA5zI3ijOXqar8jJZnrKpvhvkNnEiM9Q6SvRpGVW98SdBCds2GVN5QJ9FJuHRmUpg67gCn2PDMCmcG3CZJDcg==","signatures":[{"sig":"MEYCIQCG3rUjKFaUwIO1pAyMCrk2uTn/aiYj2kVFlJd8hssDOwIhAO7QePFPZtdD6uZ3RDX5VtGIUzi53B4MlakguYaT5bb8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9837626},"type":"module","engines":{"node":">=24 <25","pnpm":"11.23.0"},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","prepush:gate":"pnpm lint && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.12","oxlint":"^1.80.0","prettier":"3.8.1","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.3.0","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1787597513567_0.49749313038345355","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@tiangong-lca/cli","version":"0.1.1","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.1","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"3d9cb2bccca979ad335d0f51c93616ba02af0bcf","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.1.tgz","fileCount":260,"integrity":"sha512-Oicbl0eYlTEWbi54Gn8UOW2rzwmj7V7x9o2zLXvqPIbA9Kl7xAI/wkHLDAIdkpaQZ2VV5uf84toliuUUQvdWiQ==","signatures":[{"sig":"MEYCIQC6vhxJeEYr+o4HSt2fL3Bp/n3OsvTea8h87Sc/bkGrSwIhAI4Gs7WZGb2oZKHOBAn6KrrvEbGD3mBEGioAlgmgM2kO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9932080},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.23.0"},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","prepush:gate":"pnpm lint && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished","case:auth-identity:production":"pnpm build && node ./dist/scripts/run-auth-identity-production-case.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.12","oxlint":"^1.80.0","prettier":"3.8.1","sigstore":"5.0.0","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.3.0","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1787618922262_0.9174101994628228","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@tiangong-lca/cli","version":"0.1.2","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.2","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"fc32a5fc5153ce75118070e4ee1621dcdeb37bdd","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.2.tgz","fileCount":408,"integrity":"sha512-DeQAv9DguaCGmo0cIKgGSSETqEcAdBIkHp9njLQg7TJc4AD9y/70T3m8FAapzEq3yX5t1a/JvaUyY7VFGEKn8g==","signatures":[{"sig":"MEQCIFKQX99TjLJWU4Xi7UTpzhcRSB8Ljmy6qFR7pK4bhIhsAiBxqZEyIuOGCuHYVpwvKLAx+SnqWRSq6DSLO8NfKgIxDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10750416},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"exports":{"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./bin/tiangong-lca.js":"./bin/tiangong-lca.js"},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","prepush:gate":"pnpm lint && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished","case:auth-identity:production":"pnpm build && node ./dist/scripts/run-auth-identity-production-case.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.12","oxlint":"^1.80.0","prettier":"3.8.1","sigstore":"5.0.0","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.3.0","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.2_1787720538524_0.440845473113999","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@tiangong-lca/cli","version":"0.1.3","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.3","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"78f8310967cf5bfc995dcee83b43971ff7474185","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.3.tgz","fileCount":411,"integrity":"sha512-dw+Mv42xkNHIOS5RxdfUo5VDCUmfctJBMYRIW385KPCj8AsymL9s0yAU7HIKZf3tuEzynBA8nq8xYlVQxUv2vA==","signatures":[{"sig":"MEQCIDPH+tNqXhU1ayg47J4q3J9vJy1CNvh/fkSSr4Eo2WxLAiAOpgVpS/UsPhbSulFhiaKX7TkacyUm9tAPJaBOpQl0uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10752602},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"exports":{"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./bin/tiangong-lca.js":"./bin/tiangong-lca.js","./auth-identity-receipt":{"types":"./dist/src/auth-identity-receipt.d.ts","import":"./dist/src/auth-identity-receipt.js"}},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","prepush:gate":"pnpm lint && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished","case:auth-identity:production":"pnpm build && node ./dist/scripts/run-auth-identity-production-case.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.12","oxlint":"^1.80.0","prettier":"3.8.1","sigstore":"5.0.0","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.3.0","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.3_1787946613541_0.1828205762177093","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@tiangong-lca/cli","version":"0.1.5","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.5","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"55e2aae347a8b42a2635efe6d459867385875439","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.5.tgz","fileCount":417,"integrity":"sha512-/N2j4yfj4Vd7iTkTT1D6iJDCZBX5Y6YZ5BCfgHDFmqLlbqMqYkSk+9wk+fiRFwmzt/jtFCryH6t8sngG1J8rBw==","signatures":[{"sig":"MEQCIGIMnX6mNSTinUDwFIgGkrVJN6BM3aKIi6pcKApTKKexAiBH48cvi9zehHZitckjwaN8LnvY0OLKyUEFia3qGpBGVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10900475},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"exports":{"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./bin/tiangong-lca.js":"./bin/tiangong-lca.js","./auth-identity-receipt":{"types":"./dist/src/auth-identity-receipt.d.ts","import":"./dist/src/auth-identity-receipt.js"}},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","prepush:gate":"pnpm lint && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished","case:auth-identity:production":"pnpm build && node ./dist/scripts/run-auth-identity-production-case.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.101.1","@tiangong-lca/tidas-sdk":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.12","oxlint":"^1.80.0","prettier":"3.8.1","sigstore":"5.0.0","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.3.0","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.5_1788135890956_0.9224514776735087","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@tiangong-lca/cli","version":"0.1.6","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.6","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"f1b7dcb291dc0da00c63e91aa7f5c1267ad5d1e7","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.6.tgz","fileCount":417,"integrity":"sha512-+w2amVXLxsojsG6zmhmUfJ6ycPfjtPhPqTs3UAbLsItL2NGhwg7j1tdQJaxgedrIFnlrBw+twfjEB9ORxUmfLQ==","signatures":[{"sig":"MEYCIQCmF48bVZE5g+W6BnXvyW4WdCaxeptgI9AX6cZJg38IxwIhAPhp8WhXSt73TP+T/KqG7FZE/uKZizMi2afMurBpaAX/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10901173},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"exports":{"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./bin/tiangong-lca.js":"./bin/tiangong-lca.js","./auth-identity-receipt":{"types":"./dist/src/auth-identity-receipt.d.ts","import":"./dist/src/auth-identity-receipt.js"}},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","peers:check":"pnpm peers check","prepush:gate":"pnpm lint && pnpm peers:check && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished","case:auth-identity:production":"pnpm build && node ./dist/scripts/run-auth-identity-production-case.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.112.4","@tiangong-lca/tidas-sdk":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.13","oxlint":"^1.80.0","prettier":"3.9.6","sigstore":"5.0.0","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.4.1","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.6_1788178235320_0.8326155452488417","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@tiangong-lca/cli","version":"0.1.7","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.7","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"25a75ae32f028caf3d6133004cfb96ad350ec710","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.7.tgz","fileCount":417,"integrity":"sha512-88jpgMSadB4uP76UwEtINa11XJYjCOYPxLShAzrjS6QEGplsF9cJpBBd2YSCaZ7vw8gFqpm+QkM2P/QpLE9FxA==","signatures":[{"sig":"MEQCIETApJVVYnQU+gYwA3uoJHn+yvIaTymaPLFE3oM/6n5JAiAS17uEMwcAiQ4F2I6TTVOeFvwkWQOqMRbge6fLev0dyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10878843},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"exports":{"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./bin/tiangong-lca.js":"./bin/tiangong-lca.js","./auth-identity-receipt":{"types":"./dist/src/auth-identity-receipt.d.ts","import":"./dist/src/auth-identity-receipt.js"}},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","peers:check":"pnpm peers check","prepush:gate":"pnpm lint && pnpm peers:check && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.112.4","@tiangong-lca/tidas-sdk":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.13","oxlint":"^1.80.0","prettier":"3.9.6","sigstore":"5.0.0","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.4.1","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.7_1788258133522_0.8092893513073356","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@tiangong-lca/cli","version":"0.1.8","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.8","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"f294ebb10442db92d981591335d6a2ad3bcf20e4","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.8.tgz","fileCount":417,"integrity":"sha512-zIEHbzXI0aC92Si4z7G8SeunATL78F/eYjBVBRK0pUPxw0+F320rmjSE65x+U50x8y7M8yUMm0cLFHenFYogKQ==","signatures":[{"sig":"MEYCIQC2d9X/359becafZ3zS2al8RlXe9unGwS+XQA4ZeXPLCAIhAI0DQfsBpZUitOrX4Bezo8n2yU2/JC/0QkANsUVnmqkk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10912967},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"exports":{"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./bin/tiangong-lca.js":"./bin/tiangong-lca.js","./auth-identity-receipt":{"types":"./dist/src/auth-identity-receipt.d.ts","import":"./dist/src/auth-identity-receipt.js"}},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","peers:check":"pnpm peers check","prepush:gate":"pnpm lint && pnpm peers:check && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.112.4","@tiangong-lca/tidas-sdk":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.13","oxlint":"^1.80.0","prettier":"3.9.6","sigstore":"5.0.0","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.4.1","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.8_1788329807993_0.6498608472467453","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@tiangong-lca/cli","version":"0.1.9","keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","_id":"@tiangong-lca/cli@0.1.9","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"dist":{"shasum":"c5ede6229f05bcefc0560a4eff95b9eb092641d0","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.9.tgz","fileCount":420,"integrity":"sha512-Phx8nxgdmxb7ldlnv7U8SwK6Jemw4L47EOtLRV07mJOy7eM0lwLJfVowKKtZwhYVZRLLzP0blXezcewZKFE4AA==","signatures":[{"sig":"MEUCIQCDogMOOSWYrtaJ6dG4SuMEGrQMqgzNAL71wsG1p+SK7QIgNL/HhdTFFCbFsY9yMKURGfqo4m9kyDGo0ylLpFKAgi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10959964},"type":"module","engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"exports":{"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./bin/tiangong-lca.js":"./bin/tiangong-lca.js","./auth-identity-receipt":{"types":"./dist/src/auth-identity-receipt.d.ts","import":"./dist/src/auth-identity-receipt.js"}},"scripts":{"dev":"pnpm exec tsx watch src/main.ts","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","test":"pnpm build && node --import tsx --test","build":"pnpm exec tsc -p tsconfig.build.json","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","start":"pnpm build && node ./bin/tiangong-lca.js","prebuild":"pnpm clean","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","typecheck":"pnpm exec tsc --noEmit","live:oauth":"node --import tsx ./scripts/live/oauth-case.ts","lint-staged":"pnpm exec lint-staged","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","peers:check":"pnpm peers check","prepush:gate":"pnpm lint && pnpm peers:check && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","test:package":"node --test test/toolchain-contract.test.mjs","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"repository":{"url":"git+https://github.com/tiangong-lca/tiangong-cli.git","type":"git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"_nodeVersion":"26.0.0","dependencies":{"@supabase/supabase-js":"^2.112.4","@tiangong-lca/tidas-sdk":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","tsx":"^4.23.13","oxlint":"^1.80.0","prettier":"3.9.6","sigstore":"5.0.0","playwright":"1.62.1","typescript":"^7.0.2","@types/node":"^24.13.3","lint-staged":"^17.4.1","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.9_1788518790616_0.05420552380846888","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@tiangong-lca/cli","version":"0.1.10","description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","repository":{"type":"git","url":"git+https://github.com/tiangong-lca/tiangong-cli.git"},"homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"type":"module","bin":{"tiangong-lca":"./bin/tiangong-lca.js"},"exports":{"./bin/tiangong-lca.js":"./bin/tiangong-lca.js","./auth-identity-receipt":{"types":"./dist/src/auth-identity-receipt.d.ts","import":"./dist/src/auth-identity-receipt.js"},"./command-spec":{"types":"./dist/src/command-spec.d.ts","import":"./dist/src/command-spec.js"},"./runtime":{"types":"./dist/src/runtime.d.ts","import":"./dist/src/runtime.js"},"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"}},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"lint-staged":{"**/*.{js,jsx,ts,tsx,cjs,mjs}":"oxlint --type-aware --format=stylish --deny-warnings","**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}":["prettier --write"]},"engines":{"node":">=24.19.0 <25","pnpm":"11.24.0"},"keywords":["tiangong-lca","lca","cli","rest"],"license":"MIT","devDependencies":{"@types/node":"^24.13.3","c8":"^12.0.0","lint-staged":"^17.4.1","oxlint":"^1.80.0","oxlint-tsgolint":"^7.0.2001","playwright":"1.62.1","prettier":"3.9.6","sigstore":"5.0.0","tsx":"^4.23.13","typescript":"^7.0.2"},"dependencies":{"@supabase/supabase-js":"^2.112.4","@tiangong-lca/tidas-sdk":"0.2.0"},"scripts":{"start":"pnpm build && node ./bin/tiangong-lca.js","dev":"pnpm exec tsx watch src/main.ts","typecheck":"pnpm exec tsc --noEmit","tsc":"pnpm typecheck","lint":"pnpm lint:oxlint && pnpm lint:prettier && pnpm lint:coverage-guards && pnpm lint:data-api-consumers && pnpm typecheck","lint-staged":"pnpm exec lint-staged","lint:coverage-guards":"node ./scripts/assert-no-coverage-ignore.cjs","lint:data-api-consumers":"pnpm exec tsx ./scripts/scan-data-api-consumers.ts","lint:oxlint":"pnpm exec oxlint --type-aware --format=stylish --deny-warnings ./src ./test ./scripts ./bin","lint:prettier":"pnpm exec prettier --check \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","prettier":"pnpm exec prettier --write \"{src,test,docs,scripts,bin}/**/*.{js,cjs,mjs,jsx,tsx,ts,md,json}\" \"*.{js,cjs,mjs,jsx,tsx,ts,md,json}\"","prebuild":"pnpm clean","build":"pnpm exec tsc -p tsconfig.build.json","test":"pnpm build && node --import tsx --test","test:package":"node --test test/toolchain-contract.test.mjs","test:coverage":"pnpm build && node ./scripts/run-test-coverage.cjs","test:coverage:assert-full":"node ./dist/scripts/assert-full-coverage.js","peers:check":"pnpm peers check","prepush:gate":"pnpm lint && pnpm peers:check && pnpm test:package && pnpm test:coverage && pnpm test:coverage:assert-full","release:check-tag":"node ./scripts/ci/check-release-tag.cjs cli","release:assert-unpublished":"node ./scripts/ci/release-version.cjs assert-unpublished","release:verify-published":"node ./scripts/ci/verify-published-release.cjs","clean":"node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { recursive: true, force: true }))\"","live:oauth":"node --import tsx ./scripts/live/oauth-case.ts"},"_nodeVersion":"26.0.0","_id":"@tiangong-lca/cli@0.1.10","dist":{"integrity":"sha512-+uBZBYmmOLtEF78sp1Kn2K2zeNAyhchl5Jteno6yNJ4+qsgRpIfGcozCcHT4pQNUkAR0ih3IcJ5/YDmJ/aby9Q==","shasum":"45618a0199f722db052acd7dcf90a1e768176f37","tarball":"https://registry.npmjs.org/@tiangong-lca/cli/-/cli-0.1.10.tgz","fileCount":482,"unpackedSize":11252414,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tiangong-lca%2fcli@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA4gxZGB/Th8raqopMrAoixrIVfcUnIHVHV6RS/v1a9sAiB6LKVTKbJ7CFYe46xL++Qrw8p8T4SMVFWezqfqHocdDA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ff048fbc-082d-4316-b8f9-27fde2f22055"}},"directories":{},"maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.10_1788551297325_0.6609642815036902"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T09:59:10.903Z","modified":"2026-09-04T19:48:17.973Z","0.0.1":"2026-04-06T09:59:11.218Z","0.0.2":"2026-04-06T10:56:50.696Z","0.0.3":"2026-04-07T04:10:23.346Z","0.0.4":"2026-04-14T06:30:56.230Z","0.0.5":"2026-04-14T10:41:26.213Z","0.0.6":"2026-04-15T09:16:29.407Z","0.0.7":"2026-05-22T05:06:33.779Z","0.0.8":"2026-06-01T11:52:36.867Z","0.0.9":"2026-06-01T18:08:41.247Z","0.0.10":"2026-06-02T03:17:19.194Z","0.0.11":"2026-06-02T05:17:57.466Z","0.0.12":"2026-06-05T02:19:21.620Z","0.0.13":"2026-06-06T12:15:28.272Z","0.0.14":"2026-06-07T10:06:46.294Z","0.0.15":"2026-06-11T03:28:14.735Z","0.0.16":"2026-06-11T10:49:19.137Z","0.0.17":"2026-06-15T04:03:26.149Z","0.0.18":"2026-06-21T15:06:35.760Z","0.0.19":"2026-06-25T04:36:33.994Z","0.0.21":"2026-06-29T15:12:05.877Z","0.0.22":"2026-07-12T12:38:48.995Z","0.0.23":"2026-07-13T12:31:25.426Z","0.0.24":"2026-07-14T09:55:25.307Z","0.0.25":"2026-07-15T18:02:51.730Z","0.0.26":"2026-07-15T20:00:04.649Z","0.0.27":"2026-07-16T02:10:54.643Z","0.0.28":"2026-07-16T06:57:10.947Z","0.0.29":"2026-07-17T11:23:26.179Z","0.0.30":"2026-07-23T12:35:11.824Z","0.0.31":"2026-07-23T13:13:06.904Z","0.0.32":"2026-07-23T21:16:42.378Z","0.0.33":"2026-07-24T10:45:33.022Z","0.1.0":"2026-08-24T18:51:53.738Z","0.1.1":"2026-08-25T00:48:42.493Z","0.1.2":"2026-08-26T05:02:18.761Z","0.1.3":"2026-08-28T19:50:13.730Z","0.1.5":"2026-08-31T00:24:51.122Z","0.1.6":"2026-08-31T12:10:35.558Z","0.1.7":"2026-09-01T10:22:13.731Z","0.1.8":"2026-09-02T06:16:48.156Z","0.1.9":"2026-09-04T10:46:30.783Z","0.1.10":"2026-09-04T19:48:17.600Z"},"bugs":{"url":"https://github.com/tiangong-lca/tiangong-cli/issues"},"license":"MIT","homepage":"https://github.com/tiangong-lca/tiangong-cli#readme","keywords":["tiangong-lca","lca","cli","rest"],"repository":{"type":"git","url":"git+https://github.com/tiangong-lca/tiangong-cli.git"},"description":"Unified TianGong LCA CLI with direct REST adapters and low-entropy command surface.","maintainers":[{"name":"linanenv","email":"linanenv@gmail.com"},{"name":"biaoo","email":"872299269@qq.com"}],"readme":"---\ndocType: guide\nscope: repo\nstatus: active\nauthoritative: false\nowner: cli\nlanguage: en\nwhenToUse:\n  - when installing or invoking the TianGong LCA CLI\n  - when checking public command examples\nwhenToUpdate:\n  - when the published CLI executable or invocation contract changes\n  - when user-facing command examples change\ncheckPaths:\n  - README.md\n  - .env.example\n  - package.json\n  - pnpm-workspace.yaml\n  - pnpm-lock.yaml\n  - bin/**\n  - src/cli.ts\n  - src/main.ts\n  - src/auth-identity-receipt.ts\n  - src/batch.ts\n  - src/command-spec.ts\n  - src/lib/auth-identity-receipt.ts\n  - src/lib/oauth-loopback.ts\n  - src/lib/oauth-pkce.ts\n  - src/lib/supabase-session.ts\n  - src/lib/lca-release.ts\n  - test/auth-identity*.test.ts\n  - test/public-auth-identity-receipt.test.ts\n  - test/lca-release*.test.ts\nlastReviewedAt: 2026-09-05\nlastReviewedCommit: 20cf32fd45ae1072bb67db27c74d3d81629206f4\nlastReviewedNote: 'Reviewed for CLI #275: release-only 0.1.10 publishes merged runtime manager/bootstrap #274; runtime, dependencies, lock bytes and workflows stay at reviewed merge 20cf32f while release proof adds native and public provenance consumers.'\n---\n\nCLI 0.1.10 is the designated C1 release for `tiangong-lca runtime describe --json` and the explicit `@tiangong-lca/cli/runtime` API for package, asset and Node content inspection. Runtime inspection loads no project `.env`, performs no authentication and downloads nothing. See [the runtime distribution contract](docs/agents/runtime-distribution-contract.md) for exact fields and trust boundaries; verify public availability and provenance before treating the candidate version as released.\n\n# TianGong LCA CLI\n\nPackage: `@tiangong-lca/cli` Executable: `tiangong-lca` Current package version: `0.1.10` Node: `24.19.0`\n\nRepository development is single-track on pnpm `11.24.0` and TypeScript `7.0.2`. The published package remains a clean, package-manager-neutral consumer artifact: it contains runtime files only, not pnpm, TypeScript, Oxlint, tests, source-only tooling, or repository lockfiles.\n\nReview note, 2026-08-25: Issue #224 migrates repository development and release automation to the sole root `pnpm-workspace.yaml` / `pnpm-lock.yaml`, TypeScript 7.0.2, and type-aware Oxlint on Node 24. The feature change deliberately keeps version 0.0.33. A separate release-only PR should prepare 0.1.0 after the toolchain change merges and its full package/coverage/release gates pass.\n\nReview note, 2026-08-25: Issue #226 publishes that 0.1.0 compatibility boundary after merged PR #225. Version metadata and public release evidence advance to 0.1.0; the runtime JavaScript/assets surface, command behavior, Node 24 runtime, pnpm/TypeScript 7 development baseline, native pnpm Trusted Publishing/provenance, and exact released-commit workspace handoff remain unchanged from the reviewed feature delivery.\n\nReview note, 2026-08-25: Issue #228 implements `auth identity-receipt` as a bounded read-only current-user proof. It checks expected project intent before session work, verifies the live user through `/auth/v1/user`, allows one auth-refresh replay after 401/403, and emits an exact-key canonical receipt without API keys, tokens, full email addresses, session paths, or credential-derived fingerprints. Production callers must pass both expected assertions and accept only `assertions.mode=\"intent-bound\"`.\n\nReview note, 2026-08-25: Issue #230 publishes the merged identity receipt as `@tiangong-lca/cli@0.1.1`. Runtime logic and published dependencies remain unchanged; the sole pnpm lock changes only for exact dev-only `sigstore@5.0.0`. Local metadata, engines, and every workflow converge on Node 24.19.0. Release automation asserts actual platform/architecture across the reusable four-platform pre-tag matrix and provides `pnpm release:verify-published` for cryptographic Fulcio/CT/Rekor provenance, registry signatures, actual tarball integrity, isolated user/global package-manager configuration, exact pnpm 11.23.0, and credential-free bin/ESM/CJS consumer proof.\n\nReview note, 2026-08-26: Issue #232 adds two supported typed library subpaths without changing version `0.1.1`: `@tiangong-lca/cli/command-spec` owns the byte-compatible `tiangong-foundry.command-spec.v1` authority and shell-free execution adapters, while `@tiangong-lca/cli/batch` owns identity/content/policy-bound scheduling, resource-aware exclusive keys, explicit mutation readback recovery, and host-safe run-directory locks. Claim-time identity drift—including a throwing identity getter—is a stable item failure/event and every already-started worker is drained before return. Any escaping infrastructure callback error records one fatal cause, immediately closes new claims, drains only already-claimed workers, and rejects after all worker promises settle. A blocked resource stays unclaimed and consumes no worker while a later free resource may run; per-resource FIFO cursors and a private minimum-ready heap keep ordinary scheduling near `O(n log k)` rather than repeatedly scanning all pending items. Run-lock PID/host/timestamp ownership is derived internally and cannot be supplied by callers. Every public timer-backed timeout, poll, or retry delay is bounded by Node's `2_147_483_647ms` maximum. The package root remains unsupported and publication requires a later release-only delivery.\n\nReview note, 2026-08-26: Issue #233 changes only the internal shape of the batch subpath. `src/batch.ts` is now a 62-line facade over bounded, acyclic modules for types, errors/contracts, locking, projection, scheduler runtime, attempts/recovery, and the engine. Executable budgets keep the facade below 400 lines and every internal module below 800 while locking exact public export identities, declarations, errors, event/result bytes, packed consumers, and dataset dogfood. Package version, dependencies, pnpm-only TypeScript 7 development, and runtime behavior are unchanged.\n\nReview note, 2026-08-26: Issue #236 changes only the repository and clean-consumer package-manager requirement from exact pnpm 11.23.0 to 11.24.0. The sole root lock requires no byte change under pnpm 11.24.0; Node 24.19.0, TypeScript 7.0.2, package version 0.1.1, public commands and exports, dependencies, tags, provenance, and publication remain unchanged, with no npm/Yarn fallback.\n\nReview note, 2026-08-26: Issue #237 releases the already reviewed bounded CommandSpec/batch runtime and pnpm 11.24 toolchain as `@tiangong-lca/cli@0.1.2`. The release changes only package metadata and four live CLI-version fixtures; runtime files, public subpaths and object identities, dependencies, the sole lock, Node 24.19.0, TypeScript 7.0.2, package-manager-neutral consumers, and automated provenance path remain unchanged.\n\nReview note, 2026-08-29: Issue #240 adds the typed `@tiangong-lca/cli/auth-identity-receipt` public parser entry without changing package version 0.1.2 or auth behavior. It directly re-exports the existing strict parser, schema/timeout constants, and receipt types; the remote runner and test internals stay private, and the previous `dist/src/lib/**` deep path remains blocked.\n\nReview note, 2026-08-29: Issue #242 releases that public parser as `@tiangong-lca/cli@0.1.3`. Only package identity and four existing exact-version fixtures change; `./batch`, `./command-spec`, `./auth-identity-receipt`, the executable, dependencies, pnpm lock, Node 24.19.0 / TypeScript 7.0.2 toolchain, and package-manager-neutral consumer contract are otherwise unchanged.\n\nReview note, 2026-08-31: Issue #244 adds Supabase OAuth 2.1 Authorization Code + S256 PKCE without adding a dependency or changing package version/exports. `auth login` uses a registered public client, exact literal-`127.0.0.1` callback, state validation, and shell-free system browser; it atomically stores rotating access/refresh tokens in a private session file. `auth status` performs no network request and reveals no credential or session path; `auth whoami` and `auth doctor-auth` use the live redacted identity receipt. `auth logout` deletes only that matching local session; Connected applications owns grant revocation. `TIANGONG_LCA_ACCESS_TOKEN` is a short-lived, online-verified, memory-only headless option. The reversible API key remains only as a transition fallback and is never used by OAuth mode.\n\nReview note, 2026-08-31: Issue #247 prevents a second CLI process from failing when the first process removes `session.json.lock` between contention and metadata read. Only an absent lock is treated as released; permission, I/O, malformed-owner, timeout, and stale-owner safety behavior is unchanged.\n\nReview note, 2026-08-31: Issue #246 releases that OAuth runtime as `@tiangong-lca/cli@0.1.4`. Only package identity and four existing exact-version fixtures change; the executable and public subpaths, dependencies, pnpm lock, Node 24.19.0 / TypeScript 7.0.2 toolchain, auth behavior, and package-manager-neutral consumer contract are otherwise unchanged.\n\nReview note, 2026-08-31: Issue #252 replaces the stopped-unpublished 0.1.4 attempt with `@tiangong-lca/cli@0.1.5` after platform-complete session coverage merged. Only package identity, four version fixtures, and release evidence change; executable/public subpaths, OAuth behavior, dependencies, pnpm lock, Node/TypeScript toolchain, and consumer contract stay unchanged.\n\nReview note, 2026-08-31: Issue #256 upgrades the still-0.1.5 development/runtime graph to Supabase JS 2.112.4, lint-staged 17.4.1, Prettier 3.9.6, and tsx 4.23.13. TIDAS SDK is pinned exactly to npm-latest 0.2.0 and every stricter validation/data workflow stays in the exact-100% gate. Node 24.19.0 deliberately keeps latest 24.x typings rather than Node 26. The formatter rewrite is a separate mechanical commit; OAuth, public exports, commands, tags, and publication behavior do not change. Issue #257 owns the later version-only 0.1.6 release.\n\nReview note, 2026-08-31: Issue #257 releases that merged dependency graph as `@tiangong-lca/cli@0.1.6`. Only package identity, four exact-version fixtures, and release evidence change; commands, executable/public subpaths, OAuth/session behavior, exact TIDAS/Supabase dependencies, pnpm lock, Node/TypeScript toolchain, and clean consumer contract remain unchanged.\n\nReview note, 2026-07-12: `dataset maintenance plan/apply/verify` provides current-user RLS-scoped exact-row maintenance with immutable plans, explicit approval, per-action logs, platform audit correlation, and independent readback. `merge-support-aliases` now runs only in `target_mode=owner_draft`: source/target support and all changed rows stay private `state_code=0`; publication is a separate future workflow.\n\nReview note, 2026-07-13: maintenance scans now prove exact-count pagination even when PostgREST returns fewer rows than the requested `--page-size`. An incomplete or inconsistent scan fails before artifacts, approval, or mutation; under stable filtered membership/order the proof represents a complete ordered multi-request traversal, not one transaction-level/MVCC snapshot.\n\nReview note, 2026-07-14: maintenance now includes the protected derivative-only `rebuild-derivatives` operation. V1 plans exactly one current-owner state-0 process with `action=rebuild_derivatives`, `target_mode=owner_draft`, and components `extracted_md` plus `embedding_ft`. Apply only proves guarded-RPC admission (`accepted`/`queued`); independent verify reports `pending`, `passed`, or `failed`.\n\nReview note, 2026-07-15: `dataset maintenance run-protected` adds a production-only path for one sealed private alias execution and its exact 50-target derivative closure. The protected executor is server-dispatched and fenced by the authenticated owner plus exact actor/user_id/state_code=0 and plan-closure checks; RLS remains a defense on public and independent-read surfaces. It performs one server preflight, writes an immutable local attempt marker before one admission POST, and requires status-only recovery after any marker or ambiguous response. It has no dev, legacy-alias, publication, or state-code fallback.\n\nReview note, 2026-07-15: `dataset maintenance freeze-protected` and `seal-protected-approval` close the preparation gap without adding a second execution path. Freeze preparation authenticates directly to the explicitly confirmed production project, performs only complete account/support reads plus the 50 derivative snapshot RPCs, and writes an unapproved canonical request. Approval sealing is entirely local and requires the exact human-returned UTF-8 bytes plus explicit freeze/request/text hashes and account confirmation. Only the later `run-protected` command can preflight or admit work.\n\nReview note, 2026-07-16: `release ...` is the LCI/LCIA data-release command family, not the npm package release workflow. It uses the normal user-session bootstrap, requires the server to authorize `data_product_manager` for private and mutating operations, never accepts a service-role key, and keeps large Calculation Bundle or ZIP payloads in hash-verified files instead of stdout.\n\nReview note, 2026-07-17: `dataset maintenance flow-identity capture|plan|freeze|seal-approval|run|freeze-recovery|seal-recovery-approval|run-recovery|verify` is the dedicated Step 3 workflow for approved BAFU elementary-flow identity mappings. Capture performs one complete authenticated census and one database-attestation POST; plan rejects historical authorities and binds the exact 305-source request to its immutable receipt. The write path uses a database-minted one-wrapper permit that rotates after each successful process/finalize write and is never stored in proof artifacts; a create-only local approval claim is defense in depth. A lost permit or preflight response cannot be replayed: the operator must freeze and approve an exact recovery baseline, while status/recovery may locate only the same actor-owned scope through the exact read-only lookup. Terminal verification independently proves unchanged source/public/support rows, exact desired owner-draft processes, zero approved-source residue, unchanged pending/blocker/orphan closure, and causal derivative completion. Failed/stale derivatives still require a separate derivative-only plan, freeze, and approval and never replay the process mutation. Production use remains gated on merge, Preview validation, and coordinated database/CLI release.\n\nReview note, 2026-07-23: `dataset save-draft --execution-contract` adds an opt-in crash-safe ordered owner-draft batch. The contract binds the authenticated project/owner, state 0, exact input order and payloads, before hashes, expected insert/update operations, and dependencies. A stable per-owner/project `action_id@desired_sha256` ledger prevents replay even if the contract or output directory is copied; ambiguous attempts are recovered only by exact owner/state/payload readback. The ordinary save-draft mode is unchanged.\n\nReview note, 2026-07-24: CLI 0.0.32 adds bounded execution-contract concurrency without changing the sealed payload or replay model. `--max-parallel 1..8` keeps the complete dependency prefix serial and exact-read-back, then overlaps only the unique-target suffix. The current owner token is renewed and revalidated before each DML dispatch so long batches do not turn token expiry into an avoidable UNKNOWN.\n\nReview note, 2026-07-24: CLI 0.0.33 adds an explicit `dataset maintenance apply --max-parallel 1..8` profile for large owner-draft flow convergence. It accepts only unique flow delete-only plans with zero frozen and fresh visible-process inbound references, persists `PREPARED` and `DISPATCHED` before each protected RPC, requires exact absent readback for `COMMITTED`, never automatically replays success or UNKNOWN, and continues independent rows.\n\nReview note, 2026-07-25: The complete RLS-visible process fence now paginates in the strict `(id, version)` primary-key order. It still has no `user_id` filter and retains exact-count completeness, while avoiding a redundant owner/state sort before any deletion can dispatch.\n\nReview note, 2026-07-25: Bounded flow deletion can instead accept an explicitly SHA-approved, at-most-30-minute-old SELECT-only proof covering all process rows. The proof binds the exact project, actor, plan, ordered delete targets, and contiguous target chunks and must report zero inbound edges and zero P0/P1 findings. The CLI validates it before approval or dispatch and never executes the proof SQL itself; omitting the flags preserves the live RLS-visible scan.\n\n## Run\n\nOne-off published run:\n\n```bash\npnpm dlx @tiangong-lca/cli@latest --help\npnpm dlx @tiangong-lca/cli@latest auth login\npnpm dlx @tiangong-lca/cli@latest auth doctor-auth --json\npnpm dlx @tiangong-lca/cli@latest flow --help\n```\n\nInstall the published CLI:\n\n```bash\npnpm add --global @tiangong-lca/cli\ntiangong-lca --help\ntiangong-lca auth login\ntiangong-lca auth doctor-auth --json\ntiangong-lca flow --help\n```\n\nRun from this repository:\n\n```bash\npnpm install --frozen-lockfile\npnpm build\nnode ./bin/tiangong-lca.js --help\n```\n\n## Typed library subpaths\n\nThe package exposes only these supported module APIs in addition to the executable launcher subpath:\n\n- `@tiangong-lca/cli/runtime` (introduced by #274 and designated for C1 0.1.10) describes CLI package, asset and Node content and compares them against independently trusted exact expectations. It also exposes strict manifest loading, ensure/status/prune and manifest-declared execution with component locks, complete file verification and leases. These operations do not authenticate by themselves or attest a complete public production component. The no-Node bootstrap sources are checked in under `scripts/bootstrap/` and consume only an adjacent product-generated lock; C1 package verification belongs to #275; public product component qualification remains downstream.\n- `@tiangong-lca/cli/auth-identity-receipt` parses the exact safe receipt projection offline and exports its schema, Node-safe timeout ceiling, and receipt types. It does not expose session resolution, network execution, or test internals; callers that need a fresh receipt still invoke the CLI command.\n- `@tiangong-lca/cli/command-spec` parses, creates, artifact-binds, and executes exact `tiangong-foundry.command-spec.v1` objects. `display` is diagnostic only; executable plus argv and binding bytes/SHA-256 form the canonical authority. Sync and async execution always use `shell:false`; async callers may inject resolver, clock, sleep, spawn, timeout, and abort adapters. `timeoutMs` must fit Node's maximum timer delay.\n- `@tiangong-lca/cli/batch` runs bounded generic work with an overall run contract and a required per-item `{ item_id, content_sha256, policy_sha256 }` contract. Every identity/content/policy/resource projection is validated before work starts and rechecked before resumed acceptance or a fresh claim. Identity changes or getter failures emit `item_identity_drift` with `BatchItemIdentityDriftError`, execute zero attempts, and do not let the batch return before other in-flight items drain. An escaping scheduler/event/stop callback records the first infrastructure error, closes further claims, awaits all worker settlements, then rejects. Input order, truthful resource-aware claim order, completion order, pause/stop behavior, awaited monotonic events, and exception isolation are explicit. Optional exclusive keys serialize only matching resources; a blocked key remains unclaimed and consumes no worker while later free keys may use the public ceiling of 64 workers. Per-resource FIFO queues expose only their head through an ordered binary min-heap, giving near `O(n log k)` ready scheduling for `k` resources.\n- Mutation batches reject automatic retry. A consumed or ambiguous mutation can continue only through an explicitly supplied readback-recovery callback; resume requires exact run and item contracts, and each resumed or rejected result participates in stop decisions before fresh claims. Retry/backoff values must be non-negative safe integers within Node's timer limit. Exclusive keys must be runtime strings. `withBatchRunLock` gives one canonical run directory one cross-process lock domain, permits reentrancy only from a still-live scope owned by the current holder, keeps the top-level promise pending until detached nested scopes drain, rejects completed-context reentry into a later owner, preserves live or foreign-host locks, and stale-recovers only a same-host dead PID. Public lock callers cannot set PID, host, or ownership time; timeout/poll values are non-negative safe integers within Node's timer limit.\n\nThe packed ESM, CJS dynamic-import, and TypeScript consumers exercise every public subpath and generated declaration. Deep imports and `import '@tiangong-lca/cli'` remain unsupported.\n\n## Env\n\nOfficial Production requires **no environment setup**. Run `tiangong-lca auth login` from a trusted terminal and finish authorization in your browser. The CLI bundles the public Production project URL, publishable key, CLI OAuth client ID, registered loopback callback, and region as one profile in `src/lib/env.ts`. These are application configuration, not user credentials; no client secret is used. Skills and external consumers must reuse the CLI rather than copy this profile.\n\nBefore the first login, `auth status --json` and `auth doctor-auth --json` return `login-required` (exit 1), not a missing-client configuration error. `doctor --json` reports the public profile fields as `source: \"default\"`; this is configuration readiness, not proof of a logged-in user.\n\nOnly Dev, self-hosted, or a custom public client needs explicit configuration. Supply the complete matching tuple from that environment's administrator:\n\n```bash\nTIANGONG_LCA_API_BASE_URL=https://<your-project>.supabase.co/functions/v1\nTIANGONG_LCA_SUPABASE_PUBLISHABLE_KEY=<that-project-publishable-key>\nTIANGONG_LCA_OAUTH_CLIENT_ID=<that-project-registered-public-client-id>\nTIANGONG_LCA_OAUTH_REDIRECT_URI=http://127.0.0.1:49191/oauth/callback\nTIANGONG_LCA_REGION=us-east-1\n```\n\nNotes:\n\n- `TIANGONG_LCA_API_BASE_URL` accepts the project root, `/functions/v1`, or `/rest/v1`.\n- `TIANGONG_LCA_OAUTH_CLIENT_ID` is the environment-specific registered public CLI client; it is not a secret.\n- Blank public fields and the exact official Production URL aliases use the bundled profile. Any non-Production URL, client, key, or callback disables profile completion; incomplete custom configuration fails before browser/network access. An explicit custom URL cannot be combined with the known Production key or client. Changing `--base-url` also requires a matching complete environment.\n- Run `tiangong-lca auth login` once in a trusted terminal. All Edge Function and direct Supabase commands then reuse the OAuth access token and rotate the refresh token on demand.\n- For approved headless execution, explicitly set the destination `TIANGONG_LCA_API_BASE_URL`, its `TIANGONG_LCA_SUPABASE_PUBLISHABLE_KEY`, and `TIANGONG_LCA_AUTH_MODE=access-token`, then inject one short-lived `TIANGONG_LCA_ACCESS_TOKEN`. A token alone never selects Production. It is verified online, kept only in process memory, and never refreshed.\n- Bundled configuration does not enable implicit remote publishing. Local-first publish executor selection still requires explicit configured remote runtime; existing `--commit`, remote-lookup, identity, and approval gates are unchanged.\n\nOptional session control:\n\n```bash\nTIANGONG_LCA_AUTH_MODE=oauth\nTIANGONG_LCA_OAUTH_REDIRECT_URI=http://127.0.0.1:49191/oauth/callback\nTIANGONG_LCA_SESSION_FILE=\nTIANGONG_LCA_DISABLE_SESSION_CACHE=false\nTIANGONG_LCA_FORCE_REAUTH=false\n```\n\n## OAuth Session Commands\n\n```text\ntiangong-lca auth login\ntiangong-lca auth status --json\ntiangong-lca auth whoami --json\ntiangong-lca auth doctor-auth --json\ntiangong-lca auth logout\n```\n\nThe callback URI must exactly match the URI registered with the selected Supabase OAuth client. The default is `http://127.0.0.1:49191/oauth/callback`; OAuth client redirect URIs do not support wildcards. Login never accepts a username, password, authorization code, access token, refresh token, or PKCE verifier through argv. On POSIX, the app directory is `0700` and `session.json` is `0600`; writes and refresh-token rotation use a temporary file, atomic rename, and the existing cross-process state lock. Windows callers must keep the selected parent ACL current-user-only because chmod bits are not an ACL.\n\n`auth status` is intentionally local-only and non-mutating. It reports whether a matching session can be used or refreshed, but sets `onlineVerified: false`; it never prints email, tokens, a session path, or a credential fingerprint. `auth whoami` performs the live redacted identity receipt. `auth doctor-auth` first checks local readiness, then performs that live check; a missing OAuth session returns `login-required` so a human can run `auth login`. An AI agent must never ask for or handle the user's password, authorization code, access token, or refresh token.\n\nLocal logout does not revoke the server grant. To invalidate every refresh token for the CLI client, open Account → Connected applications and disconnect TianGong CLI.\n\n## Canonical support export\n\n```sh\ntiangong-lca dataset support-cache export --out-dir ./new-support-export --expected-project-ref <project-ref> --expected-user-id <user-id> --json\n```\n\nExport visible flow properties and unit groups through the CLI OAuth session. The default state filter is `100`; repeat `--state-code` to request other RLS-scoped states. The directory must be new. Two complete ordered reads must agree before private row files and an atomic `export-report.json` completion marker are published. The report includes identity, counts and file hashes; its observed stability is not a database transaction snapshot.\n\nLimits are 100,000 rows per table, 1,000 pages per table scan, 8 MiB per response, 64 MiB total response bytes and a 120-second operation deadline. An incomplete or changed read fails without publishing a completion marker. Use a fresh directory for a new attempt; no business data is written.\n\n## Auth Identity Receipt\n\nUse the identity receipt before a production-backed case or any later owner-draft write gate:\n\n```text\ntiangong-lca auth identity-receipt --expected-project-ref <project-ref> --expected-user-id <user-id> --json\n```\n\nThe command performs no dataset write. It resolves the selected OAuth or explicit headless session, checks the canonical Supabase project, and makes a bounded live `GET /auth/v1/user`. A refreshable cached token that receives `401` or `403` may be refreshed and retried exactly once; an explicit headless access token is never refreshed. All other transport or response failures are terminal. A valid production guard requires:\n\n- `schema` exactly `tiangong-lca.auth-identity-receipt.v1`;\n- `status: \"passed\"`, `operation: \"current-user-read\"`, and `remote_write_mode: \"read-only\"`;\n- exact expected project/user values with `assertions.mode: \"intent-bound\"` and `requested_count: 2`;\n- a fresh capture time and a valid recomputed `receipt_scope_sha256`.\n\nCalling without expectations is allowed for discovery but produces `assertions.mode: \"observed\"`; it is not an authorization guard. The safe display email is masked and must not be used as the account key. The receipt deliberately excludes credentials, full email, session-file details, raw response metadata, and all credential/token/path-derived fingerprints.\n\n## LCI/LCIA Data Release\n\nThe `release` command family is the authenticated transport used by the standalone release control plane. It does not introduce a TIDAS schema variant: result packages reuse the existing Process exchange structure for LCI and the existing Process LCIA result fields, with a LifecycleModel referencing the resulting Process.\n\nThe canonical publication set contains four self-contained ZIPs:\n\n- Unit Process full closure in TIDAS and ILCD.\n- Standalone LifecycleModel + Result full closure in TIDAS and ILCD. This package repeats the required canonical Unit Process and support closure, so it has no dependency on another ZIP.\n\nWorkflow:\n\n```bash\ntiangong-lca release prepare --input ./release-prepare.json --json\ntiangong-lca release upload --input ./release-upload.json --output ./upload-receipt.json\ntiangong-lca release finalize --input ./release-finalize.json --json\ntiangong-lca release approve --input ./release-approval.json --json\ntiangong-lca release publish --input ./release-publish.json --json\ntiangong-lca release readback-verify --input ./release-readback.json --json\ntiangong-lca release status --release-run-id <release-run-id> --json\n```\n\n`release-upload.json` contains the immutable plan identity plus exactly one artifact for each profile/format pair. Paths are resolved relative to the request file:\n\n```json\n{\n  \"releaseRunId\": \"11111111-1111-4111-8111-111111111111\",\n  \"publishPlanHash\": \"<64 lowercase hex characters>\",\n  \"artifacts\": [\n    {\n      \"profileId\": \"unit-process-full-closure.v1\",\n      \"format\": \"tidas\",\n      \"path\": \"./packages/unit-process.tidas.zip\",\n      \"sha256\": \"<64 lowercase hex characters>\",\n      \"byteSize\": 1234,\n      \"mediaType\": \"application/zip\"\n    },\n    {\n      \"profileId\": \"unit-process-full-closure.v1\",\n      \"format\": \"ilcd\",\n      \"path\": \"./packages/unit-process.ilcd.zip\",\n      \"sha256\": \"<64 lowercase hex characters>\",\n      \"byteSize\": 1234,\n      \"mediaType\": \"application/zip\"\n    },\n    {\n      \"profileId\": \"standalone-lifecyclemodel-result-full-closure.v1\",\n      \"format\": \"tidas\",\n      \"path\": \"./packages/result.tidas.zip\",\n      \"sha256\": \"<64 lowercase hex characters>\",\n      \"byteSize\": 1234,\n      \"mediaType\": \"application/zip\"\n    },\n    {\n      \"profileId\": \"standalone-lifecyclemodel-result-full-closure.v1\",\n      \"format\": \"ilcd\",\n      \"path\": \"./packages/result.ilcd.zip\",\n      \"sha256\": \"<64 lowercase hex characters>\",\n      \"byteSize\": 1234,\n      \"mediaType\": \"application/zip\"\n    }\n  ]\n}\n```\n\nThe CLI verifies every local upload against its declared byte size, SHA-256, media type, and required pair before requesting signed URLs. Upload receipts and downloads are written atomically with private file permissions. Existing outputs are preserved unless `--force` is explicit. Release requests use the resolved actor access token and `client_id`-aware database policy; no credential-derived fingerprint is accepted from local state or the request file.\n\nCalculation results and published artifacts remain file-first:\n\n```bash\ntiangong-lca release calculation-bundle --package-id <package-id> --output ./calculation-bundle.json\ntiangong-lca release calculation-artifact --package-id <package-id> --artifact-path chunks/lci-00000.jsonl.gz --output ./lci-00000.jsonl.gz\ntiangong-lca release current --json\ntiangong-lca release artifact-download --artifact-id <artifact-id> --output ./release.zip\n```\n\n`calculation-bundle` writes a verified manifest projection with short-lived URLs for its declared artifacts. Artifact downloads are accepted only when their exact path is present in that manifest, and downloaded bytes must match the durable size and SHA-256 before the output is exposed. Use `--dry-run` to validate inputs and inspect a credential-masked request without network writes.\n\nOptional LLM review env, only for `qa process --enable-llm` or `qa flow --enable-llm`:\n\n```bash\nTIANGONG_LCA_REVIEW_LLM_BASE_URL=\nTIANGONG_LCA_REVIEW_LLM_API_KEY=\nTIANGONG_LCA_REVIEW_LLM_MODEL=\n```\n\n## Search\n\nMinimal `search flow` request:\n\n```json\n{\n  \"query\": \"soda lime glass\",\n  \"filter\": {\n    \"flowType\": \"Product flow\"\n  }\n}\n```\n\nRun:\n\n```bash\ntiangong-lca search flow --input ./search-flow.request.json --json\ntiangong-lca search process --input ./search-process.request.json --json\ntiangong-lca search lifecyclemodel --input ./search-lifecyclemodel.request.json --json\n```\n\nEmpty search results should be treated as empty whether the response is `[]` or `{\"data\":[]}`.\n\n## Read\n\n```bash\ntiangong-lca flow get --id <flow-id> --version <version> --json\ntiangong-lca flow list --id <flow-id> --state-code 100 --limit 20 --json\ntiangong-lca process get --id <process-id> --version <version> --json\ntiangong-lca process list --state-code 100 --limit 20 --json\n```\n\n## Identity Preflight\n\nUse identity preflight before generating new process or flow rows. The command compares one target against local candidate rows and emits a machine-readable `IdentityDecision` so automation can reuse, update, block, or route uncertain cases before payload generation.\n\n```bash\ntiangong-lca process identity-preflight --input ./process-preflight.json --out-dir ./process-preflight --json\ntiangong-lca flow identity-preflight --input ./flow-preflight.json --out-dir ./flow-preflight --json\ntiangong-lca process identity-preflight --input ./process-preflight.json --candidate-input ./exports/processes.jsonl --candidate-input ./local-process-catalog --out-dir ./process-preflight --json\ntiangong-lca flow identity-preflight --input ./flow-preflight.json --remote-candidates --remote-query \"electricity medium voltage\" --remote-limit 20 --out-dir ./flow-preflight --json\n```\n\nMinimal input:\n\n```json\n{\n  \"target\": {\n    \"name_en\": \"market for electricity, medium voltage\",\n    \"reference_flow_id\": \"flow-electricity\",\n    \"operation\": \"produce\"\n  },\n  \"candidates\": [\n    {\n      \"id\": \"existing-process\",\n      \"name_en\": \"market for electricity, medium voltage\",\n      \"reference_flow_id\": \"flow-electricity\",\n      \"operation\": \"produce\"\n    }\n  ]\n}\n```\n\nKey outputs under `--out-dir`:\n\n- `outputs/identity-decision.json`\n- `outputs/identity-candidates.jsonl`\n- `outputs/identity-candidate-sources.json`\n\n`--candidate-input` is repeatable and accepts JSON, JSONL, or a directory scanned recursively for JSON/JSONL candidate rows. Embedded `candidates` from the request and local-scan candidates are evaluated together. Add `--remote-candidates` when the preflight should also call `process_hybrid_search` or `flow_hybrid_search`; `--remote-query` overrides the target-derived search text and `--remote-limit` caps returned candidate rows. Remote candidate search uses the normal OAuth session env above and optional `TIANGONG_LCA_REGION`.\n\nWhen remote search is enabled, the CLI sends a compact fielded `query` string plus supported edge-search options to `process_hybrid_search` or `flow_hybrid_search`: `filter`, `match_count`, `page_size`, `data_source`, `match_threshold`, `lexical_weight`, `semantic_weight`, and `rrf_k`. `lexical_weight` controls the single database-owned `extracted_md` lexical branch. Request-level `remote_candidate_search.profile_hints` are not sent to the Edge Function. They are applied locally before scoring candidates so Foundry can provide source-derived facts such as flow type, flow property, reference unit, elementary categories, geography, reference-flow names, technology route, and system boundary without polluting the full-text/semantic query.\n\nExact process exchange fingerprints with matching identity context block duplicate creation, while weaker inventory-only matches still route to manual review. Flow preflight also blocks alias-equivalent flows when type, reference property, unit, and category/CAS evidence match.\n\n## Build Plan Gate\n\nUse build-plan gates after identity preflight and before publish handoff. These commands validate the minimum authoring contract for a process or flow build plan, write a standard `GateReport` for Foundry/skill orchestration, and materialize deterministic canonical TIDAS payloads when no explicit payload is embedded in the plan.\n\n```bash\ntiangong-lca process build-plan validate --input ./process-build-plan.json --out-dir ./process-build-plan --json\ntiangong-lca process build-plan materialize --input ./process-build-plan.json --out-dir ./process-build-plan --json\ntiangong-lca flow build-plan validate --input ./flow-build-plan.json --out-dir ./flow-build-plan --json\ntiangong-lca flow build-plan materialize --input ./flow-build-plan.json --out-dir ./flow-build-plan --json\n```\n\nThe minimum plan contract requires an automatic identity decision, EvidenceManifest sources and field bindings, name plan, and the relevant process reference-flow or flow-property fields. Plan-only materialization additionally requires an explicit canonical `classification_path`: continuous level `0..n` objects with exact locked `@classId`/`#text` for process and product/waste flow taxonomies, or `@catId`/`#text` for elementary flows. Label-only, missing, malformed, or taxonomy-spoofed classifications fail before artifact publication. Process materialization carries name, quantitative reference, exchange, source evidence, modelling, administrative, and annual supply/production fields from the plan into `processDataSet`; when annual volume source evidence is not explicit, Foundry-facing required-field completion uses the deterministic `9999 missing-data-sentinel/year` value so the schema-required field stays searchable for later database-side curation. Flow materialization carries name, flow type, reference property, source evidence, administrative, and classification fields into `flowDataSet`. `--report-only` keeps exit code `0` while still reporting blockers.\n\nKey outputs under `--out-dir`:\n\n- `outputs/build-plan-gate-report.json`\n- `outputs/materialized-process.json`\n- `outputs/materialized-flow.json`\n\n## Real DB Flow QA\n\n1. Search or otherwise collect exact flow refs.\n2. Materialize DB rows into local QA input.\n3. Run QA on the materialized rows.\n4. Materialize approved decisions into downstream artifacts.\n\n`flow fetch-rows` input:\n\n```json\n[\n  {\n    \"id\": \"7a285e9a-a9f6-4b86-ab17-6ea17367400c\",\n    \"version\": \"01.01.001\",\n    \"state_code\": 100,\n    \"cluster_id\": \"cluster-0001\",\n    \"source\": \"search-flow\"\n  }\n]\n```\n\n`flow materialize-decisions` input:\n\n```json\n[\n  {\n    \"cluster_id\": \"cluster-0001\",\n    \"decision\": \"merge_keep_one\",\n    \"canonical_flow\": {\n      \"id\": \"7a285e9a-a9f6-4b86-ab17-6ea17367400c\",\n      \"version\": \"01.01.001\"\n    },\n    \"flow_refs\": [\n      \"7a285e9a-a9f6-4b86-ab17-6ea17367400c@01.01.001\",\n      \"017acdd0-7fd7-44cb-a410-1d559e59c506@01.01.001\"\n    ],\n    \"reason\": \"approved_same_product_flow\"\n  }\n]\n```\n\nRun:\n\n```bash\ntiangong-lca flow fetch-rows \\\n  --refs-file ./flow-refs.json \\\n  --out-dir ./flow-fetch\n\ntiangong-lca qa flow \\\n  --rows-file ./flow-fetch/qa-input-rows.jsonl \\\n  --out-dir ./flow-qa\n\ntiangong-lca flow materialize-decisions \\\n  --decision-file ./approved-decisions.json \\\n  --flow-rows-file ./flow-fetch/qa-input-rows.jsonl \\\n  --out-dir ./flow-decisions\n```\n\nKey `flow fetch-rows` outputs:\n\n- `qa-input-rows.jsonl`\n- `fetch-summary.json`\n- `missing-flow-refs.jsonl`\n- `ambiguous-flow-refs.jsonl`\n\nKey `flow materialize-decisions` outputs:\n\n- `flow-dedup-canonical-map.json`\n- `flow-dedup-rewrite-plan.json`\n- `manual-semantic-merge-seed.current.json`\n- `decision-summary.json`\n- `blocked-clusters.json`\n\n## Other Common Commands\n\n```bash\ntiangong-lca process identity-preflight --input ./process-preflight.json --candidate-input /abs/path/to/process-candidates.jsonl --out-dir /abs/path/to/process-preflight --json\ntiangong-lca flow identity-preflight --input ./flow-preflight.json --candidate-input /abs/path/to/flow-catalog --out-dir /abs/path/to/flow-preflight --json\ntiangong-lca process identity-preflight --input ./process-preflight.json --remote-candidates --remote-limit 20 --out-dir /abs/path/to/process-preflight --json\ntiangong-lca process build-plan validate --input ./process-build-plan.json --out-dir /abs/path/to/process-build-plan --json\ntiangong-lca flow build-plan validate --input ./flow-build-plan.json --out-dir /abs/path/to/flow-build-plan --json\ntiangong-lca process auto-build --input ./examples/process-auto-build.request.json --out-dir /abs/path/to/process-run --json\ntiangong-lca process resume-build --run-dir /abs/path/to/process-run --json\ntiangong-lca process publish-build --run-dir /abs/path/to/process-run --json\ntiangong-lca process batch-build --input ./examples/process-batch-build.request.json --out-dir /abs/path/to/process-batch --json\ntiangong-lca dataset validate --input ./rows.jsonl --type auto --out-dir /abs/path/to/dataset-validate --json\ntiangong-lca dataset classification audit --type location --input ./rows/processes.jsonl --out-dir /abs/path/to/location-audit --json\ntiangong-lca dataset classification apply --type location --input ./rows/processes.jsonl --decisions ./location-decisions.jsonl --out ./rows/processes.located.jsonl --out-dir /abs/path/to/location-apply --json\ntiangong-lca dataset curation-queue build --processes ./rows/processes.jsonl --flows ./rows/flows.jsonl --support ./rows/sources.jsonl --out-dir /abs/path/to/curation-queue --json\ntiangong-lca dataset curation-queue next --queue-dir /abs/path/to/curation-queue --type support --json\ntiangong-lca dataset curation-queue verify --queue-dir /abs/path/to/curation-queue --type process --json\ntiangong-lca dataset import-lca convert --input ./external/simapro.csv --output-dir /abs/path/to/imported --from-format simapro-csv --target both --write-mapping --json\ntiangong-lca dataset save-draft --input ./rows.jsonl --type auto --execution-contract ./execution-contract.json --max-parallel 8 --out-dir /abs/path/to/dataset-save-draft --commit --json\ntiangong-lca dataset evidence-search plan --query \"中国2026年电力结构数据\" --out-dir /abs/path/to/evidence-search --json\ntiangong-lca dataset evidence-search run --input ./evidence-search.request.json --results ./search-results.json --out-dir /abs/path/to/evidence-search --json\ntiangong-lca dataset references rewrite --input ./rows.jsonl --from flow:<old-id>@<old-version> --to flow:<new-id>@<new-version> --out-dir /abs/path/to/dataset-rewrite --json\ntiangong-lca dataset maintenance plan --scope ./maintenance-scope.json --operation redo-import --out-dir /abs/path/to/dataset-maintenance --page-size 1000 --timeout-ms 10000 --json\ntiangong-lca dataset maintenance plan --scope ./derivative-rebuild-scope.json --operation rebuild-derivatives --out-dir /abs/path/to/derivative-rebuild --json\ntiangong-lca dataset maintenance apply --plan /abs/path/to/dataset-maintenance/maintenance-plan.json --commit --approve-plan <sha256> --confirm <current-account-email> --timeout-ms 10000 --json\ntiangong-lca dataset maintenance apply --plan /abs/path/to/flow-delete-maintenance/maintenance-plan.json --commit --approve-plan <sha256> --confirm <current-account-email> --max-parallel 8 --timeout-ms 10000 --json\ntiangong-lca dataset maintenance verify --plan /abs/path/to/dataset-maintenance/maintenance-plan.json --out-dir /abs/path/to/dataset-maintenance/verify --page-size 1000 --timeout-ms 10000 --json\ntiangong-lca dataset maintenance run-protected --plan /abs/path/to/maintenance-plan.json --freeze /abs/path/to/protected-execution-freeze.json --approval /abs/path/to/protected-approval.json --out-dir /abs/path/to/protected-run --status-only --json\ntiangong-lca lifecyclemodel auto-build --input ./examples/lifecyclemodel-auto-build.request.json --out-dir /abs/path/to/lifecyclemodel-run --json\ntiangong-lca lifecyclemodel validate-build --run-dir /abs/path/to/lifecyclemodel-run --json\ntiangong-lca lifecyclemodel publish-build --run-dir /abs/path/to/lifecyclemodel-run --json\ntiangong-lca lifecyclemodel save-draft --input ./lifecyclemodels.jsonl --out-dir /abs/path/to/lifecyclemodel-save-draft --dry-run --json\ntiangong-lca lifecyclemodel graph --input ./lifecyclemodels.jsonl --out-dir /abs/path/to/lifecyclemodel-graph --format all --json\ntiangong-lca lifecyclemodel orchestrate plan --input ./lifecyclemodel-orchestrate.request.json --out-dir /abs/path/to/lifecyclemodel-recursive-run --json\ntiangong-lca qa process --rows-file ./process-list-report.json --out-dir ./process-qa\ntiangong-lca qa process --run-root /abs/path/to/process-run --run-id <run_id> --out-dir ./process-qa\ntiangong-lca process save-draft --input ./patched-processes.jsonl --out-dir /abs/path/to/process-save-draft --dry-run --json\ntiangong-lca process save-draft --input ./patched-processes.jsonl --out-dir /abs/path/to/process-save-draft --commit --target-user-id <user-id> --json\ntiangong-lca flow publish-version --input-file ./ready-flows.jsonl --out-dir /abs/path/to/flow-publish --dry-run --json\ntiangong-lca flow publish-reviewed-data --flow-rows-file ./reviewed-flows.jsonl --out-dir /abs/path/to/reviewed-publish --dry-run --json\ntiangong-lca publish run --input ./publish-request.json --dry-run\ntiangong-lca doctor --json\n```\n\nFor `publish run`, relative `out_dir` values from either the request body or `--out-dir` are resolved against the request file directory, not the shell `cwd`. Use an absolute path when you want a fixed destination independent of the request file location.\n\nFor `qa process`, `--rows-file` accepts either raw process rows as JSON/JSONL or the full JSON report emitted by `tiangong-lca process list --json`, as long as it contains a `rows` array.\n\nFor `process identity-preflight` and `flow identity-preflight`, canonical TIDAS wrappers are schema-checked when present. Loose target objects are accepted for early planning and produce `schema_validation.status: \"not_applicable\"` until materialization. Candidate rows can be embedded in the request, loaded from repeatable `--candidate-input` local files/directories, or fetched through explicit `--remote-candidates` hybrid search; `identity-candidate-sources.json` records scanned files, remote endpoints, queries, filters, edge-search options, and row counts. The remote Edge Function receives only search-safe query/options fields; local-only `profile_hints` stay in the preflight target profile and candidate scoring evidence.\n\nFor `process build-plan` and `flow build-plan`, canonical payloads embedded in the plan are schema-checked during `materialize`. Plan-only materialization creates deterministic canonical `processDataSet` / `flowDataSet` wrappers, requires an explicit canonical locked-taxonomy `classification_path`, and validates the result with the TIDAS SDK before reporting `passed`; it never invents taxonomy ids from free-form labels.\n\nFor `process save-draft`, canonical process payloads are validated locally with `ProcessSchema` before any `--commit` write. Schema-invalid rows remain in `outputs/save-draft-rpc/failures.jsonl` instead of being persisted. Batch import callers should pass `--target-user-id`; the CLI then verifies the current auth session and any visible draft owner before writing, while downstream readback verification still proves the final owner and payload.\n\nFor `dataset save-draft --execution-contract`, the JSON contract uses schema `dataset-save-draft-execution-contract.v1` and supplies `execution_id`, `project_ref`, an exact owner (`user_id`, lowercase `email`, `state_code: 0`), and ordered actions. Each action binds `action_id`, `desired_sha256`, `expected_operation` (`insert` or `save_draft`), table/id/version, `before_sha256`, and earlier `dependency_action_ids`. Contract mode requires `--commit`; account-local Unit Group or Flow Property support rows additionally require `--allow-account-local-support`. `--max-parallel` defaults to 1 and is capped at 8. Every action through the highest referenced dependency remains on the existing serial path; only the later table/id/version-unique suffix delegates claims and fatal-stop coordination to the public batch engine. `executeAction` still exclusively owns PREPARED evidence, exact before-state checks, token renewal, dispatch, durable attempts, readback, and no-replay decisions, so report bytes and input ordering do not change. Attempts and outcomes are stored under the platform user-state directory (`$XDG_STATE_HOME/tiangong-lca-cli` when configured), not beside the contract or report. Any prior terminal or unresolved attempt is read back or retained without re-dispatch; exit status is nonzero unless every action has exact terminal success.\n\nFor `dataset maintenance apply`, explicitly passing `--max-parallel 1..8` opts into the destructive flow-convergence profile. It accepts only a non-empty, unique-target, flow delete-only plan whose current and projected reference impacts are both zero. Before dispatch it completes a fresh SELECT-only scan of every process visible to the owner session and rejects any inbound edge. For a separately governed all-process check, pair `--global-inbound-proof /absolute/proof.json` with `--approve-global-inbound-proof <sha256>`; the proof must be fresh, SELECT-only, complete, zero-inbound, and bound to the exact project, actor, plan, and ordered target set, and it is validated before the live scan is skipped. The CLI never runs raw SQL. Each action writes append-only `PREPARED` and `DISPATCHED` evidence before its protected owner-session RPC, then records `COMMITTED` only after exact absent readback. An ambiguous action is read back, marked `UNKNOWN`, and never replayed automatically; independent actions continue. Omit `--max-parallel` to retain ordinary maintenance apply behavior.\n\nFor `flow publish-version`, canonical flow payloads are validated locally with `FlowSchema` before remote visibility planning or writes. The command always writes `flow-publish-version-gate-report.json`; blocked rows are written to the remote-failure JSONL without calling the remote service.\n\nFor `process publish-build`, canonical process payloads are validated locally with `ProcessSchema` before publish handoff artifacts are written. The gate report is `reports/process-publish-schema-gate.json`.\n\nFor `publish run`, `verification-report.json` is written next to `publish-report.json` and summarizes the publish ruleset status, blockers, failed entries, deferred entries, and executed entries.\n\nFor `lifecyclemodel save-draft`, canonical lifecyclemodel payloads are validated locally with `LifeCycleModelSchema` before any `--commit` write. Schema-invalid rows remain in `outputs/save-draft-bundle/failures.jsonl` instead of being persisted.\n\nFor `dataset evidence-search`, `plan` creates the field-level query matrix and search budget. `run` accepts normalized external search results from browser/web-search tools or a generic JSON provider endpoint, then writes `outputs/evidence-search-plan.json`, `outputs/evidence-search-results.jsonl`, `outputs/evidence-search-report.json`, and `outputs/evidence-search-declaration.json` when evidence is absent or only partial. The CLI records scope and normalization; Codex/skills still own semantic judgement and source selection.\n\nFor `dataset validate`, `--type auto` supports mixed support scopes containing contact/source/unitgroup/flowproperty rows as well as flow/process/lifecyclemodel rows. For `dataset classification`, `children` and `path` navigate the bundled TIDAS category schemas copied from `tidas-tools`. `audit --type location` scans local rows for schema-derived location-code fields, plus TIDAS LCIA geography and lifecyclemodel connection location fields, whose values are not in `tidas_locations_category.json`; `apply --type location` applies structured decisions to a specific `target_path` when a row has multiple location fields. When `target_path` explicitly points at a schema-derived location field such as `flowDataSet.flowInformation.geography.locationOfSupply`, location apply may create the missing parent object and field; ambiguous or non-location paths still block.\n\nFor `dataset curation-queue build/next/verify`, the CLI owns entity-level Foundry import queue state. `build` writes `outputs/curation-queue-manifest.json`, `outputs/curation-queue-tasks.jsonl`, `outputs/curation-queue-locks.json`, `outputs/curation-queue-blockers.jsonl`, and per-entity `input.jsonl`, `closure.json`, and `entity-run-plan.json`. `next` returns one runnable support/flow/process task based on checkpoint state. `verify` passes only when scoped checkpoints are complete and build blockers are absent. AI authoring must return structured patches or build plans, and remote writes remain gated by deterministic apply, schema/QA, prewrite verify, and readback.\n\nFor `dataset import-lca convert`, the CLI delegates all format detection, conversion, validation, bounded spooling, cancellation, and atomic publication to unified Rust `tidas import`; it does not reproduce import logic in TypeScript. Binary selection is `--tidas-bin`, then `TIDAS_BIN`, then `tidas` on PATH. Optional `--tidas-config` maps to native `--config`. Every run first requires a successful `tidas version --format json --progress never` handshake with `tidas.operation-report.v1` and a stable `0.2.x` binary version, then validates the native `tidas.import-execution-report.v1` summary and exact exit-class/code mapping. Native controls include explicit or automatic source format, target, mapping output, process-bundle disablement, warning failure, maximum entry size, memory budget, and queue capacity. The supported release matrix is Linux x86_64/ARM64, macOS Apple Silicon (arm64), and Windows x86_64; Windows ARM64 is unsupported. The npm package includes `assets/import-smoke/simapro.csv` for clean-machine proof but does not bundle a platform binary or require Python.\n\nFor `dataset references rewrite`, `--commit` executes the state-aware save-draft path for patched process and lifecyclemodel rows; without `--commit`, the command only writes local rewrite artifacts.\n\n## Dataset Maintenance\n\n`dataset maintenance plan/apply/freeze-protected/seal-protected-approval/run-protected/verify` is the row-level cleanup surface for bad imports, the fixed BAFU private alias rewrite, and protected derivative rebuilds. Ordinary planning, apply, and independent verification use the authenticated account and RLS. Protected freeze preparation reads the live production owner-draft scope directly with no Dev data replay, while approval sealing is offline. The protected executor is server-dispatched and additionally enforces the sealed actor, user_id, state_code=0, exact target set, and closure hashes on every write.\n\n```bash\ntiangong-lca dataset maintenance plan \\\n  --scope ./maintenance-scope.json \\\n  --operation repair-references \\\n  --out-dir ./dataset-maintenance \\\n  --page-size 1000 \\\n  --timeout-ms 10000 \\\n  --json\n\ntiangong-lca dataset maintenance apply \\\n  --plan ./dataset-maintenance/maintenance-plan.json \\\n  --commit \\\n  --approve-plan <sha256> \\\n  --confirm <current-account-email> \\\n  --timeout-ms 10000 \\\n  --json\n\ntiangong-lca dataset maintenance verify \\\n  --plan ./dataset-maintenance/maintenance-plan.json \\\n  --out-dir ./dataset-maintenance/verify \\\n  --page-size 1000 \\\n  --timeout-ms 10000 \\\n  --json\n\ntiangong-lca dataset maintenance freeze-protected \\\n  --plan ./protected-step2/maintenance-plan.json \\\n  --toolchain-evidence ./protected-step2/toolchain-evidence.json \\\n  --expected-project-ref <production-project-ref> \\\n  --confirm <current-account-email> \\\n  --out-dir ./protected-step2/freeze \\\n  --page-size 1000 \\\n  --timeout-ms 10000 \\\n  --json\n\n# After a human returns protected-approval-request.txt byte-for-byte as human-approval.txt:\ntiangong-lca dataset maintenance seal-protected-approval \\\n  --freeze ./protected-step2/freeze/protected-execution-freeze.json \\\n  --approval-request ./protected-step2/freeze/protected-approval-request.json \\\n  --human-approval ./protected-step2/human-approval.txt \\\n  --approve-freeze-file <freeze-file-sha256> \\\n  --approve-request <approval-request-sha256> \\\n  --approve-text <approval-text-sha256> \\\n  --confirm <current-account-email> \\\n  --approved-at <approved-at-utc-from-request> \\\n  --out-dir ./protected-step2/approval \\\n  --json\n\ntiangong-lca dataset maintenance run-protected \\\n  --plan ./protected-step2/maintenance-plan.json \\\n  --freeze ./protected-step2/freeze/protected-execution-freeze.json \\\n  --approval ./protected-step2/approval/protected-approval.json \\\n  --out-dir ./protected-step2/run \\\n  --commit \\\n  --approve-execution <approved-execution-sha256> \\\n  --confirm <current-account-email> \\\n  --wait-seconds 60 \\\n  --poll-ms 10000 \\\n  --page-size 1000 \\\n  --timeout-ms 10000 \\\n  --json\n\ntiangong-lca dataset maintenance run-protected \\\n  --plan ./protected-step2/maintenance-plan.json \\\n  --freeze ./protected-step2/freeze/protected-execution-freeze.json \\\n  --approval ./protected-step2/approval/protected-approval.json \\\n  --out-dir ./protected-step2/run \\\n  --status-only \\\n  --wait-seconds 60 \\\n  --json\n```\n\n`run-protected` is a separate one-shot path for an already reviewed and sealed production execution; it does not replace ordinary planning. Both modes require the exact plan, freeze artifact, approval artifact, and private output directory. Commit mode additionally requires `--commit`, the exact approved execution identity through `--approve-execution`, and the authenticated account email through `--confirm`. `--status-only` is mutually exclusive with `--commit` and performs no preflight or admission.\n\n`freeze-protected` is the only supported generator for this fixed protected profile. Its toolchain evidence must be canonical JSON with schema `dataset-alias-protected-toolchain-evidence.v1`, production project ref, released-and-read-back database commit/evidence, the currently running published CLI version/commit/evidence, and the merged root-workspace integration commit/Issue. The fixed BAFU profile also has a compiled production project allowlist; the CLI rejects a Dev or arbitrary project even if the operator supplies matching flag/evidence values. The command verifies the exact 52 actions, two batches, six support snapshots, projected reference closure, and stable 23-flow + 27-process derivative snapshots; every derivative snapshot must have the same primary-row `modified_at` as the immediately preceding complete account census. It writes the entire private immutable alias-request, full baseline, freeze, unapproved request JSON/TXT, and final report into a sibling staging directory and atomically exposes the new output directory only after every file succeeds; preflight, gate, admission, mutation, and approval-artifact counts are all zero.\n\n`seal-protected-approval` receives no environment or HTTP client. The freeze command puts one canonical approval-authority `approved_at_utc` into the request JSON, request hash, and human-visible approval text before review; seal requires `--approved-at` to equal that already approved value. The same text therefore cannot be resealed with another timestamp to mint a second database admission identity. The seal report records its actual generation time separately from this pre-authorized identity timestamp. Both commands hash raw file bytes, reject invalid UTF-8, publish their completed output directories atomically, and reject non-canonical freeze/request files, any changed whitespace or final newline, mismatched explicit hash/account/time bindings, and all three superseded historical Step-2 plan identities. Commit-mode `run-protected` rejects the same historical identities, so an old freeze/approval cannot bypass the fresh preparation chain; status-only remains read-only and available for recovery. Seal writes the canonical approval plus a local report, but does not submit execution. Human approval, sealing, and later execution remain separate events.\n\nBefore requesting preflight, the command validates the sealed production project, full current-user RLS before-state, support closure, and exact derivative baseline. The server then returns the three expected gate digests and a token valid for at most 180 seconds; the CLI captures and compares the live gate receipts before admission. The server-dispatched write remains fenced to the authenticated actor's exact `user_id`, `state_code=0` rows and sealed plan/closure; independent readback still uses RLS. The CLI writes an immutable local submission marker and sends at most one admission POST. A marker, admission timeout, connection loss, or ambiguous admission response permanently switches that local run to status-only recovery; status-read failures may be polled only within the configured wait window and never cause a second admission or fallback to dev or the legacy whole-plan RPC. The default status polling interval is 10 seconds.\n\nSuccess requires the terminal database proof and independent RLS readback to agree on the approved execution, exact row/exchange/audit closure, and exactly 50 derivative targets split into 23 flows and 27 processes. `pending`, `failed`, and `indeterminate` all return a non-zero exit status. The protected operation keeps all affected rows private to their owner, changes no `state_code`, and does not publish data.\n\nFor the derivative-only profile, use the same three commands with `--operation rebuild-derivatives`. Its scope must contain exactly one `processes` action with `action: \"rebuild_derivatives\"`, `target_mode: \"owner_draft\"`, expected current owner, expected `state_code: 0`, and the exact component set `extracted_md` plus `embedding_ft`.\n\n`--page-size` accepts `1-5000` and is only the requested maximum. PostgREST may enforce a lower server-side cap. The CLI requests `Prefer: count=exact`, validates the exact total and returned range from each `Content-Range`, advances the next offset by the number of rows actually returned, and requires strict `id`/`version` ordering without missing or duplicate identities. Each accepted scan records per-table requested/effective page size, page count, rows fetched, exact total, and aggregate entity counts.\n\nThis completeness proof means the CLI traversed the filtered result while that table's membership and ordering keys remained stable. Because the tables are read through multiple HTTP requests, it is not a transaction-level or MVCC snapshot of one instant; same-cardinality delete/insert churn can evade total and ordering checks. Plan hashes and apply-time drift checks provide the later mutation guard, and operators must avoid concurrent maintenance of the same account while planning or clearing it.\n\nThe scope is intentionally narrow:\n\n- Each requested row must name its table, exact `id`, exact `version`, expected current owner, and draft `state_code=0` state.\n- `--operation` accepts `delete`, `retire`, `redo-import`, `repair-references`, `merge-support-aliases`, or `rebuild-derivatives`; it records the operator's maintenance intent and does not broaden the eligible row actions.\n- Only current-user `contacts`, `sources`, `flows`, and `processes` can become `save_draft` or `delete` actions.\n- `merge-support-aliases` requires top-level `target_mode: \"owner_draft\"` and accepts only two named batches, `time` and `length_time`. The scope must bind reviewed current-owner draft source and target FP/UG exact ids/versions to 52 `update_json_ordered` actions: 25 time rows (1 FP, 10 flows, 14 processes) and 27 length-time rows (1 FP, 13 flows, 13 processes). Process actions freeze every selected exchange index, internal id, flow id/version, direction, before hash, and both amount strings.\n- The alias factors are exact decimal strings: `0.00011415525114155251` for time and `1000` for length-time. Planning requires exactly 20 and 39 selected exchanges, preserves exactly 309 other exchanges in the affected processes, and proves the fixed source-zero/target-reference postconditions. The transformation changes references and the selected `meanAmount`/`resultingAmount`; it does not delete the source FP/UG rows.\n- Source alias support, target FP/UG, and every changed flow/process must all belong to the authenticated account at `state_code=0`. Public/shared, foreign-owner, mixed-visibility, non-draft, lifecyclemodel, and unsupported action/table rows remain protected.\n- `rebuild-derivatives` accepts exactly one exact-version `processes` row and is bidirectionally bound to `action=rebuild_derivatives`, `target_mode=owner_draft`, and components `extracted_md` plus `embedding_ft`. It cannot target a public/shared row, a foreign owner, a non-draft row, another table, multiple actions, or a partial/different component set. It rebuilds derivatives only; the primary process payload, owner/state, and `modified_at` remain unchanged.\n- The CLI classifies and executes an operator-authored scope; it does not decide whether rows are semantically duplicates, canonical replacements, or safe business-level cleanup targets.\n\n`plan` accepts the account scan only after its exact-count proof is complete, then writes the frozen `maintenance-scope.json`, `rls-visible-snapshot.json`, `protected-rows.jsonl`, `reference-impact-report.json`, `maintenance-plan.json`, and `dry-run-report.json`. The snapshot, dry-run report, and newly generated plan carry the aggregate completeness proof, so it is bound into the plan SHA-256. Alias plans additionally write `exchange-rewrite-plan.jsonl`, freeze current-owner state-0 target FP, target UG, and source UG snapshots for each batch, derive schema-valid desired payloads with matching embedded UUID/version, and include the exact closure, `modified_at`, hashes, conversion evidence, and postconditions in the approved plan. A derivative rebuild plan additionally obtains a database-produced snapshot for only the exact target action and binds its primary and derivative preconditions into the plan; large markdown/vector fields are not added to the account-wide scan. The plan SHA-256 is the approval identity; do not edit or recompute the plan after review.\n\n`apply` is write-disabled unless all three commit guards are present: `--commit`, `--approve-plan <sha256>`, and `--confirm <current-account-ema","readmeFilename":""}