@odla-ai/cli 0.25.3 → 0.25.7
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 +32 -15
- package/REQUIREMENTS.md +5 -5
- package/dist/bin.cjs +405 -82
- package/dist/bin.cjs.map +1 -1
- package/dist/bin.js +3 -2
- package/dist/bin.js.map +1 -1
- package/dist/{chunk-MX6FSJUN.js → chunk-5U3EXWCR.js} +405 -82
- package/dist/chunk-5U3EXWCR.js.map +1 -0
- package/dist/index.cjs +404 -81
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -10
- package/dist/index.d.ts +11 -10
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-MX6FSJUN.js.map +0 -1
package/README.md
CHANGED
|
@@ -65,6 +65,24 @@ the first provision, use a focused commit/checkpoint, then initialize PM and
|
|
|
65
65
|
backfill that evidence immediately after registration. Never use a parallel
|
|
66
66
|
status diary or put a secret in PM.
|
|
67
67
|
|
|
68
|
+
When diagnosing a deployed app, agents can request one parseable observability
|
|
69
|
+
snapshot instead of scraping Studio or composing collector routes themselves:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx odla-ai o11y status --app <appId> --env prod --minutes 60 --json
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Schema v4 keeps application RED, reconciled live-sync load/freshness and
|
|
76
|
+
subscription recompute/fanout/payload/commit-to-send performance, the exact
|
|
77
|
+
latest protected commit-to-visible canary, collector ingest/scheduler trust,
|
|
78
|
+
and Cloudflare-owned Worker runtime evidence separate. It derives one
|
|
79
|
+
`healthy`, `degraded`, or `unhealthy` verdict with stable reason codes while
|
|
80
|
+
retaining every source response for diagnosis. Provider unavailability,
|
|
81
|
+
adaptive sampling, publication delay, collector loss, quota rejection, stale
|
|
82
|
+
jobs, missing canary configuration, stale probes, and partial
|
|
83
|
+
socket-reconciliation coverage remain explicit fields. Authentication progress
|
|
84
|
+
is stderr-only, so stdout is a single JSON document.
|
|
85
|
+
|
|
68
86
|
**Runbooks are procedure; JSDoc is API.** What a function takes, returns, and
|
|
69
87
|
guarantees is documented on the export itself, ships in the installed
|
|
70
88
|
`.d.ts`, and renders per package at <https://odla.ai/docs>. A runbook will tell
|
|
@@ -343,19 +361,22 @@ but does not revoke a token already copied elsewhere, so use Studio revocation
|
|
|
343
361
|
when compromise or accidental approval is possible.
|
|
344
362
|
|
|
345
363
|
`smoke` verifies a provisioned environment from local credentials. It fetches
|
|
346
|
-
the platform public config, checks
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
integration route probes without credentials.
|
|
350
|
-
|
|
364
|
+
the platform public config, checks configured service credentials and AI
|
|
365
|
+
provider, exercises schema and aggregate checks only when db is enabled, checks
|
|
366
|
+
owner-visible booking health when calendar is enabled, and executes declared
|
|
367
|
+
integration route probes without credentials. An o11y-only project therefore
|
|
368
|
+
does not need or mint a db key. It fails early with a clear message when
|
|
369
|
+
provisioning has not written `.odla/credentials.local.json`.
|
|
351
370
|
|
|
352
|
-
###
|
|
371
|
+
### Google Calendar booking
|
|
353
372
|
|
|
354
373
|
Calendar is a platform-custodied connector, not a Google credential stored by
|
|
355
374
|
the application. Enable both `db` and `calendar`, configure calendar ids per
|
|
356
375
|
environment, then run normal provision. The first run has two distinct human
|
|
357
376
|
checkpoints: the odla device code establishes app-owner authority, and the
|
|
358
|
-
subsequent server-issued Google page grants `calendar.events
|
|
377
|
+
subsequent server-issued Google page grants `calendar.events` and
|
|
378
|
+
`calendar.freebusy` consent so availability and booking writes stay
|
|
379
|
+
server-side.
|
|
359
380
|
|
|
360
381
|
For parity with a static Google Appointment Schedule embed/link, set the public
|
|
361
382
|
`bookingPageUrl` per environment. Provision applies it through the owner-only
|
|
@@ -605,17 +626,13 @@ export default {
|
|
|
605
626
|
},
|
|
606
627
|
calendar: {
|
|
607
628
|
google: {
|
|
608
|
-
|
|
629
|
+
availabilityCalendars: { dev: ["primary"] },
|
|
630
|
+
// Optional; defaults to the first availability calendar.
|
|
631
|
+
bookingCalendar: { dev: "primary" },
|
|
609
632
|
bookingPageUrl: {
|
|
610
633
|
dev: "https://calendar.google.com/calendar/appointments/schedules/…",
|
|
611
634
|
},
|
|
612
|
-
|
|
613
|
-
summaryPrefix: "Intro", // optional
|
|
614
|
-
organizerSelf: true, // default true
|
|
615
|
-
requireAttendees: true, // default true
|
|
616
|
-
},
|
|
617
|
-
attendeePolicy: "full", // or "hashed"
|
|
618
|
-
// This CLI release always requests calendar.events.readonly.
|
|
635
|
+
// Consent requests calendar.events + calendar.freebusy.
|
|
619
636
|
},
|
|
620
637
|
},
|
|
621
638
|
auth: {
|
package/REQUIREMENTS.md
CHANGED
|
@@ -68,11 +68,11 @@ Agnacl, but none should mention or special-case Agnacl.
|
|
|
68
68
|
- Google consent must be a separate, state-bound platform checkpoint. The CLI may
|
|
69
69
|
print/open and poll an opaque attempt, but must never receive an OAuth code,
|
|
70
70
|
access token, or refresh token.
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
- Calendar connect/status/discovery/
|
|
74
|
-
machine-readable. Disconnect must be explicit and disclose that
|
|
75
|
-
|
|
71
|
+
- Calendar booking consent must request the exact writable event and free/busy
|
|
72
|
+
scopes required by the live proxy; no Google credential belongs in app code.
|
|
73
|
+
- Calendar connect/status/discovery/disconnect must be resumable and
|
|
74
|
+
machine-readable. Disconnect must be explicit and disclose that odla stores
|
|
75
|
+
no mirrored event or attendee rows.
|
|
76
76
|
- A public per-env `bookingPageUrl` must be validated and applied independently
|
|
77
77
|
of connector config so static Appointment Schedule embeds need no Google/app
|
|
78
78
|
credential in browser code.
|