gws-axi 0.14.0 → 0.14.1

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.
Files changed (2) hide show
  1. package/README.md +40 -5
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,21 @@ Agent-ergonomic CLI for Google Workspace — Gmail, Calendar, Docs, Drive, and S
4
4
 
5
5
  Designed for use by AI agents. Every response is structured, every error names a specific fix, and write operations lock to the explicit account when multiple are authenticated — so two agents in parallel sessions can't silently touch the wrong mailbox.
6
6
 
7
- > **Status:** Read coverage is in across all five services — Calendar, Gmail, Docs, Drive, and Slides. **Calendar** and **Gmail** both have full write support: Calendar does `create` / `update` / `delete` / `respond`, and Gmail does triage (`modify`, `batch-modify`), drafting (`draft`), label CRUD (`label-create` / `label-update` / `label-delete`), and server-side filters (`filter-create` / `filter-delete` / `filter-list`). Gmail **`send` is intentionally out of scope** — gws-axi drafts mail for human review but never sends it. Docs writes (`append`, `insert-text`, `delete-range`) are the next frontier. Auth (including a single-developer `auth publish` walkthrough that retires the 7-day Testing-token expiry), doctor with live per-account API probes, and multi-account write-protection are stable.
7
+ ## Status
8
+
9
+ Read coverage is complete across all five services; write coverage is rolling out service by service.
10
+
11
+ | Service | Reads | Writes |
12
+ | --- | --- | --- |
13
+ | **Calendar** | ✅ events · get · calendars · search · freebusy | ✅ create · update · delete · respond |
14
+ | **Gmail** | ✅ search · read · labels · download | ✅ triage · draft · labels · filters  ·  ✋ `send` out of scope |
15
+ | **Docs** | ✅ read · find · comments · download · revisions · diff | 🚧 append · insert-text · delete-range |
16
+ | **Drive** | ✅ ls · get · search · permissions · download · revisions · activity | 🟡 upload · mkdir  ·  🚧 create · copy · move · rename · delete |
17
+ | **Slides** | ✅ get · page · summarize | 🚧 create · update |
18
+
19
+ <sub>✅ shipped · 🟡 partial · 🚧 planned · ✋ out of scope by design</sub>
20
+
21
+ Auth (including the single-developer `auth publish` walkthrough that retires the 7-day Testing-token expiry), `doctor` with live per-account API probes, and multi-account write-protection are stable. Gmail **`send` is intentionally out of scope** — gws-axi drafts mail for human review but never sends it.
8
22
 
9
23
  ## Requirements
10
24
 
@@ -182,25 +196,45 @@ Bodies are decoded per declared `Content-Type` charset (UTF-8, latin-1, ascii, u
182
196
  ### Docs
183
197
 
184
198
  ```bash
185
- gws-axi docs read <documentId> # full Doc as markdown
199
+ gws-axi docs read <documentId> # full Doc as markdown (+ recent revisions inline)
186
200
  gws-axi docs read <documentId> --out ./doc.md # write to a file
187
201
  gws-axi docs find <documentId> --query "deadline" # search inside one Doc
188
202
  gws-axi docs comments <documentId> # threaded comments + suggestions
189
- gws-axi docs download <documentId> --format pdf # native export (pdf, docx, odt, txt, html, epub, rtf)
203
+ gws-axi docs revisions <documentId> # version history (id, modified, author)
204
+ gws-axi docs diff <documentId> <revA> [revB] # unified diff between two revisions (revB defaults to head)
205
+ gws-axi docs download <documentId> --as application/pdf # native export (pdf, docx, odt, txt, html, epub, rtf)
206
+ gws-axi docs download <documentId> --revision <id> # fetch a past revision's content (markdown by default)
190
207
  ```
191
208
 
192
- Non-native files (uploaded `.docx`, `.pdf`, etc.) get pointed at `docs download` automatically rather than failing with a cryptic Google API error.
209
+ Every `docs read` carries the document's recent revisions and points at `docs revisions` / `docs download --revision` / `docs diff` — so an agent always knows which version it read. Non-native files (uploaded `.docx`, `.pdf`, etc.) get pointed at `docs download` automatically rather than failing with a cryptic Google API error.
193
210
 
194
211
  ### Drive
195
212
 
213
+ **Reads:**
214
+
196
215
  ```bash
197
216
  gws-axi drive ls # top of My Drive
198
217
  gws-axi drive ls <folder-id> --recursive # depth-unbounded; bounded by --limit instead
199
218
  gws-axi drive get <fileId> # metadata for one file
200
219
  gws-axi drive search --query "name contains 'budget'"
201
220
  gws-axi drive permissions <fileId> # who has access
221
+ gws-axi drive revisions <fileId> # version history (any file type)
222
+ gws-axi drive activity <itemId> # attributed change timeline (Drive Activity API)
223
+ gws-axi drive download <fileId> --out ./file # fetch bytes / export a native file
202
224
  ```
203
225
 
226
+ **Writes:**
227
+
228
+ ```bash
229
+ gws-axi drive mkdir "Reports" --account you@example.com # create a folder
230
+ gws-axi drive upload ./report.pdf --account you@example.com # upload a local file
231
+ echo '# Notes' | gws-axi drive upload - --name notes.md --convert --account you@example.com # stdin → native Doc
232
+ gws-axi drive upload --content '# Notes' --name notes.md --convert --account you@example.com # inline content → native Doc
233
+ gws-axi drive upload ./edited.md --convert --update <docId> --account you@example.com # replace a Doc's content (new revision)
234
+ ```
235
+
236
+ `drive upload` takes content from a local path, `-` (stdin), or `--content`; `--convert` imports it into the matching native Google format. With `--update` it replaces an existing file's content — and when that file is already the matching native type, `--convert --update` writes edited markdown back into the same Doc as a new revision.
237
+
204
238
  ### Slides
205
239
 
206
240
  ```bash
@@ -243,7 +277,8 @@ help[2]:
243
277
 
244
278
  - **Gmail `send`**: intentionally unsupported — gws-axi drafts mail but leaves sending to a human in the Gmail UI. See the Gmail section above.
245
279
  - **Docs writes** (`append`, `insert-text`, `delete-range`, etc.): scaffolded as `NOT_IMPLEMENTED`. The next frontier.
246
- - **Drive/Slides writes**: still scaffolded as `NOT_IMPLEMENTED` (reads are complete).
280
+ - **Drive writes**: `upload` and `mkdir` are shipped; `create` / `copy` / `move` / `rename` / `delete` are still scaffolded as `NOT_IMPLEMENTED`.
281
+ - **Slides writes**: still scaffolded as `NOT_IMPLEMENTED` (reads are complete).
247
282
  - **Testing-mode tokens** still expire every 7 days *if* you haven't published your OAuth app yet. Run `gws-axi auth publish` for the walkthrough — it covers the single-developer Production flow and removes the expiry once you've re-auth'd each account.
248
283
 
249
284
  ## Contributing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gws-axi",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "AXI-compliant Google Workspace CLI — token-efficient TOON output, agent-guided auth setup, unified interface for Gmail, Calendar, Docs, Drive, Slides",
5
5
  "type": "module",
6
6
  "repository": {