← Commit history

Publish 0.8.27

John Lauer ·3abc3fd1f5 ·22d ago ·parent d45636a
5 files changed +35−7
README.md+1
@@ -326,6 +326,7 @@ adom-google chat spaces | dm <email> | read --from <space|email> adom-google chat send --to <space-id|email> "<text>|-|@file" [--thread <key>]  adom-google status [--json]   # what's authorized (never prints secrets); exit 1 until authorized+adom-google youtube upload clip.mp4 --privacy unlisted   # resumable; needs `scopes --require youtube.upload youtube --auto-widen` adom-google auth --json        # blocks until Allow; ONE JSON line on stdout for tooling ``` 
SKILL.md+28
@@ -392,3 +392,31 @@ and the `_request()` helper are already generic. See [MIGRATION.md](MIGRATION.md). Short version: `adom-gmail` is now a forwarding shim; its old `~/.config/adom-gmail/config.json` is auto-imported on first `adom-google` run (gmail.readonly only, run `adom-google auth` once to add the `contacts` scope).++## YouTube (opt-in scope, not in the default set)++`youtube upload` does a **resumable** upload (video bytes cannot ride the JSON `api` passthrough) and+reports the privacy YouTube ACTUALLY applied, not what you asked for.++```bash+adom-google scopes --require youtube.upload youtube --auto-widen   # one Allow click, keeps existing scopes+adom-google youtube upload clip.mp4 --title "Demo" --privacy unlisted   # private|unlisted|public+adom-google youtube upload clip.mp4 --privacy unlisted --playlist <id> --thumbnail cover.png --json+adom-google youtube channels        # which channel this account posts to+adom-google youtube list --max 10   # recent uploads + their real privacy+adom-google youtube delete <video-id> --yes    # ONE id, never a query, never bulk+```++Notes:+- **YouTube scopes are deliberately NOT in safe/full/personal.** Widen explicitly, as above.+- **The API must be enabled** in the OAuth client's Cloud project (YouTube Data API v3). It is on for+  Adom's shared client, and `onboard` now enables it for a new org's own project. A 403 here prints+  which project, which API, the console link, and WHOSE admin fixes it (Adom's shared client vs the+  org's own).+- **Privacy can be overridden by Google.** An API project that has not passed YouTube's compliance+  audit has uploads forced to private. Verified on Adom's client 2026-09-28: `unlisted` and `private`+  are both honoured, so no audit was needed. If a future project is restricted, the command warns+  loudly with both fixes (flip it in Studio, or submit the audit) instead of reporting success.+- Progress goes to stderr; `--json` prints one line with `privacy_requested`, `privacy_applied` and+  `privacy_honored` so a caller can branch on it.+
VERSION+1−1
@@ -1 +1 @@-0.8.26+0.8.27
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-google",-  "version": "0.8.26",+  "version": "0.8.27",   "type": "app",   "license": "MIT",   "description": "Drive your whole Google Workspace from the terminal: Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat, plus a generic `api` passthrough to hit ANY Google API. Connect a personal @gmail (or another org's Google account) with ZERO setup via Adom's hosted Connector (`adom-google connect-personal`), or bring your own token-broker gateway (`provider set`): Adom staff use the private adom-google-adom provider. One-click OAuth, no client secret on your machine.",
page.json+4−5
@@ -4,7 +4,7 @@   "slug": "adom-google",   "title": "Adom Google",   "brief": "Drive your whole Google Workspace from the terminal, run by your AI. Read Gmail, write Google Docs, build Google Sheets and Google Slides, search Google Drive, manage Google Calendar and Google Tasks, and post to Google Chat, plus any Google API and a zero-setup personal Gmail.",-  "version": "0.8.26",+  "version": "0.8.27",   "visibility": "public",   "install": {     "binary_name": "adom-google"@@ -94,7 +94,7 @@   "skills": [],   "hero_path": "screenshots/hero-google-v5.png",   "hero_type": "image",-  "description": "Drive your whole Google Workspace from the terminal: Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat, plus a generic `api` passthrough to hit ANY Google API. Open source, ships with NO OAuth provider baked in: point it at your own token-broker gateway (`provider set`), buy a managed one, or: Adom staff: install the private adom-google-adom provider. One-click OAuth, no client secret on your machine. First run asks safe mode (no delete) vs full mode (incl. delete).",+  "description": "Drive your whole Google Workspace from the terminal: Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat, plus a generic `api` passthrough to hit ANY Google API. Connect a personal @gmail (or another org's Google account) with ZERO setup via Adom's hosted Connector (`adom-google connect-personal`), or bring your own token-broker gateway (`provider set`): Adom staff use the private adom-google-adom provider. One-click OAuth, no client secret on your machine.",   "keywords": [     "adom-google",     "google-workspace",@@ -118,8 +118,6 @@     "uninstall": "./uninstall.sh"   },   "files": [-    "bin/adom-google",-    "bin/adom-gmail",     "SKILL.md",     "skills/adom-google-onboarding/SKILL.md",     "README.md",@@ -128,7 +126,8 @@     "provider.example.json",     "install.sh",     "uninstall.sh",-    "package.json"+    "package.json",+    "VERSION"   ],   "org": "adom" }\ No newline at end of file