{"_id":"@appbox.ai/oneocto-cli","_rev":"2-647b47ac6af9e91b3b5ffd25452a172e","name":"@appbox.ai/oneocto-cli","dist-tags":{"latest":"1.3.1"},"versions":{"1.3.0":{"name":"@appbox.ai/oneocto-cli","version":"1.3.0","license":"UNLICENSED","_id":"@appbox.ai/oneocto-cli@1.3.0","maintainers":[{"name":"it-appbox","email":"it@appbox.ai"}],"bin":{"oneocto":"bin/oneocto"},"dist":{"shasum":"c84254ca05cf0106b78bdbedd61583f0e8f3246e","tarball":"https://registry.npmjs.org/@appbox.ai/oneocto-cli/-/oneocto-cli-1.3.0.tgz","fileCount":95,"integrity":"sha512-XYyukPjQxHhwaxN9EVh9WSC+RHJ2LSCPBGJ0EQk4VkodiGJQHz3FHTB7rzuWpZVm/iCqypsX+cR5XULNJDVXAA==","signatures":[{"sig":"MEYCIQCLYckEIOMBJO5NIGQe4wGq2IrIx1uGU5rS5Zsur+76xQIhAO/WS68tf6E/8BceHTL0LIxFEcpYU+WwWjEEYg4osi5B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453924},"type":"module","engines":{"node":">=22"},"gitHead":"3eee0e55f10b4d0f0aff82d4cdf736dfb7104bef","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepare":"npm run build","link:dev":"./scripts/link-dev.sh","pack:tgz":"npm pack","test:watch":"vitest","version:bump":"tsx scripts/bump-version.ts"},"_npmUser":{"name":"it-appbox","email":"it@appbox.ai"},"_npmVersion":"11.12.1","description":"Registry-driven CLI for managing OneOcto resources","directories":{},"_nodeVersion":"26.0.0","dependencies":{"commander":"^14.0.0","amazon-cognito-identity-js":"^6.3.14"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.0","tsx":"^4.20.0","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.15.17"},"_npmOperationalInternal":{"tmp":"tmp/oneocto-cli_1.3.0_1786325863404_0.786939707009763","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@appbox.ai/oneocto-cli","version":"1.3.1","description":"Registry-driven CLI for managing OneOcto resources","license":"MIT","engines":{"node":">=22"},"type":"module","bin":{"oneocto":"bin/oneocto"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsx src/index.ts","link:dev":"./scripts/link-dev.sh","pack:tgz":"npm pack","prepare":"npm run build","test":"vitest run","test:watch":"vitest","version:bump":"tsx scripts/bump-version.ts"},"dependencies":{"amazon-cognito-identity-js":"^6.3.14","commander":"^14.0.0"},"devDependencies":{"@types/node":"^22.15.17","msw":"^2.11.0","tsx":"^4.20.0","typescript":"^5.8.3","vitest":"^3.2.4"},"gitHead":"cd67047f8f951e090c46dbea86df0fb4a389c554","_id":"@appbox.ai/oneocto-cli@1.3.1","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-gjQW8MJae/Hy9IyuTbN5Lcyl5oinnv+2HqWuZjjgU9iQ3zoDuc+mn0iJvzZ3fUb7FvQWJ+RuiuSev4lY7kMx1Q==","shasum":"96349dffa80f87ed79f9bd686bd19e6c2b746386","tarball":"https://registry.npmjs.org/@appbox.ai/oneocto-cli/-/oneocto-cli-1.3.1.tgz","fileCount":96,"unpackedSize":455002,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHr6BbBVRE2NQx3LftCKqVG6/RO+hEMgDWSM6WvpCH8DAiAkUDh+VpOwyLP6+pPr70uxphba/DMraPiGB1WEaOKljw=="}]},"_npmUser":{"name":"it-appbox","email":"it@appbox.ai"},"directories":{},"maintainers":[{"name":"it-appbox","email":"it@appbox.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oneocto-cli_1.3.1_1786326188513_0.096138662335149"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-10T01:37:43.208Z","modified":"2026-08-10T01:43:08.898Z","1.3.0":"2026-08-10T01:37:43.594Z","1.3.1":"2026-08-10T01:43:08.671Z"},"license":"MIT","description":"Registry-driven CLI for managing OneOcto resources","maintainers":[{"name":"it-appbox","email":"it@appbox.ai"}],"readme":"# OneOcto CLI\n\n`oneocto` is a registry-driven CLI for working with OneOcto resources from a terminal or an\nagent runtime. Every command returns JSON, and the CLI describes its own capabilities — so\nthe same interface suits a person at a prompt and an agent deciding what to do next.\n\n## Install\n\n```bash\nnpm install -g @appbox.ai/oneocto-cli\n```\n\nRequires Node 22 or newer.\n\n## Sign in\n\n```bash\noneocto auth login\n```\n\nPaste the URL you use in the browser and the CLI works out the tenant and environment:\n\n```bash\noneocto auth login --url https://acme.oneocto.com\n```\n\nOther useful forms:\n\n```bash\noneocto auth login --env dev          # local | dev | prod\noneocto auth whoami                   # who the saved credentials resolve to\noneocto auth logout\n```\n\nMost commands are scoped to a space. Save a default so you can stop passing `--space-id`:\n\n```bash\noneocto list spaces\noneocto tenant use\n```\n\n## Discover before you act\n\nThe CLI is the source of truth for what it supports — there is no need to guess:\n\n```bash\noneocto about                  # what this is and how it is organized\noneocto resources              # every resource, its aliases and supported verbs\noneocto describe <resource>    # the operational contract: verbs, fields, examples\noneocto explain <resource>     # deeper guidance, pitfalls, related resources\n```\n\n## The command model\n\nThe canonical CRUD shape:\n\n```bash\noneocto list <resource>\noneocto get <resource> <id>\noneocto create <resource> --data '{\"...\":\"...\"}'\noneocto update <resource> <id> --data '{\"...\":\"...\"}'\noneocto delete <resource> <id> --yes\n```\n\n`--query` takes Sequelize-style JSON for filtering, sorting and pagination:\n\n```bash\noneocto list interactions --query '{\"where\":{\"status\":\"completed\"},\"order\":[[\"createdAt\",\"DESC\"]],\"limit\":20}'\n```\n\nOutput is prettified JSON by default. Use `--minified` for piping, or `--tabular` to read\na list at a glance.\n\n## Flows\n\nFlows are code-defined procedures. They own both the ordering *and* the mechanical details\n— node ids, canvas layout, edge port wiring, publish-time fields — so those cannot be got\nwrong. Prefer a flow over assembling the steps yourself:\n\n```bash\noneocto flow                                   # what flows exist\noneocto flow describe publish-workflow         # steps, spec schema, worked example\noneocto flow scaffold publish-workflow         # a valid starting spec, ready to edit\n```\n\nBuild and publish a workflow from one spec:\n\n```bash\noneocto flow scaffold publish-workflow > workflow.json\noneocto flow publish-workflow --spec ./workflow.json --dry-run   # validates offline\noneocto flow publish-workflow --spec ./workflow.json\n```\n\nEditing an existing workflow is a round-trip, not a patch:\n\n```bash\noneocto flow export <workflow-id> > workflow.json\noneocto flow revise-workflow <workflow-id> --spec ./workflow.json\n```\n\n`revise-workflow` starts a draft for you when the current version is published, so\nimmutability is not something you have to remember.\n\nCheck and debug:\n\n```bash\noneocto flow audit <workflow-version-id>       # pre-publish readiness report\noneocto flow simulate <workflow-id> -m 'hello' # run it, get a normalized verdict\noneocto flow diagnose <execution-log-id>       # failing node, unresolved references\n```\n\n## Running things directly\n\n```bash\noneocto execute workflow <id> --data '<event>'\noneocto execute interaction <id> -m 'Hello there'\noneocto execute tool --data '<tool+args>'      # test one tool, no workflow needed\noneocto execute agent <id> -m 'Hello there'\noneocto execute prompt <id> --data '<vars>'\n```\n\n## Other command groups\n\n```bash\noneocto schedules pause|resume|run|sync|runs <id>   # cron schedules; also syncs the timer\noneocto telephony search-numbers|purchase-number|recording-url\noneocto billing balance|plan|plans|usage|cards\noneocto system health|settings|invite-user\noneocto storage bulk create|update|delete <resource> --data '[...]'\noneocto storage associate <resource> <id> --data '{...}'\n```\n\nCommands that spend money or release provisioned infrastructure require `--yes`.\n\n## Resources\n\nRun `oneocto resources` for the current list with aliases and verbs. Broadly:\n\n| Area | Resources |\n| --- | --- |\n| Workflows | `workflows`, `workflow-versions`, `workflow-nodes`, `workflow-agents`, `workflow-transfers` |\n| Conversations | `interactions`, `interaction-messages`, `interaction-workflows`, `entry-points`, `contacts` |\n| Agents and prompts | `agents`, `agent-transfers`, `runnable-prompts`, `system-prompts`, `tools`, `llm-settings` |\n| Scheduling | `schedules`, `schedule-executions` |\n| Telephony | `phone-numbers`, `recordings`, `voice-usages` |\n| Analytics | `dashboards`, `widgets`, `knowledge-sheets` |\n| Run history | `workflow-execution-logs`, `node-execution-logs`, `audit-logs` |\n| Notifications | `notification-templates`, `notification-logs` |\n| Billing | `credits`, `purchases`, `transactions`, `transaction-items` |\n| Access and config | `users`, `roles`, `user-roles`, `permissions`, `role-permissions`, `api-keys`, `spaces`, `settings`, `user-settings`, `platform-settings`, `feature-flags` |\n\nResources expose aliases, so canonical CLI names stay human-friendly even when the\nunderlying model names are not. Append-only tables — execution logs, the audit trail,\nbilling ledgers — are read-only through the CLI.\n\n## For agents\n\nAuthoring a workflow has several non-obvious rules. The CLI ships them as data, available\noffline:\n\n```bash\noneocto authoring              # the consolidated guide\noneocto authoring templates    # ${...} reference scoping per layer\noneocto authoring conditionals # deterministic vs LLM branching\noneocto authoring validate     # pre-publish checklist\n```\n\n## Configuration\n\n| Variable | Purpose |\n| --- | --- |\n| `ONEOCTO_API_URL` | API base URL, overriding the saved tenant |\n| `ONEOCTO_TENANT_ID` | Tenant slug |\n| `ONEOCTO_SPACE_ID` | Space id |\n| `ONEOCTO_ACCESS_TOKEN` | Pre-issued access token, skipping the saved login |\n| `ONEOCTO_CONFIG_DIR` | Where tenant config is stored |\n\nCredentials are kept in the OS keychain, never in the config file.\n\n## Versioning\n\n`oneocto --version` reports the running version. This project follows SemVer: `patch` for\nfixes, `minor` for backward-compatible additions, `major` for breaking command or contract\nchanges.\n","readmeFilename":"README.md"}