@odla-ai/cli 0.27.6 → 0.27.8

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/dist/index.js CHANGED
@@ -57,7 +57,7 @@ import {
57
57
  startHostedSecurityJob,
58
58
  surfacePaths,
59
59
  validateInvocation
60
- } from "./chunk-DQOJ4S6H.js";
60
+ } from "./chunk-MZSU4YQL.js";
61
61
  export {
62
62
  AGENT_HARNESSES,
63
63
  CAPABILITIES,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odla-ai/cli",
3
- "version": "0.27.6",
3
+ "version": "0.27.8",
4
4
  "description": "Agent-operable CLI for odla provisioning, calendar consent and connection lifecycle, System AI administration, Worker secrets, security jobs, and smoke checks.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://odla.ai/docs/packages/cli",
@@ -115,6 +115,7 @@ guessing which platform/credential steps need manual work. Then:
115
115
  `--wait <seconds>`); exit code 75 means still pending: the handshake is
116
116
  persisted, so once the human approves, re-run the same command and it
117
117
  resumes the same code and collects the token. It creates the app,
118
+ consuming a one-time exact-id reservation when the approved app is new,
118
119
  enables services, issues or reuses configured credentials (db key + o11y
119
120
  ingest token when enabled), composes declared integration schema/rules and
120
121
  guarded seeds, writes `.dev.vars`, and
@@ -112,8 +112,14 @@ permanent authority.
112
112
  - Wrong handle requested: decline it and correct the project/SDK request before
113
113
  starting a fresh handshake. If already approved, revoke the new credential in
114
114
  Studio; do not rename or merge principals by editing local metadata.
115
- - Missing project after reconnect: start a new reviewed handshake and select the
116
- exact project; never widen to all projects.
115
+ - Missing project on first provision: approve the exact id. Collection records
116
+ a one-time reservation; the credential creates only that app and Registry
117
+ binds the grant to its new incarnation. Never pre-create a substitute or
118
+ widen to all projects. The reservation does not bypass later service,
119
+ configuration, or administrative capability checks.
120
+ - Approval returns 404: treat it as a Registry routing regression, not a missing
121
+ project outcome. Preserve the code and pending state, report the incident,
122
+ and retry the same request after Registry is healthy.
117
123
  - Project ownership/lifecycle changed after approval: collection expires the
118
124
  unusable replacement while preserving the current credential and grant set.
119
125
  Restore the intended project state, then start and review a fresh handshake.
@@ -55,7 +55,8 @@ The email is an account identifier, never a password or session credential.
55
55
  Prints a short device code and a link. ⏸ That same account opens the link, signs
56
56
  in, explicitly reviews the exact code, and approves it — loading the URL alone
57
57
  does not claim access, and no secret passes through the chat. Provision then:
58
- creates the app, enables its services, issues or reuses the db key (and the
58
+ creates the app (consuming the approved one-time exact-id reservation when it
59
+ is new), enables its services, issues or reuses the db key (and the
59
60
  o11y ingest token when o11y is enabled), pushes the composed app + integration
60
61
  schema/rules, creates missing guarded seeds, writes
61
62
  `.dev.vars`, and transfers configured Worker secrets through Wrangler stdin.
@@ -64,6 +65,14 @@ Local credential files are `0600` and gitignored. Verify with
64
65
  anything unset. `--push-secrets` preflights the Wrangler config and login before
65
66
  issuing or rotating a shown-once credential.
66
67
 
68
+ If Studio shows an unknown exact app id, that is a valid first provision: the
69
+ human approves the id, the collected credential creates only that app, and the
70
+ grant becomes bound to its new incarnation. Do not pre-create a substitute app
71
+ or broaden the request. A 404 from **Approve** is a platform regression; capture
72
+ the code and retry only after Registry is healthy. This reservation covers only
73
+ the exact app creation; service, configuration, and administrative mutations
74
+ retain their ordinary capability and human-checkpoint requirements.
75
+
67
76
  Calendar adds a second ⏸ checkpoint after the odla device approval: provision
68
77
  prints/opens a state-bound Google URL issued by the platform and waits while
69
78
  the human grants the booking scopes in a browser. The CLI never receives the