@odla-ai/cli 0.10.1 → 0.11.0

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.d.cts CHANGED
@@ -447,8 +447,11 @@ declare function initProject(options: InitOptions): void;
447
447
  * Clerk auth and links, then per env mints or reuses credentials only for the
448
448
  * configured services, pushes the schema with the db key and the
449
449
  * rules with the developer token, and stores the provider key in the tenant
450
- * vault when `ai.keyEnv` is set and present. Finally writes the credentials file
451
- * (mode 0600, gitignored) and, when requested, `.dev.vars`.
450
+ * vault when `ai.keyEnv` is set and present. Writes the credentials file
451
+ * (mode 0600, gitignored) and, when requested, `.dev.vars`. Google Calendar
452
+ * consent runs last, per env; when the platform connector itself is not yet
453
+ * configured (`calendar_*_not_configured`), provision prints a resume hint
454
+ * (`odla-ai calendar connect`) instead of aborting.
452
455
  *
453
456
  * The developer token comes from (in order) `options.token`, `$ODLA_DEV_TOKEN`,
454
457
  * the cached `.odla` token, or a fresh email-bound device handshake — which
package/dist/index.d.ts CHANGED
@@ -447,8 +447,11 @@ declare function initProject(options: InitOptions): void;
447
447
  * Clerk auth and links, then per env mints or reuses credentials only for the
448
448
  * configured services, pushes the schema with the db key and the
449
449
  * rules with the developer token, and stores the provider key in the tenant
450
- * vault when `ai.keyEnv` is set and present. Finally writes the credentials file
451
- * (mode 0600, gitignored) and, when requested, `.dev.vars`.
450
+ * vault when `ai.keyEnv` is set and present. Writes the credentials file
451
+ * (mode 0600, gitignored) and, when requested, `.dev.vars`. Google Calendar
452
+ * consent runs last, per env; when the platform connector itself is not yet
453
+ * configured (`calendar_*_not_configured`), provision prints a resume hint
454
+ * (`odla-ai calendar connect`) instead of aborting.
452
455
  *
453
456
  * The developer token comes from (in order) `options.token`, `$ODLA_DEV_TOKEN`,
454
457
  * the cached `.odla` token, or a fresh email-bound device handshake — which
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ import {
38
38
  secretsSetClerkKey,
39
39
  smoke,
40
40
  startHostedSecurityJob
41
- } from "./chunk-MWVKOIGR.js";
41
+ } from "./chunk-KUQCJ6KA.js";
42
42
  export {
43
43
  AGENT_HARNESSES,
44
44
  CAPABILITIES,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odla-ai/cli",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "description": "Agent-operable CLI for odla provisioning, calendar consent and sync lifecycle, System AI administration, Worker secrets, security jobs, and smoke checks.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://odla.ai/docs/packages/cli",
@@ -27,8 +27,7 @@
27
27
  "dist",
28
28
  "skills",
29
29
  "README.md",
30
- "REQUIREMENTS.md",
31
- "llms.txt"
30
+ "REQUIREMENTS.md"
32
31
  ],
33
32
  "sideEffects": false,
34
33
  "engines": {
@@ -55,14 +54,13 @@
55
54
  "typecheck": "tsc --noEmit",
56
55
  "test": "vitest run",
57
56
  "coverage": "vitest run --coverage",
58
- "gen:llms": "node ../../scripts/gen-llms.mjs",
59
- "prepublishOnly": "npm run build && npm run gen:llms"
57
+ "prepublishOnly": "npm run build"
60
58
  },
61
59
  "dependencies": {
62
- "@odla-ai/ai": "^0.3.3",
63
- "@odla-ai/apps": "^0.8.0",
64
- "@odla-ai/db": "^0.6.3",
65
- "@odla-ai/security": "^0.2.2"
60
+ "@odla-ai/ai": "^0.4.0",
61
+ "@odla-ai/apps": "^0.8.1",
62
+ "@odla-ai/db": "^0.6.4",
63
+ "@odla-ai/security": "^0.3.1"
66
64
  },
67
65
  "devDependencies": {
68
66
  "@types/node": "^22.10.0",
@@ -124,5 +124,7 @@ code, paste a publishable key, run a command) — and wait for a nod.
124
124
  - `references/build.md` — the greenfield build, step by step, with the exact
125
125
  commands and what to verify at each one.
126
126
  - `references/sdks.md` — SDK cheat-sheet (what each does + minimal real usage).
