@odla-ai/cli 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,8 +29,8 @@ For a project you keep working in, install it as a dev dependency so the
29
29
  shorter `npx odla-ai` form works and the version is pinned by your lockfile:
30
30
 
31
31
  ```bash
32
- npm view @odla-ai/cli@0.6.0 version
33
- npm i -D --save-exact @odla-ai/cli@0.6.0
32
+ npm view @odla-ai/cli@0.7.1 version
33
+ npm i -D --save-exact @odla-ai/cli@0.7.1
34
34
  ```
35
35
 
36
36
  ## Prerequisites
@@ -61,9 +61,12 @@ npx odla-ai smoke --env dev
61
61
  npx odla-ai secrets push --env dev
62
62
  npx odla-ai security run . --env dev --ack-redacted-source
63
63
  npx odla-ai admin ai show
64
- npx odla-ai admin ai set security.discovery --provider anthropic --model claude-opus-4-8 --enabled
64
+ npx odla-ai admin ai models
65
+ npx odla-ai admin ai set security --discovery-provider anthropic --discovery-model claude-opus-4-8 --validation-provider openai --validation-model gpt-5.5 --enabled
65
66
  npx odla-ai admin ai credentials
66
67
  npx odla-ai admin ai credential set anthropic --from-env ANTHROPIC_API_KEY
68
+ npx odla-ai admin ai usage --app-id my-app --env prod --limit 50
69
+ npx odla-ai admin ai audit --limit 25
67
70
  npx odla-ai skill install
68
71
  npx odla-ai version
69
72
  ```
@@ -124,29 +127,59 @@ when provisioning has not written `.odla/credentials.local.json`.
124
127
 
125
128
  The bundled build/migration skills add a passive pre-ship gate with
126
129
  `@odla-ai/security`: after the exact-version availability check, run
127
- `npm i -D --save-exact @odla-ai/security@0.2.0`, then
130
+ `npm i -D --save-exact @odla-ai/security@0.2.1`, then
128
131
  `npx odla-security scan . --profile odla --out .odla/security/pre-ship --fail-on high --fail-on-candidates critical`.
129
132
  The passive scan remains a separate binary: it makes no model calls and does
130
133
  not execute target code. After explicit redacted-source approval,
131
134
  `odla-ai security run . --env dev --ack-redacted-source` adds hosted discovery
132
135
  and independent validation. The CLI obtains/reuses app-owner auth and the
133
136
  platform supplies bounded role grants; it never requests provider keys.
134
- Early-access run ceilings are rolling; a `429` includes the platform's safe
135
- retry hint, which the CLI surfaces without echoing arbitrary response text.
137
+ The hosted run accounts for both immutable role ceilings: discovery reserves
138
+ one call for recon, caps first-pass hunts to what remains, and uses only
139
+ residual calls for retries; validation reviews the highest-risk candidates
140
+ first. The console and artifacts show used/skipped calls, and a budget-limited
141
+ run is `incomplete` unless explicitly reviewed with `--allow-incomplete`.
142
+ All hosted-security network calls target the configured odla platform origin
143
+ (`/registry/security/runs`, `/registry/ai/extract`, and completion). The CLI
144
+ never contacts a model-provider host; the odla.ai broker alone owns the typed
145
+ security prompts/schemas and resolves the admin-selected route and vaulted
146
+ credential. A cached or environment token is audience-bound and is never sent
147
+ to a different `--platform` origin.
148
+ Early-access run ceilings are rolling. A platform-ceiling `429` always carries
149
+ a conservative `Retry-After`. A provider-side `429` uses the sanitized
150
+ `provider_rate_limited` code after the provider SDK's bounded retries and
151
+ carries a bounded `Retry-After` only when the upstream supplied one. The CLI
152
+ does not echo arbitrary response text or silently change the admin-selected
153
+ model.
136
154
  Before installing the exact release, require
137
- `npm view @odla-ai/security@0.2.0 version` to succeed before installation. An
155
+ `npm view @odla-ai/security@0.2.1 version` to succeed before installation. An
138
156
  exact-version `E404` means the release is unavailable, not that the security
139
157
  preflight passed, and does not prove the package name is absent. odla's own
140
158
  engineering environment uses an equivalent internal gate; customer projects
141
159
  should use the published `odla-security` command above.
142
160
 
143
- `admin ai show|set|credentials|credential set` manages platform-funded System
161
+ `admin ai show|models|set|credentials|credential set|usage|audit` manages platform-funded System
144
162
  AI (`o11y.triage`, `security.discovery`, `security.validation`). It uses a
145
163
  separate, mode-`0600` `.odla/admin-token.local.json` cache. Studio displays the
146
164
  exact scope, only an admin can approve it, and it expires after ~15 minutes;
147
- the token never becomes ambient admin. Credential writes accept only
165
+ policy, credential, and usage capabilities are separate and cannot act as the
166
+ approver on ordinary app/db/o11y routes. `admin ai models` reads the server
167
+ catalog. `admin ai set security` updates discovery and independent validation
168
+ together with expected revisions; a concurrent edit returns 409 and reloads
169
+ instead of being overwritten. `admin ai usage` requests its own read-only
170
+ capability and lists metadata-only events and status aggregates; narrow it with
171
+ `--app-id`, `--env`, `--run-id`, and `--limit`, or use `--json` for automation.
172
+ `admin ai audit` separately reads immutable metadata-only policy and credential
173
+ change events with actor attribution; credential values never enter that trail.
174
+ It never returns prompts, repository source, model output, reports, or provider
175
+ credentials. Credential writes accept only
148
176
  `--from-env <NAME>` or `--stdin` and never place the value in argv, output, or
149
177
  the cache. System AI and each app's BYOK AI are separate vault/funding paths.
178
+ Discovery and validation provider/model settings are authoritative server
179
+ policy: a security command has no field that can override either route. Admin
180
+ bounds can only narrow the hard ceilings of 64 calls per role/run and, for each
181
+ call, 512 KiB input and 32,768 output tokens. For a non-default platform, environment credentials
182
+ must also declare the matching `ODLA_ADMIN_TOKEN_AUDIENCE`.
150
183
 
151
184
  `secrets push --env <env>` is the narrower recovery/retry command. It moves the
152
185
  configured env's odla-db key and/or o11y ingest token from