@odla-ai/cli 0.7.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.7.
|
|
33
|
-
npm i -D --save-exact @odla-ai/cli@0.7.
|
|
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
|
|
@@ -127,7 +127,7 @@ when provisioning has not written `.odla/credentials.local.json`.
|
|
|
127
127
|
|
|
128
128
|
The bundled build/migration skills add a passive pre-ship gate with
|
|
129
129
|
`@odla-ai/security`: after the exact-version availability check, run
|
|
130
|
-
`npm i -D --save-exact @odla-ai/security@0.2.
|
|
130
|
+
`npm i -D --save-exact @odla-ai/security@0.2.1`, then
|
|
131
131
|
`npx odla-security scan . --profile odla --out .odla/security/pre-ship --fail-on high --fail-on-candidates critical`.
|
|
132
132
|
The passive scan remains a separate binary: it makes no model calls and does
|
|
133
133
|
not execute target code. After explicit redacted-source approval,
|
|
@@ -145,10 +145,14 @@ never contacts a model-provider host; the odla.ai broker alone owns the typed
|
|
|
145
145
|
security prompts/schemas and resolves the admin-selected route and vaulted
|
|
146
146
|
credential. A cached or environment token is audience-bound and is never sent
|
|
147
147
|
to a different `--platform` origin.
|
|
148
|
-
Early-access run ceilings are rolling
|
|
149
|
-
|
|
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.
|
|
150
154
|
Before installing the exact release, require
|
|
151
|
-
`npm view @odla-ai/security@0.2.
|
|
155
|
+
`npm view @odla-ai/security@0.2.1 version` to succeed before installation. An
|
|
152
156
|
exact-version `E404` means the release is unavailable, not that the security
|
|
153
157
|
preflight passed, and does not prove the package name is absent. odla's own
|
|
154
158
|
engineering environment uses an equivalent internal gate; customer projects
|
package/llms.txt
CHANGED
|
@@ -31,8 +31,8 @@ For a project you keep working in, install it as a dev dependency so the
|
|
|
31
31
|
shorter `npx odla-ai` form works and the version is pinned by your lockfile:
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
npm view @odla-ai/cli@0.7.
|
|
35
|
-
npm i -D --save-exact @odla-ai/cli@0.7.
|
|
34
|
+
npm view @odla-ai/cli@0.7.1 version
|
|
35
|
+
npm i -D --save-exact @odla-ai/cli@0.7.1
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
## Prerequisites
|
|
@@ -129,7 +129,7 @@ when provisioning has not written `.odla/credentials.local.json`.
|
|
|
129
129
|
|
|
130
130
|
The bundled build/migration skills add a passive pre-ship gate with
|
|
131
131
|
`@odla-ai/security`: after the exact-version availability check, run
|
|
132
|
-
`npm i -D --save-exact @odla-ai/security@0.2.
|
|
132
|
+
`npm i -D --save-exact @odla-ai/security@0.2.1`, then
|
|
133
133
|
`npx odla-security scan . --profile odla --out .odla/security/pre-ship --fail-on high --fail-on-candidates critical`.
|
|
134
134
|
The passive scan remains a separate binary: it makes no model calls and does
|
|
135
135
|
not execute target code. After explicit redacted-source approval,
|
|
@@ -148,10 +148,14 @@ provider call, attribution, and receipt. Cached/environment tokens are bound to
|
|
|
148
148
|
their canonical platform audience and are rejected before disclosure on a
|
|
149
149
|
different origin. For a non-default platform, set the matching
|
|
150
150
|
`ODLA_DEV_TOKEN_AUDIENCE` with `ODLA_DEV_TOKEN`.
|
|
151
|
-
Early-access run ceilings are rolling
|
|
152
|
-
|
|
151
|
+
Early-access run ceilings are rolling. A platform-ceiling `429` always carries
|
|
152
|
+
a conservative `Retry-After`. A provider-side `429` uses the sanitized
|
|
153
|
+
`provider_rate_limited` code after the provider SDK's bounded retries and
|
|
154
|
+
carries a bounded `Retry-After` only when the upstream supplied one. The CLI
|
|
155
|
+
does not echo arbitrary response text or silently change the admin-selected
|
|
156
|
+
model.
|
|
153
157
|
Before installing the exact release, require
|
|
154
|
-
`npm view @odla-ai/security@0.2.
|
|
158
|
+
`npm view @odla-ai/security@0.2.1 version` to succeed before installation. An
|
|
155
159
|
exact-version `E404` means the release is unavailable, not that the security
|
|
156
160
|
preflight passed, and does not prove the package name is absent. odla's own
|
|
157
161
|
engineering environment uses an equivalent internal gate; customer projects
|
|
@@ -280,7 +284,7 @@ If schema is present and rules are omitted, `defaultRules: "deny"` generates
|
|
|
280
284
|
deny-all rules for every schema entity. That is the safe default for Workers
|
|
281
285
|
that mediate reads and writes with an app key.
|
|
282
286
|
|
|
283
|
-
## API reference (generated from dist/index.d.ts, v0.7.
|
|
287
|
+
## API reference (generated from dist/index.d.ts, v0.7.1)
|
|
284
288
|
|
|
285
289
|
```ts
|
|
286
290
|
import { SecurityReport, PlatformSecurityRun } from '@odla-ai/security';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odla-ai/cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Agent-operable CLI for odla provisioning, scoped System AI administration, hosted security runs, Worker secrets, and smoke checks.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://odla.ai/docs/packages/cli",
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
"prepublishOnly": "npm run build && npm run gen:llms"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@odla-ai/ai": "^0.3.
|
|
62
|
+
"@odla-ai/ai": "^0.3.3",
|
|
63
63
|
"@odla-ai/apps": "^0.7.1",
|
|
64
64
|
"@odla-ai/db": "^0.6.2",
|
|
65
|
-
"@odla-ai/security": "^0.2.
|
|
65
|
+
"@odla-ai/security": "^0.2.1"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@types/node": "^22.10.0",
|
|
@@ -66,12 +66,12 @@ re-provision to push it, and retry.
|
|
|
66
66
|
Install the passive harness and scan before any production secret or deploy:
|
|
67
67
|
|
|
68
68
|
Before installing the exact release, first verify
|
|
69
|
-
`npm view @odla-ai/security@0.2.
|
|
69
|
+
`npm view @odla-ai/security@0.2.1 version`. An exact-version `E404` means the
|
|
70
70
|
release is unavailable and blocks this preflight; it is not a clean scan and
|
|
71
71
|
does not prove the package name is absent.
|
|
72
72
|
|
|
73
73
|
```
|
|
74
|
-
npm i -D --save-exact @odla-ai/security@0.2.
|
|
74
|
+
npm i -D --save-exact @odla-ai/security@0.2.1
|
|
75
75
|
npx odla-security scan . --profile odla --out .odla/security/pre-ship --fail-on high --fail-on-candidates critical
|
|
76
76
|
```
|
|
77
77
|
|
|
@@ -90,8 +90,10 @@ npx @odla-ai/cli security run . --env dev --ack-redacted-source
|
|
|
90
90
|
Do not ask for Anthropic/OpenAI/Google keys. The CLI obtains app-owner auth;
|
|
91
91
|
the platform fixes separate discovery/validation grants to the admin-configured
|
|
92
92
|
routes, attributes usage to this app/env/run, and retains no source or prompts
|
|
93
|
-
in its accounting ledger.
|
|
94
|
-
|
|
93
|
+
in its accounting ledger. A rolling platform-ceiling `429` always carries a
|
|
94
|
+
conservative retry hint. A provider-side `429` uses the sanitized
|
|
95
|
+
`provider_rate_limited` code and carries a bounded hint only when the upstream
|
|
96
|
+
supplied one. Surface either without looping or manufacturing a provider key.
|
|
95
97
|
|
|
96
98
|
## 6. Ship ⏸ human checkpoint
|
|
97
99
|
|
|
@@ -70,12 +70,12 @@ Run the passive CLI in local/CI development; do not import it into the running
|
|
|
70
70
|
Worker:
|
|
71
71
|
|
|
72
72
|
Before installing the exact release, require
|
|
73
|
-
`npm view @odla-ai/security@0.2.
|
|
73
|
+
`npm view @odla-ai/security@0.2.1 version` to succeed before installing it. An
|
|
74
74
|
exact-version `E404` means the release is unavailable, not that the preflight
|
|
75
75
|
passed, and does not prove the package name is absent.
|
|
76
76
|
|
|
77
77
|
```
|
|
78
|
-
npm i -D --save-exact @odla-ai/security@0.2.
|
|
78
|
+
npm i -D --save-exact @odla-ai/security@0.2.1
|
|
79
79
|
npx odla-security scan . --profile odla --out .odla/security/pre-ship --fail-on high --fail-on-candidates critical
|
|
80
80
|
```
|
|
81
81
|
|
|
@@ -10,8 +10,8 @@ in the browser in interactive terminals).
|
|
|
10
10
|
|
|
11
11
|
## Steps
|
|
12
12
|
|
|
13
|
-
1. Require `npm view @odla-ai/cli@0.7.
|
|
14
|
-
`npm i -D --save-exact @odla-ai/cli@0.7.
|
|
13
|
+
1. Require `npm view @odla-ai/cli@0.7.1 version` to succeed, then run
|
|
14
|
+
`npm i -D --save-exact @odla-ai/cli@0.7.1` and `npm i @odla-ai/db`.
|
|
15
15
|
2. `npx @odla-ai/cli init --app-id <id> --name "<Name>" --env dev --services db`
|
|
16
16
|
Review `odla.config.mjs`. Keep `envs: ["dev"]` — prod is Phase 5. Set
|
|
17
17
|
`links.dev` to the URL the Phase 1 `wrangler deploy` **actually printed** —
|
|
@@ -24,10 +24,10 @@ instance, never a second Clerk app per env; final go/no-go at each step.
|
|
|
24
24
|
`secrets push --env prod --yes` only to retry the transfer (see
|
|
25
25
|
references/secrets-map.md).
|
|
26
26
|
3. Build, then run the passive pre-cutover security gate:
|
|
27
|
-
first require `npm view @odla-ai/security@0.2.
|
|
27
|
+
first require `npm view @odla-ai/security@0.2.1 version` to succeed. An
|
|
28
28
|
exact-version `E404` means the release is unavailable and blocks cutover;
|
|
29
29
|
it is not a clean scan and does not prove the package name is absent. Run
|
|
30
|
-
`npm i -D --save-exact @odla-ai/security@0.2.
|
|
30
|
+
`npm i -D --save-exact @odla-ai/security@0.2.1` followed by
|
|
31
31
|
`npx odla-security scan . --profile odla --out .odla/security/pre-cutover --fail-on high --fail-on-candidates critical`.
|
|
32
32
|
Review `REPORT.md`; a candidate is a lead, not confirmation, and a baseline
|
|
33
33
|
requires a concrete reason, owner, and expiry.
|