{"_id":"@anyloop/adant-cli","_rev":"3-4798b92815e3151e847966f19fa494e1","name":"@anyloop/adant-cli","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@anyloop/adant-cli","version":"0.1.0","keywords":["anyt-ads","adant","cli","skill","package-manager","ai","claude","claude-code","coding-agent"],"author":"AdAnt","license":"Artistic-2.0","_id":"@anyloop/adant-cli@0.1.0","maintainers":[{"name":"bsheng","email":"supercarl87@gmail.com"}],"homepage":"https://adant.ai","bugs":{"url":"https://github.com/anyloop/adant/issues"},"bin":{"adant-cli":"./bin/adant-cli.js"},"dist":{"shasum":"94284d1858f8676cf5e5c7de3de821c43e632425","tarball":"https://registry.npmjs.org/@anyloop/adant-cli/-/adant-cli-0.1.0.tgz","fileCount":16,"integrity":"sha512-SDE8C1niOs/6zxtx8X2X8hIh/f8tlgwVlxIMufTb0xkAGIMa8wJnT3ucOeQ05XDCyXWAyl/OnoNcqpy6EZn7dQ==","signatures":[{"sig":"MEQCIBt6g5mbbBhOcnPaqFTEloMKOStdMyfwWHrTVBp7oBcqAiAmpRYU4nImhAnNw9CWLGckRjmq+GX1dS3mtPh4S8Y2Ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274930},"type":"module","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"exports":{".":"./dist/index.js"},"scripts":{"dev":"tsx --tsconfig tsconfig.json src/index.ts","lint":"biome lint src","test":"vitest run","build":"tsdown","check":"biome check src","start":"node dist/index.js","format":"biome format ./src --write","test:e2e":"pnpm build && vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit","link:local":"pnpm build && ln -sf $(pwd)/bin/adant-cli.js $(pnpm bin --global)/adant-cli-local && echo 'Linked adant-cli-local → local build'","test:watch":"vitest","unlink:local":"rm -f $(pnpm bin --global)/adant-cli-local && echo 'Removed adant-cli-local'","test:e2e:watch":"vitest --config vitest.e2e.config.ts"},"_npmUser":{"name":"bsheng","email":"supercarl87@gmail.com"},"repository":{"url":"git+https://github.com/anyloop/adant.git","type":"git","directory":"apps/adant-cli"},"description":"AdAnt CLI — unified client for the AdAnt v1 API (skills, drive, api-keys, billing, agents, …)","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ini":"^7.0.0","open":"^11.0.0","ignore":"^7.0.6","semver":"^7.8.5","commander":"^15.0.0","@inquirer/prompts":"^8.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsdown":"^0.22.12","vitest":"^4.1.10","@types/ini":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/semver":"^7.7.1","@biomejs/biome":"2.5.4","@anyloop/credit":"0.0.0","@anyloop/errors":"0.0.0","@anyloop/artifacts":"0.0.0","@anyloop/skill-types":"0.0.1","@anyloop/agent-session":"0.0.0","@anyloop/skill-registry":"0.0.1","@anyloop/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/adant-cli_0.1.0_1785867084921_0.5790628303495704","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@anyloop/adant-cli","version":"0.1.1","keywords":["adant","cli","advertising","video","media-generation","avatar","automation","ai","skill"],"author":{"name":"AdAnt"},"license":"Artistic-2.0","_id":"@anyloop/adant-cli@0.1.1","maintainers":[{"name":"bsheng","email":"supercarl87@gmail.com"}],"homepage":"https://adant.ai","bugs":{"url":"https://adant.ai/contact"},"bin":{"adant-cli":"bin/adant-cli.js"},"dist":{"shasum":"63c9e1b0c57e4e40ca5e33cba3ce09f6e47f6fe3","tarball":"https://registry.npmjs.org/@anyloop/adant-cli/-/adant-cli-0.1.1.tgz","fileCount":14,"integrity":"sha512-wYg5zV8IgZlvkDWGGkfSAAuSMg9Jf5s2/tUc56CRlkEbrZgjUJ13IjyjEq6AaDCslM4QnvoJQesQm6l9NMCdTA==","signatures":[{"sig":"MEYCIQDM9R2GmnIvccgtNooXuKF+fBXx+c7Hr+1YHJpTLdEzKAIhAN6OSw+d/YQ79VQZK6MJuCvwgfqVq9jo3QWIjC6zcGXY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217319},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"50d172678af66010b620f049dbfb2b9bdaf7e560","scripts":{"dev":"tsx --tsconfig tsconfig.json src/index.ts","lint":"biome lint src","test":"vitest run","build":"tsdown","check":"biome check src","start":"node dist/index.js","format":"biome format ./src --write","prepack":"pnpm build","test:e2e":"pnpm build && vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit","link:local":"pnpm build && ln -sf $(pwd)/bin/adant-cli.js $(pnpm bin --global)/adant-cli-local && echo 'Linked adant-cli-local → local build'","test:watch":"vitest","unlink:local":"rm -f $(pnpm bin --global)/adant-cli-local && echo 'Removed adant-cli-local'","test:e2e:watch":"vitest --config vitest.e2e.config.ts"},"_npmUser":{"name":"bsheng","email":"supercarl87@gmail.com"},"_npmVersion":"11.16.0","description":"Command-line automation for AdAnt sessions, media generation, and workspace files","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ini":"^6.0.0","open":"^11.0.0","ignore":"^7.0.6","semver":"^7.8.5","commander":"^15.0.0","@inquirer/prompts":"^8.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsdown":"^0.22.12","vitest":"^4.1.10","@types/ini":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/semver":"^7.7.1","@biomejs/biome":"2.5.4","@anyloop/credit":"workspace:*","@anyloop/errors":"workspace:*","@anyloop/artifacts":"workspace:*","@anyloop/skill-types":"workspace:*","@anyloop/agent-session":"workspace:*","@anyloop/skill-registry":"workspace:*","@anyloop/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/adant-cli_0.1.1_1785885578657_0.33296200036994006","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@anyloop/adant-cli","version":"0.1.2","description":"Command-line automation for AdAnt sessions, media generation, and workspace files","author":{"name":"AdAnt"},"license":"Artistic-2.0","homepage":"https://adant.ai","bugs":{"url":"https://adant.ai/contact"},"keywords":["adant","cli","advertising","video","media-generation","avatar","automation","ai","skill"],"type":"module","bin":{"adant-cli":"bin/adant-cli.js"},"publishConfig":{"access":"public"},"scripts":{"dev":"tsx --tsconfig tsconfig.json src/index.ts","build":"tsdown","start":"node dist/index.js","link:local":"pnpm build && ln -sf $(pwd)/bin/adant-cli.js $(pnpm bin --global)/adant-cli-local && echo 'Linked adant-cli-local → local build'","unlink:local":"rm -f $(pnpm bin --global)/adant-cli-local && echo 'Removed adant-cli-local'","typecheck":"tsc --noEmit","lint":"biome lint src","check":"biome check src","format":"biome format ./src --write","test":"vitest run","test:watch":"vitest","test:e2e":"pnpm build && vitest run --config vitest.e2e.config.ts","test:e2e:watch":"vitest --config vitest.e2e.config.ts","prepack":"pnpm build"},"dependencies":{"@inquirer/prompts":"^8.6.0","commander":"^15.0.0","ignore":"^7.0.6","ini":"^7.0.0","open":"^11.0.1","semver":"^7.8.5"},"devDependencies":{"@biomejs/biome":"2.5.10","@repo/agent-session":"workspace:*","@repo/artifacts":"workspace:*","@repo/errors":"workspace:*","@repo/skill-registry":"workspace:*","@repo/skill-types":"workspace:*","@repo/typescript-config":"workspace:*","@types/ini":"^4.1.1","@types/node":"^26.2.0","@types/semver":"^7.8.0","tsdown":"^0.22.14","tsx":"^4.23.12","typescript":"^7.0.2","vitest":"^4.1.11"},"engines":{"node":">=22.13.0"},"gitHead":"3d69611fac7d0627a69ec8bc1f139cc0ee138b20","_id":"@anyloop/adant-cli@0.1.2","_nodeVersion":"24.13.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Dux7I1935V7ZTVcXmEKFr95gG+uGvDuLyEYRL6x6rLS3BLzgVw9MQmUv1vF5mJ/eGnDYXwoMQXXM1IRLVIaGpA==","shasum":"114be24969511d54178649df0611a4c39577280b","tarball":"https://registry.npmjs.org/@anyloop/adant-cli/-/adant-cli-0.1.2.tgz","fileCount":14,"unpackedSize":223282,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCf08SsrAEaCxFa+ENtpuj2soeG/UuJdh6S09TFZ4BhWQIhAMN+o6JAj/vPmsliLV7CUpcW/dIQE9Y6RgHtQ+a/Q8EC"}]},"_npmUser":{"name":"bsheng","email":"supercarl87@gmail.com"},"directories":{},"maintainers":[{"name":"bsheng","email":"supercarl87@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adant-cli_0.1.2_1787847711887_0.42913231066064705"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T18:11:24.706Z","modified":"2026-08-27T16:21:52.276Z","0.1.0":"2026-08-04T18:11:25.101Z","0.1.1":"2026-08-04T23:19:38.821Z","0.1.2":"2026-08-27T16:21:52.044Z"},"bugs":{"url":"https://adant.ai/contact"},"author":{"name":"AdAnt"},"license":"Artistic-2.0","homepage":"https://adant.ai","keywords":["adant","cli","advertising","video","media-generation","avatar","automation","ai","skill"],"description":"Command-line automation for AdAnt sessions, media generation, and workspace files","maintainers":[{"name":"bsheng","email":"supercarl87@gmail.com"}],"readme":"# @anyloop/adant-cli\n\nCommand-line automation for [AdAnt](https://adant.ai) sessions, media\ngeneration, and workspace files.\n\nUse AdAnt Studio for the complete visual ad-cloning workflow. Use this CLI for\nscripts, CI jobs, agent integrations, and repeatable media operations.\n\n## Requirements\n\n- Node.js 22.13 or newer\n- An AdAnt account\n\n## Install\n\nRun without installing:\n\n```bash\nnpx @anyloop/adant-cli --help\n```\n\nOr install globally:\n\n```bash\nnpm install --global @anyloop/adant-cli\nadant-cli --help\n```\n\n## Quick start\n\n```bash\n# Opens AdAnt in your browser and stores the resulting credential locally.\nadant-cli auth login\n\n# Create a session and copy its id from the JSON response.\nadant-cli session create --title \"Summer launch\" --json\n\n# Stream a reply from AdAnt.\nadant-cli session chat \"Create three short-form ad concepts\" \\\n  --session_id <session-id>\n```\n\nThe CLI stores login credentials in `~/.anytadsrc` with user-only file\npermissions. For non-interactive CI, set `ADANT_API_KEY` instead of writing a\nkey into a command or repository:\n\n```bash\nADANT_API_KEY=\"$CI_ADANT_API_KEY\" adant-cli session list --json\n```\n\nTo enter a key interactively without exposing it in shell history or process\narguments:\n\n```bash\nadant-cli auth login --api-key\n```\n\n## Common workflows\n\n### Generate media\n\n```bash\nadant-cli media image generate \\\n  --prompt \"Editorial product photo on warm beige\" \\\n  --size 1024x1024 \\\n  --output product.png\n\nadant-cli media video generate \\\n  --prompt \"Slow handheld push-in, natural window light\" \\\n  --first-frame product.png \\\n  --aspect-ratio 9:16 \\\n  --output ad.mp4 \\\n  --download\n\nadant-cli media audio generate \\\n  --text \"Meet the easier way to start your morning.\" \\\n  --output voice.mp3\n```\n\nLocal image, video, and audio inputs are uploaded to your private AdAnt\nworkspace. The CLI passes only a short-lived signed URL to the generation job;\nit does not publish those inputs to AdAnt's public asset CDN. URLs supplied by\nyou are passed through unchanged.\n\nUse `adant-cli media model list` to see the models currently available to your\naccount. Async jobs print a session ID; use it when checking the job later:\n\n```bash\nadant-cli media job get <job-id> --session-id <session-id> --wait \\\n  --output result.mp4\n```\n\n### Work with sessions\n\n```bash\nadant-cli session list --json\nadant-cli session show --session_id <session-id> --json\nadant-cli session messages --session_id <session-id> --json\nadant-cli session artifacts --session_id <session-id> --json\n```\n\nPass `--confirm` to `session chat` when a script should pause before a media\ngeneration is submitted. The reply stream provides the confirmation ID used by\n`session confirm-generation`.\n\n### Upload and download workspace files\n\n```bash\nadant-cli drive folders list\nadant-cli drive upload ./brief.pdf\nadant-cli drive files list --json\nadant-cli drive download <file-id> --output ./brief.pdf\n```\n\n### Install and publish skills\n\nThe skill commands retain the established `anyt.json`, `.anyt/`, and\n`@user/...` compatibility contracts.\n\n```bash\nadant-cli skills search \"video analysis\"\nadant-cli skills add @user/example/video-analysis\nadant-cli skills list\n\nadant-cli skills publish --access private\nadant-cli skills publish --access public\n```\n\nPublic skill publishing is irreversible. Private skill encryption keys are\nentered through a masked prompt:\n\n```bash\nadant-cli config set-encryption-key @user/<username>\n```\n\n## Commands\n\n| Command | Purpose |\n| --- | --- |\n| `auth` | Log in, log out, and show the current account |\n| `session` | Create sessions, chat, and inspect messages or artifacts |\n| `media` | Generate images, video, and audio; analyze video; inspect jobs |\n| `drive` | Manage private workspace files and folders |\n| `artifacts` | Inspect durable generation artifacts |\n| `favorites` | Manage saved workspace items |\n| `agents` | List and manage available agent configurations |\n| `skills` | Install, update, audit, and publish skills |\n| `skill-lists` | Manage personal collections of skills |\n| `credit` | Inspect balance, history, and usage |\n| `billing` | Open checkout or billing management |\n| `api-keys` | Create and revoke keys for your own account |\n| `config` | Inspect local CLI and registry configuration |\n| `upgrade` | Upgrade the installed CLI package |\n\nRun `adant-cli <command> --help` for the current options.\n\n## Configuration\n\nConfiguration is resolved from the nearest `.anytadsrc` in the current\ndirectory or one of its ancestors, followed by the user file at\n`~/.anytadsrc`. Environment variables take precedence where applicable.\n\n| Variable | Purpose |\n| --- | --- |\n| `ADANT_API_KEY` | Non-interactive authentication for the current user |\n| `ADANT_REGISTRY_URL` | Override the AdAnt API/registry base URL |\n| `GITHUB_TOKEN` | Authenticate GitHub-hosted skill sources |\n| `ANYT_DEBUG` | Print additional diagnostics for compatibility workflows |\n\nThe default registry is `https://api.adant.ai`. Browser login opens the\nmatching web origin (`https://adant.ai`) but exchanges the one-time token on\nthe API origin; `ANYT_WEB_URL` is the local-development override when those\norigins run on different ports.\n\nDo not commit `.anytadsrc`, API keys, or encryption passphrases.\n\n## Output and exit status\n\nCommands that support `--json` write machine-readable JSON to stdout. Errors\nare written to stderr and return a non-zero exit status. Media commands with\n`--output` download completed artifacts to the path you provide.\n\n`credit balance` consumes the public credit response directly: totals and the\ndaily, monthly, and one-time buckets are already expressed in display credits\nand are formatted to at most two decimal places. Do not apply the internal\ncredit-unit scale in CLI output.\n\n## Support\n\nFor product help, account issues, or security reports, use\n[adant.ai/contact](https://adant.ai/contact).\n\n<!-- @doc-sync: 605532d8 | 2026-08-21 13:51 -->\n","readmeFilename":"README.md"}