@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 +42 -9
- package/dist/bin.cjs +386 -92
- package/dist/bin.cjs.map +1 -1
- package/dist/bin.js +1 -1
- package/dist/{chunk-OERLHVLH.js → chunk-643B2AKG.js} +411 -117
- package/dist/chunk-643B2AKG.js.map +1 -0
- package/dist/index.cjs +386 -92
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +36 -20
- package/dist/index.d.ts +36 -20
- package/dist/index.js +1 -1
- package/llms.txt +79 -30
- package/package.json +4 -4
- package/skills/odla/references/build.md +6 -4
- package/skills/odla/references/sdks.md +2 -2
- package/skills/odla-migrate/references/phase-2-db.md +2 -2
- package/skills/odla-migrate/references/phase-5-cutover.md +2 -2
- package/skills/odla-migrate/references/secrets-map.md +1 -1
- package/dist/chunk-OERLHVLH.js.map +0 -1
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.
|
|
33
|
-
npm i -D --save-exact @odla-ai/cli@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
|
|
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.
|
|
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
|
-
|
|
135
|
-
|
|
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.
|
|
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
|
-
|
|
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
|