127
- Every installed SDK also ships `node_modules/@odla-ai/<pkg>/llms.txt` read
128
- it for the full, current API.
127
+ For the full, version-matched API, read the installed package's README and
128
+ exported TypeScript declarations/JSDoc (resolve entry points through its
129
+ `package.json` `exports`). Rendered references are also public at
130
+ `https://odla.ai/docs/packages/<pkg>`.
@@ -30,9 +30,10 @@ deployed-secret transfer. With o11y, install `@odla-ai/o11y`, add
30
30
  `"nodejs_compat"` to `compatibility_flags`, and wrap the entrypoint with
31
31
  `withObservability`.
32
32
 
33
- Each installed package's `node_modules/@odla-ai/<pkg>/llms.txt` is the full API
34
- contract. The npm artifacts contain everything required for this flow; private
35
- service source or online documentation is not setup context.
33
+ Each installed package's README and exported TypeScript declarations/JSDoc are
34
+ the version-matched API contract; resolve public entry points through its
35
+ `package.json` `exports`. The npm artifacts contain everything required for
36
+ this flow; private service source or online documentation is not setup context.
36
37
 
37
38
  ## 3. Provision ⏸ device-code approval
38
39
 
@@ -87,12 +88,12 @@ code. Browser code uses db subscriptions under explicit rules or pure
87
88
  Install the passive harness and scan before any production secret or deploy:
88
89
 
89
90
  Before installing the exact release, first verify
90
- `npm view @odla-ai/security@0.2.2 version`. An exact-version `E404` means the
91
+ `npm view @odla-ai/security@0.3.1 version`. An exact-version `E404` means the
91
92
  release is unavailable and blocks this preflight; it is not a clean scan and
92
93
  does not prove the package name is absent.
93
94
 
94
95
  ```
95
- npm i -D --save-exact @odla-ai/security@0.2.2
96
+ npm i -D --save-exact @odla-ai/security@0.3.1
96
97
  npx odla-security scan . --profile odla --out .odla/security/pre-ship --fail-on high --fail-on-candidates critical
97
98
  ```
98
99
 
@@ -1,8 +1,9 @@
1
1
  # odla SDK cheat-sheet
2
2
 
3
- Install only what the app needs. Every package ships an `llms.txt` in
4
- `node_modules/@odla-ai/<pkg>/` with the full, current API read it. Minimal
5
- real usage below.
3
+ Install only what the app needs. Prefer the installed package's README and
4
+ exported TypeScript declarations/JSDoc over training memory; resolve public
5
+ entry points through its `package.json` `exports`. Rendered references are also
6
+ available at `https://odla.ai/docs/packages/<pkg>`. Minimal real usage follows.
6
7
 
7
8
  ## @odla-ai/db — realtime graph database
8
9
 
@@ -99,12 +100,12 @@ Run the passive CLI in local/CI development; do not import it into the running
99
100
  Worker:
100
101
 
101
102
  Before installing the exact release, require
102
- `npm view @odla-ai/security@0.2.2 version` to succeed before installing it. An
103
+ `npm view @odla-ai/security@0.3.1 version` to succeed before installing it. An
103
104
  exact-version `E404` means the release is unavailable, not that the preflight
104
105
  passed, and does not prove the package name is absent.
105
106
 
106
107
  ```
107
- npm i -D --save-exact @odla-ai/security@0.2.2
108
+ npm i -D --save-exact @odla-ai/security@0.3.1
108
109
  npx odla-security scan . --profile odla --out .odla/security/pre-ship --fail-on high --fail-on-candidates critical
109
110
  ```
110
111
 
@@ -121,5 +121,6 @@ On any failure, read references/troubleshooting.md before improvising.
121
121
  This installed skill and its `references/` directory are the complete migration
122
122
  runbook; do not fetch a website or private source repository to reconstruct it.
123
123
  Read only the current phase file as directed above. After `npm install`, prefer
124
- `node_modules/@odla-ai/*/llms.txt` over training memory for package APIs the
125
- installed artifact is the version this project actually uses.
124
+ each installed package's README and exported TypeScript declarations/JSDoc over
125
+ training memory; resolve entry points through its `package.json` `exports`.
126
+ Those artifacts describe the version this project actually uses.
@@ -11,8 +11,8 @@ opens the review page in interactive terminals; loading it alone is inert.
11
11
 
12
12
  ## Steps
13
13
 
14
- 1. Require `npm view @odla-ai/cli@0.10.1 version` to succeed, then run
15
- `npm i -D --save-exact @odla-ai/cli@0.10.1` and `npm i @odla-ai/db`.
14
+ 1. Require `npm view @odla-ai/cli@0.10.2 version` to succeed, then run
15
+ `npm i -D --save-exact @odla-ai/cli@0.10.2` and `npm i @odla-ai/db`.
16
16
  2. `npx @odla-ai/cli init --app-id <id> --name "<Name>" --env dev --services db`
