@odla-ai/cli 0.25.20 → 0.25.22
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 +44 -0
- package/REQUIREMENTS.md +6 -0
- package/dist/bin.cjs +1719 -1090
- package/dist/bin.cjs.map +1 -1
- package/dist/bin.js +1 -1
- package/dist/{chunk-ONETPJFW.js → chunk-2AFAXLKE.js} +1907 -1276
- package/dist/chunk-2AFAXLKE.js.map +1 -0
- package/dist/index.cjs +1727 -1090
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +169 -6
- package/dist/index.d.ts +169 -6
- package/dist/index.js +9 -1
- package/package.json +1 -1
- package/dist/chunk-ONETPJFW.js.map +0 -1
package/README.md
CHANGED
|
@@ -79,6 +79,7 @@ ODLA_DEV_TOKEN=... npx @odla-ai/cli pm handoff --app <appId>
|
|
|
79
79
|
ODLA_DEV_TOKEN=... npx @odla-ai/cli discuss list --app <appId> --json
|
|
80
80
|
ODLA_DEV_TOKEN=... npx @odla-ai/cli o11y status --app <appId> --env prod --json
|
|
81
81
|
ODLA_DEV_TOKEN=... npx @odla-ai/cli whoami --json
|
|
82
|
+
npx @odla-ai/cli platform status --context production --json
|
|
82
83
|
npx @odla-ai/cli pm handoff --context production --json
|
|
83
84
|
npx @odla-ai/cli runbook new deploy --context production --title Deploy --file deploy.md
|
|
84
85
|
```
|
|
@@ -141,6 +142,47 @@ jobs, missing canary configuration, stale probes, and partial
|
|
|
141
142
|
socket-reconciliation coverage remain explicit fields. Authentication progress
|
|
142
143
|
is stderr-only, so stdout is a single JSON document.
|
|
143
144
|
|
|
145
|
+
For platform-wide operations, `platform status --json` requests only the
|
|
146
|
+
short-lived, admin-approved `platform:status:read` capability and reads the
|
|
147
|
+
same `odla.platform-status/v1` snapshot as Studio. It works outside a project
|
|
148
|
+
checkout, derives its complete six-Worker inventory from the deployment
|
|
149
|
+
catalog, probes private services over bindings, and joins observed release
|
|
150
|
+
identity with retained Cloudflare request/error/CPU/wall-time/memory evidence.
|
|
151
|
+
Unavailable health, credentials, versions, or provider snapshots remain
|
|
152
|
+
explicit rather than becoming zero; the document includes stable reason codes
|
|
153
|
+
and exact next actions. The latest successful main deployment persists its
|
|
154
|
+
normalized receipt in Registry D1 after exact-version probes pass. Fleet status
|
|
155
|
+
therefore compares that verified expectation with the Worker answering now and
|
|
156
|
+
reports `matched`, `drifted`, or `unknown`; an empty or unavailable receipt
|
|
157
|
+
ledger degrades instead of silently treating observed health as intended state.
|
|
158
|
+
|
|
159
|
+
For repository-managed settings, compare checked-in intent with the live
|
|
160
|
+
owner-visible Registry projection before provisioning:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
npx odla-ai config diff --json
|
|
164
|
+
npx odla-ai config plan --json
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Both commands are read-only and request only a short-lived,
|
|
168
|
+
owner-approvable `app:config:read` capability. It opens only exact-id
|
|
169
|
+
`GET /registry/apps/<appId>` reads for apps the approver owns; app listing,
|
|
170
|
+
writes, PM, Discussions, directory access, data-plane delegation, and every
|
|
171
|
+
other Registry route remain closed. `diff` emits separate SHA-256 revisions for
|
|
172
|
+
desired and observed state, explicit `in_sync`, `different`, or `unmanaged`
|
|
173
|
+
status, field provenance, and a bounded coverage declaration. Runtime auth or
|
|
174
|
+
links omitted from project config stay visible as `unmanaged` rather than
|
|
175
|
+
being silently overwritten.
|
|
176
|
+
|
|
177
|
+
`plan` freezes those revisions plus ordered actions into a stable plan digest.
|
|
178
|
+
Enable/configure actions are dependency-first; proposed disablements are
|
|
179
|
+
dependent-first, high-risk, approval-required, and Studio-only. Conditional,
|
|
180
|
+
resumable `config apply` is intentionally not exposed yet. The plan names the
|
|
181
|
+
existing provision, rename, and Studio steps that can be reviewed separately,
|
|
182
|
+
and explicitly excludes schema, rules, integration seeds, credentials, vault
|
|
183
|
+
or Worker secrets, OAuth connection state, and opaque controller-assigned
|
|
184
|
+
service fields rather than claiming whole-system convergence.
|
|
185
|
+
|
|
144
186
|
**Runbooks are procedure; JSDoc is API.** What a function takes, returns, and
|
|
145
187
|
guarantees is documented on the export itself, ships in the installed
|
|
146
188
|
`.d.ts`, and renders per package at <https://odla.ai/docs>. A runbook will tell
|
|
@@ -241,6 +283,8 @@ npx odla-ai whoami
|
|
|
241
283
|
npx odla-ai setup
|
|
242
284
|
npx odla-ai init --app-id my-app --name "My App"
|
|
243
285
|
npx odla-ai doctor
|
|
286
|
+
npx odla-ai config diff --json
|
|
287
|
+
npx odla-ai config plan --json
|
|
244
288
|
npx odla-ai calendar status --env dev
|
|
245
289
|
npx odla-ai calendar calendars --env dev
|
|
246
290
|
npx odla-ai calendar connect --env dev
|
package/REQUIREMENTS.md
CHANGED
|
@@ -12,6 +12,12 @@ Agnacl, but none should mention or special-case Agnacl.
|
|
|
12
12
|
- The CLI must validate that contract without network calls.
|
|
13
13
|
- The CLI must show a dry-run plan before creating platform state or writing
|
|
14
14
|
credentials.
|
|
15
|
+
- The CLI must compare checked-in Registry intent with live owner-visible
|
|
16
|
+
state through a short-lived exact read capability, emit separate stable
|
|
17
|
+
desired/observed revisions and provenance, distinguish unmanaged runtime
|
|
18
|
+
settings from drift, and freeze ordered secret-free actions into a plan
|
|
19
|
+
digest. It must disclose data-plane and secret coverage gaps and must not
|
|
20
|
+
expose apply until writes are conditional and resumable.
|
|
15
21
|
- The CLI must treat platform registry and odla-db as separate endpoints. They
|
|
16
22
|
may be the same in some deployments, but generated configs must not imply it.
|
|
17
23
|
- If a platform or credential change is deterministic from `odla.config.mjs`,
|