{"_id":"@effiprint-nomi/auto-nomi-cli","_rev":"6-b42eabf4805e0cb3f99d3272ed9badca","name":"@effiprint-nomi/auto-nomi-cli","dist-tags":{"latest":"0.3.3"},"versions":{"0.1.0":{"name":"@effiprint-nomi/auto-nomi-cli","version":"0.1.0","_id":"@effiprint-nomi/auto-nomi-cli@0.1.0","maintainers":[{"name":"jamie026","email":"chen0026@gmail.com"}],"bin":{"auto-nomi":"dist/bin.js"},"dist":{"shasum":"352d861e0feacd6f2b85824d254200b18403579a","tarball":"https://registry.npmjs.org/@effiprint-nomi/auto-nomi-cli/-/auto-nomi-cli-0.1.0.tgz","fileCount":10,"integrity":"sha512-Zitom5kSpw1H1FTutHSKBwxiXgbw3k4107xwwTXANVIFTnMbF1fnpLYRgdunxQicqZn7lv/ZrfeGLyVXPPmNVg==","signatures":[{"sig":"MEYCIQC6X4G+KzOhz133yEFTMIZMf2KDhF2qiUOPg7UVuvWeCgIhAKC2GyWJInGeU42Fe3gx1SIQfDEuIz6YaQUJmyZjlTeS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28222},"type":"module","engines":{"node":">=20"},"gitHead":"5c84427f89392b835600938daf1d9069ec79cf25","scripts":{"test":"node --test dist/tests/*.test.js","build":"tsc -p tsconfig.json && node -e \"require('node:fs').chmodSync('dist/bin.js', 0o755)\"","prepack":"npm run build","type-check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"jamie026","email":"chen0026@gmail.com"},"_npmVersion":"11.13.0","description":"Auto Nomi Developer API command-line tool","directories":{},"_nodeVersion":"24.16.0","dependencies":{"open":"^11.0.0","@effiprint-nomi/auto-nomi-sdk":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/auto-nomi-cli_0.1.0_1786953040230_0.0036242376943316224","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@effiprint-nomi/auto-nomi-cli","version":"0.2.0","_id":"@effiprint-nomi/auto-nomi-cli@0.2.0","maintainers":[{"name":"jamie026","email":"chen0026@gmail.com"}],"bin":{"auto-nomi":"dist/bin.js"},"dist":{"shasum":"5a5ee0fa3900b0d359ef2896bf6b2e718dc5800b","tarball":"https://registry.npmjs.org/@effiprint-nomi/auto-nomi-cli/-/auto-nomi-cli-0.2.0.tgz","fileCount":10,"integrity":"sha512-CUH9eRUBA2shlVsknlCzFD/1RE4iCeRSOJh/PGLQZo1D9FqW+YpQtAZ80QpkXJzmuDR0qo0pLJ15ctNVFPFQBA==","signatures":[{"sig":"MEQCIARS95RW2D3f6a2iOED6n8tTlKLZ8r1UsF5k6tikFClyAiA+3fDhk4vuCpCZLo5W6jH5FVQXmloP6NTgU/Pjeur24A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42467},"type":"module","engines":{"node":">=20"},"gitHead":"b247b1a7aed849b7a2da23ab23dc6f23b7b0ca72","scripts":{"test":"node --test dist/tests/*.test.js","build":"tsc -p tsconfig.json && node -e \"require('node:fs').chmodSync('dist/bin.js', 0o755)\"","prepack":"npm run build","type-check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"jamie026","email":"chen0026@gmail.com"},"_npmVersion":"11.13.0","description":"Auto Nomi Developer API command-line tool","directories":{},"_nodeVersion":"24.16.0","dependencies":{"open":"^11.0.0","@effiprint-nomi/auto-nomi-sdk":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/auto-nomi-cli_0.2.0_1787015362535_0.05391002169076842","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@effiprint-nomi/auto-nomi-cli","version":"0.3.0","_id":"@effiprint-nomi/auto-nomi-cli@0.3.0","maintainers":[{"name":"jamie026","email":"chen0026@gmail.com"}],"bin":{"auto-nomi":"dist/bin.js"},"dist":{"shasum":"5de3b0d96b7ae6493930ddee0b7279b1c933554b","tarball":"https://registry.npmjs.org/@effiprint-nomi/auto-nomi-cli/-/auto-nomi-cli-0.3.0.tgz","fileCount":12,"integrity":"sha512-GT/173WrjVXA4JX8xFrKgISSDn+Q+52lJBgb1QiotIliisoXXFvzjUQQ/Hucp1qGY2LMcgkz6igunbiX+/ngvw==","signatures":[{"sig":"MEQCIFEhgf5UiAviYZXOLV3d6BvIktcZsCJuJlHB3n/9kyo9AiAXB1f86i2L7qhy9ZT02nMa9VuYCirvLRXP13NUexYRBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70685},"type":"module","engines":{"node":">=20"},"gitHead":"fe99e0af699635f6d1209983c85b81a437d63688","scripts":{"test":"node --test dist/tests/*.test.js","build":"tsc -p tsconfig.json && node -e \"require('node:fs').chmodSync('dist/bin.js', 0o755)\"","prepack":"npm run build","type-check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"jamie026","email":"chen0026@gmail.com"},"_npmVersion":"11.13.0","description":"Auto Nomi Developer API command-line tool","directories":{},"_nodeVersion":"24.16.0","dependencies":{"open":"^11.0.0","@effiprint-nomi/auto-nomi-sdk":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/auto-nomi-cli_0.3.0_1787100456671_0.9949763733125241","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@effiprint-nomi/auto-nomi-cli","version":"0.3.1","_id":"@effiprint-nomi/auto-nomi-cli@0.3.1","maintainers":[{"name":"jamie026","email":"chen0026@gmail.com"}],"bin":{"auto-nomi":"dist/bin.js"},"dist":{"shasum":"8e87b0f5fad3f386589a0c77e20faf37d12fda9d","tarball":"https://registry.npmjs.org/@effiprint-nomi/auto-nomi-cli/-/auto-nomi-cli-0.3.1.tgz","fileCount":12,"integrity":"sha512-IjYjAB0yqEgu7/r5iUPCv29Mc2EBNx9hpkG9WGsgPgZPrGaViimZbIMl2z5QUVLCtHzlqEvVMANhF2bsft5iww==","signatures":[{"sig":"MEUCIQCMDNixo0vBUsoOfKtoiyAb6GloUiVdwCbFaW+AAAYDpQIgdCjR+Ux2E2/s+/bVqp3oWefZwzn3RLgrDHgJGbmbfH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70714},"type":"module","engines":{"node":">=20"},"gitHead":"2389af84896620544eaf51b54ac317f4dec52cf3","scripts":{"test":"node --test dist/tests/*.test.js","build":"tsc -p tsconfig.json && node -e \"require('node:fs').chmodSync('dist/bin.js', 0o755)\"","prepack":"npm run build","type-check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"jamie026","email":"chen0026@gmail.com"},"_npmVersion":"11.13.0","description":"Auto Nomi Developer API command-line tool","directories":{},"_nodeVersion":"24.16.0","dependencies":{"open":"^11.0.0","@effiprint-nomi/auto-nomi-sdk":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/auto-nomi-cli_0.3.1_1787623546025_0.623338425378853","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@effiprint-nomi/auto-nomi-cli","version":"0.3.2","_id":"@effiprint-nomi/auto-nomi-cli@0.3.2","maintainers":[{"name":"jamie026","email":"chen0026@gmail.com"}],"bin":{"auto-nomi":"dist/bin.js"},"dist":{"shasum":"75c35e7334d3b89235359b28a4ffb8b4d38d6ec6","tarball":"https://registry.npmjs.org/@effiprint-nomi/auto-nomi-cli/-/auto-nomi-cli-0.3.2.tgz","fileCount":12,"integrity":"sha512-tnzrox9M73/SJ8/nMr9Css/7Pzk1WFm2QFAjEPe3PgdSuepUn9SWxQEecT1koYK5mI2Z0nJJP3psogY5WGZN3g==","signatures":[{"sig":"MEQCIEMpUhZKOvBbgRGtBEHB+P6wtMexQ3UF8utsKVjxnBNiAiB0T00/j0QuI4i8hM4fk287ebH718VQw5zxUxownb4njA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70732},"type":"module","engines":{"node":">=20"},"gitHead":"2389af84896620544eaf51b54ac317f4dec52cf3","scripts":{"test":"node --test dist/tests/*.test.js","build":"tsc -p tsconfig.json && node -e \"require('node:fs').chmodSync('dist/bin.js', 0o755)\"","prepack":"npm run build","type-check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"jamie026","email":"chen0026@gmail.com"},"_npmVersion":"11.13.0","description":"Auto Nomi Developer API command-line tool","directories":{},"_nodeVersion":"24.16.0","dependencies":{"open":"^11.0.0","@effiprint-nomi/auto-nomi-sdk":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/auto-nomi-cli_0.3.2_1787624976116_0.7832941097317345","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@effiprint-nomi/auto-nomi-cli","version":"0.3.3","description":"Auto Nomi Developer API command-line tool","type":"module","bin":{"auto-nomi":"dist/bin.js"},"scripts":{"build":"tsc -p tsconfig.json && node -e \"require('node:fs').chmodSync('dist/bin.js', 0o755)\"","type-check":"tsc -p tsconfig.json --noEmit","test":"node --test dist/tests/*.test.js","prepack":"npm run build"},"engines":{"node":">=20"},"dependencies":{"@effiprint-nomi/auto-nomi-sdk":"0.2.2","open":"^11.0.0"},"publishConfig":{"access":"public"},"gitHead":"2389af84896620544eaf51b54ac317f4dec52cf3","_id":"@effiprint-nomi/auto-nomi-cli@0.3.3","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-xvMEYNTMh4COseyVaef4WFWKtamUgfwqXH0s+lPWveNnDC1HF2nqlbE5pE/+2gWlJAqIG2l7e1lS9BW8KRC+/A==","shasum":"9818caf0c76da1e3047a2ec9eb1b329f0c5ffce5","tarball":"https://registry.npmjs.org/@effiprint-nomi/auto-nomi-cli/-/auto-nomi-cli-0.3.3.tgz","fileCount":12,"unpackedSize":71769,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDfvceaBH/Pa4DtCXvvTrv2BAEQyqFYLiK2xu8sUAhvJAiBKT6TvsOJxnbHTYvlv03A3HJQu+MNC8xheW4SkhG2PrQ=="}]},"_npmUser":{"name":"jamie026","email":"chen0026@gmail.com"},"directories":{},"maintainers":[{"name":"jamie026","email":"chen0026@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/auto-nomi-cli_0.3.3_1787625571348_0.959613123281591"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-17T07:50:40.000Z","modified":"2026-08-25T02:39:31.668Z","0.1.0":"2026-08-17T07:50:40.385Z","0.2.0":"2026-08-18T01:09:22.692Z","0.3.0":"2026-08-19T00:47:36.827Z","0.3.1":"2026-08-25T02:05:46.177Z","0.3.2":"2026-08-25T02:29:36.262Z","0.3.3":"2026-08-25T02:39:31.495Z"},"description":"Auto Nomi Developer API command-line tool","maintainers":[{"name":"jamie026","email":"chen0026@gmail.com"}],"readme":"# @effiprint-nomi/auto-nomi-cli\n\nAuto Nomi Developer API 命令行工具。Node.js 版本要求为 20 或更高。\n\n```bash\nnpm config set @effiprint-nomi:registry https://registry.npmjs.org/\nnpm install -g @effiprint-nomi/auto-nomi-cli\n\nauto-nomi auth login \\\n  --web-url https://wh.indexcb.com/developer-api \\\n  --profile prod\n\nauto-nomi auth whoami --profile prod\nauto-nomi auth logout --profile prod\n```\n\n`@effiprint-nomi` 的包使用 npm 官方 registry。若安装日志访问\n`cdn.npmmirror.com` 并返回 `404`，说明镜像尚未同步；上述 scope 配置只影响\n`@effiprint-nomi`，不会改变其他 npm 包使用的 registry。\n\n登录命令会在终端显示 8 位 JCode 并打开浏览器。浏览器 URL 只包含 session ID；开发人员使用 Auto Nomi 独立账号登录后，手动输入终端中的 JCode。新用户先在该页面使用管理员生成的邀请码注册。\n\n如果当前终端不适合持续等待：\n\n```bash\nauto-nomi auth login \\\n  --web-url https://wh.indexcb.com/developer-api \\\n  --profile prod \\\n  --no-wait\n\nauto-nomi auth login finish --profile prod\n```\n\n## 查询开放数据表\n\n查询能力只访问管理员已全局启用并分配给当前账号的安全资源。CLI 支持本地受限 SQL，\n但不会把原始 SQL 发送给服务端或数据库。查看当前开放资源：\n\n```bash\nauto-nomi tables list --profile prod\nauto-nomi tables describe sla_node_status --profile prod\n```\n\n按允许字段执行简单等值过滤：\n\n```bash\nauto-nomi tables query sla_node_status \\\n  --where entity_type=workorder \\\n  --where entity_id=EF260817000001 \\\n  --limit 20 \\\n  --profile prod\n```\n\n响应中的 `has_more=true` 时，将 `next_before_id` 传入下一页：\n\n```bash\nauto-nomi tables query sla_node_status \\\n  --before-id 12345 \\\n  --limit 20 \\\n  --profile prod\n```\n\n复杂查询写入 JSON 文件，例如 `sla-query.json`：\n\n```json\n{\n  \"select\": [\"id\", \"entity_type\", \"entity_id\", \"sla_status\", \"started_at\"],\n  \"where\": {\n    \"and\": [\n      {\"field\": \"entity_type\", \"op\": \"in\", \"value\": [\"order\", \"workorder\"]},\n      {\n        \"or\": [\n          {\"field\": \"sla_status\", \"op\": \"in\", \"value\": [1, 2]},\n          {\"field\": \"started_at\", \"op\": \"between\", \"value\": [1785513600, 1788191999]}\n        ]\n      }\n    ]\n  },\n  \"limit\": 50\n}\n```\n\n```bash\nauto-nomi tables query sla_node_status \\\n  --query-file ./sla-query.json \\\n  --profile prod\n```\n\n`--query-file` 不能与 `--where`、`--limit` 或 `--before-id` 混用。查询树最多嵌套\n3 层、最多 20 个条件，单个 `in` 最多 100 个值；选择字段时必须包含 `id`，用于稳定\n分页。具体字段允许的操作符以 `tables describe` 返回结果为准。\n\n单次最多返回 100 行，固定按 `id DESC` 排序。管理员可以从独立查询账号已获得列级\n`SELECT` 的安全目录中勾选全局资源，再按邀请码或账号分配；CLI 不能自行扩大权限。\n\nCLI `0.3.3` 起自动使用 `node --tls-max-v1.2` 启动实际命令，以兼容当前\n`wh.indexcb.com` CDN 在部分 Node.js 机器上的 TLS 握手行为；使用者不需要设置\n`NODE_OPTIONS=--tls-max-v1.2`。证书校验保持开启。\n\n## 使用受限 SQL 查询\n\n日常查询推荐使用 SQL 入口：\n\n```bash\nauto-nomi sql \\\n  \"SELECT id, entity_id, sla_status FROM sla_node_status WHERE sla_status IN (1, 2) AND id > 100 ORDER BY id DESC LIMIT 20\" \\\n  --profile prod\n```\n\n多行查询可以保存为 `query.sql`：\n\n```sql\nSELECT id, entity_type, entity_id, sla_status\nFROM sla_node_status\nWHERE entity_type = 'workorder'\n  AND (sla_status IN (1, 2) OR completed_at IS NULL)\nORDER BY id DESC\nLIMIT 20;\n```\n\n```bash\nauto-nomi sql --file ./query.sql --profile prod\n```\n\n也可以通过标准输入传入：\n\n```bash\nprintf '%s\\n' \"SELECT * FROM sla_node_status LIMIT 20\" |\n  auto-nomi sql --profile prod\n```\n\n当前支持 `SELECT`、单表 `FROM`、括号、`AND`、`OR`、`=`、`!=`、`<>`、`>`、\n`>=`、`<`、`<=`、`IN`、`BETWEEN`、`IS NULL`、`ORDER BY id DESC` 和 1 至 100\n的 `LIMIT`。显式选择字段时必须包含 `id`；`SELECT *` 只返回服务端允许的字段。\n\n不支持多语句、注释、别名、JOIN、子查询、函数、聚合、`OFFSET`、写入语句或数据库\n管理语句。SQL 会在本地转换成现有结构化查询协议，最终表、字段、操作符和账号权限仍由\nDeveloper API 校验。\n","readmeFilename":"README.md"}