17
17
  Review `odla.config.mjs`. Keep `envs: ["dev"]` — prod is Phase 5. Set
18
18
  `links.dev` to the URL the Phase 1 `wrangler deploy` **actually printed** —
@@ -22,7 +22,7 @@ opens the review page in interactive terminals; loading it alone is inert.
22
22
  public-config show where the app runs. (`links.prod` is set the same way at
23
23
  Phase 5, from the prod deploy's printed URL.)
24
24
  3. STOP before touching schema: read "Porting relational code" in
25
- `node_modules/@odla-ai/db/llms.txt`. The traps are silent: entity ids
25
+ `node_modules/@odla-ai/db/README.md`. The traps are silent: entity ids
26
26
  are not attrs (mirror an id attr), there is no NULL (omit on write,
27
27
  re-project on read), lists need explicit `order`, uniques are
28
28
  single-attr (derive composite keys), ON CONFLICT maps to `mutationId`
@@ -49,8 +49,9 @@ opens the review page in interactive terminals; loading it alone is inert.
49
49
  10. Add `/api/*` routes before the assets fall-through, using
50
50
  `init({ appId: env.ODLA_TENANT, adminToken: env.ODLA_API_KEY,
51
51
  endpoint: env.ODLA_ENDPOINT })` from `@odla-ai/db`. Read the installed
52
- package's `node_modules/@odla-ai/db/llms.txt` for query, transaction, and
53
- error contracts.
52
+ package's README and exported TypeScript declarations/JSDoc for query,
53
+ transaction, and error contracts. The rendered reference is at
54
+ `https://odla.ai/docs/packages/db` when online.
54
55
  11. `wrangler dev` + curl each route; then `npm run deploy:app:dev` and
55
56
  curl the workers.dev URL.
56
57
 
@@ -9,8 +9,8 @@ server-issued Google consent page. They never paste an OAuth code or token.
9
9
 
10
10
  1. Inventory the old behavior. Distinguish a public appointment-page link from
11
11
  actual event create/reschedule/cancel APIs. Do not promise more than exists.
12
- 2. Require `npm view @odla-ai/calendar@0.1.0 version` to succeed, then install
13
- `npm i --save-exact @odla-ai/calendar@0.1.0` as a runtime dependency. An
12
+ 2. Require `npm view @odla-ai/calendar@0.1.1 version` to succeed, then install
13
+ `npm i --save-exact @odla-ai/calendar@0.1.1` as a runtime dependency. An
14
14
  exact-version `E404` blocks this phase; do not substitute a git checkout or
15
15
  another version. Add `"calendar"` beside
16
16
  `"db"` in services and configure:
@@ -24,9 +24,10 @@ own terminal so you never see the value.
24
24
  3. `npm i @odla-ai/ai`. In the worker, use `initFromPlatform` — it reads
25
25
  provider/model from public-config (cached ~60s) and resolves the key
26
26
  from the vault at call time using only the app's db key. Provider and
27
- model are switchable in Studio with no redeploy. Read
28
- `node_modules/@odla-ai/ai/llms.txt` and the public platform manual for the
29
- complete vault + public-config contract.
27
+ model are switchable in Studio with no redeploy. Read the installed
28
+ `node_modules/@odla-ai/ai/README.md` and exported TypeScript
29
+ declarations/JSDoc for the version-matched API; the rendered reference at
30
+ `https://odla.ai/docs/packages/ai` covers the public platform composition.
30
31
  4. Add one `/api/*` route that round-trips the model; deploy dev.
31
32
 
32
33
  ## Verification checklist
@@ -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.2 version` to succeed. An
27
+ first require `npm view @odla-ai/security@0.3.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.2` followed by
30
+ `npm i -D --save-exact @odla-ai/security@0.3.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.
@@ -80,6 +80,6 @@ the printed `secrets push --env ...` retry and do not rotate again.
80
80
  ## Something not covered here
81
81
 
82
82
  Check, in order: `npx @odla-ai/cli doctor` output; this skill's current phase
83
- and troubleshooting references; then the relevant installed
84
- `node_modules/@odla-ai/*/llms.txt`. Do not improvise around a safety rule to
85
- unblock yourself — surface the blocker to the human instead.
83
+ and troubleshooting references; then the relevant installed package README and
84
+ exported TypeScript declarations/JSDoc. Do not improvise around a safety rule
85
+ to unblock yourself — surface the blocker to the human instead.