Commit Graph

874 Commits

Author SHA1 Message Date
Peter Steinberger
46331eabc3
chore: fix copyright header 2026-04-27 11:27:15 +01:00
Peter Steinberger
05239aed5b
fix(gmail): infer draft reply subject 2026-04-27 11:24:52 +01:00
Peter Steinberger
7429f6fc42
fix(drive): include thumbnail fields in metadata 2026-04-27 11:24:42 +01:00
Peter Steinberger
6430dd1a99
fix(secrets): time out macOS keyring operations
Co-authored-by: Sardor Umarov <sardoru@gmail.com>
2026-04-27 11:22:17 +01:00
Peter Steinberger
8135cc3ff8
fix(secrets): make file keyring keys Windows-safe
Co-authored-by: solomonneas <srneas@gmail.com>
2026-04-27 11:20:48 +01:00
Peter Steinberger
068ff0e593
feat(backup): expand workspace backup coverage 2026-04-27 11:13:40 +01:00
Peter Steinberger
896cccc3dc
refactor(gmail): split reply metadata helpers 2026-04-27 10:31:53 +01:00
Peter Steinberger
9f2fae2913
refactor(docs): centralize tab helpers 2026-04-27 10:31:51 +01:00
Peter Steinberger
b1b427da5f
refactor(drive): centralize file field masks 2026-04-27 10:31:48 +01:00
Peter Steinberger
6f917ee74e
feat(backup): add workspace service adapters 2026-04-27 10:31:44 +01:00
Peter Steinberger
ee9b552dcd
feat(backup): add plaintext read and export commands 2026-04-27 10:15:26 +01:00
Peter Steinberger
922ca38b3b
fix(docs): show available tabs on lookup errors
Co-authored-by: Ben Lewis <johnbenjaminlewis@gmail.com>
2026-04-27 10:12:24 +01:00
Peter Steinberger
63cfefe144
fix(gmail): expose reply threading metadata
Co-authored-by: Solomon Neas <srneas@gmail.com>
2026-04-27 10:12:21 +01:00
Peter Steinberger
3f46ddf14a
fix(drive): include driveId in file field masks
Co-authored-by: Sheng <sheng@tesserac.ai>
2026-04-27 10:12:18 +01:00
Peter Steinberger
533718b8e7
docs(changelog): open 0.14.0 cycle 2026-04-27 09:31:47 +01:00
Peter Steinberger
b5d86989a2
test(backup): commit manifest tamper fixtures 2026-04-27 09:26:21 +01:00
Peter Steinberger
a7c5428a4e
test(backup): keep backup tests local-only 2026-04-27 09:22:53 +01:00
Peter Steinberger
e49e9f45c3
feat(backup): add encrypted Google backups 2026-04-27 09:19:06 +01:00
Peter Steinberger
0337dcc572
docs: add gog skill 2026-04-27 02:11:45 +01:00
Peter Steinberger
5cd913e287
release: v0.13.0
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / windows (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-04-20 23:09:30 +01:00
Peter Steinberger
5f396e6f49
fix(docs): honor create dry-run 2026-04-20 23:04:20 +01:00
Peter Steinberger
a6e6d82423
build(deps): update dependency pins 2026-04-20 22:55:31 +01:00
Peter Steinberger
d3ac6b7311
docs(changelog): organize unreleased notes 2026-04-20 21:15:41 +01:00
Peter Steinberger
e22ae86289
fix(sheets): preserve chart sheet ID zero
Co-authored-by: Andrea Bergonzo <andybergon@gmail.com>
2026-04-20 20:53:57 +01:00
Peter Steinberger
acb40a8152
feat(sheets): add chart commands
Co-authored-by: Andrea Bergonzo <andybergon@gmail.com>
2026-04-20 20:41:15 +01:00
Peter Steinberger
7850415b87
refactor(cmd): keep landed PR paths lint-clean
Co-authored-by: iskkw9973 <ishikawam.dev@gmail.com>
Co-authored-by: klodr <klodr@users.noreply.github.com>
2026-04-20 19:20:54 +01:00
Peter Steinberger
64ab3772bf
feat(gmail,contacts): land label style and contact gender
Co-authored-by: iskkw9973 <ishikawam.dev@gmail.com>
Co-authored-by: klodr <klodr@users.noreply.github.com>
2026-04-20 19:17:47 +01:00
Peter Steinberger
dbeca138c3
docs: add generated command reference 2026-04-20 19:06:53 +01:00
Peter Steinberger
35d0ff4f47
test(gmail): extend live no-send smokes 2026-04-20 19:06:48 +01:00
Peter Steinberger
0ea676369d
refactor(gmail): centralize compose send plumbing 2026-04-20 19:06:45 +01:00
spencer-c-reed
13a1aaea13
feat(gmail): add forward command
Add `gog gmail forward` / `gog gmail fwd` with optional notes, verified send-as selection, forwarded headers, thread metadata, and attachment carry-over.

Hardening in this landing pass:
- include forward/fwd in Gmail no-send guard paths
- enforce per-account no-send before any Gmail API fetch/send work
- de-duplicate forwarded header formatting and test service setup
- update README, spec, and changelog

Validation:
- make fmt
- go test ./internal/cmd -run Forward\|NoSend
- make lint && make test && make build
- make ci
- clawdbot live smoke: read-only gmail search/thread get, forward dry-run with real message id, --gmail-no-send forward blocked before send

Co-authored-by: Spencer Reed <spencer.cavendish.reed@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 17:28:27 +01:00
Alex Hillman
db3a32432c
feat(calendar): add secondary calendar creation
Adds `gog calendar create-calendar` / `new-calendar` for secondary Google Calendar creation with summary, description, timezone, and location.

Landing polish:
- removed unrelated `.byline` cache files from the PR branch
- validates IANA timezone names locally
- dry-run no longer opens the Calendar service
- includes location in text output
- added request/body, text, dry-run, and validation tests
- README/spec/CHANGELOG entries

Local verification:
- go test ./internal/cmd -run TestCalendarCreateCalendarCmd
- make lint
- make test
- make build
- make ci
- live Calendar smoke with clawdbot@gmail.com: created secondary calendar, verified summary/timezone/location, deleted it via the same auth path

Thanks @alexknowshtml.

Co-authored-by: Alex Hillman <alex@indyhall.org>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 17:14:11 +01:00
Gianfranco P
a1fd0a8333
feat(slides): add rendered slide thumbnails
Adds `gog slides thumbnail` / `thumb` for rendered slide thumbnail URLs and optional PNG/JPEG downloads.

Landing polish:
- supports `--out` with `--output` alias
- uses shared output-file helper for expansion, parent creation, and private perms
- preserves close/write errors
- adds missing presentation-id test plus docs/spec/CHANGELOG

Local verification:
- go test ./internal/cmd -run TestSlidesThumbnail
- make lint
- make test
- make build
- make ci
- live Slides smoke with clawdbot@gmail.com: created deck, listed slide, downloaded medium PNG thumbnail, verified PNG bytes, trashed deck

Thanks @gianpaj.

Co-authored-by: gianpaj <gianpa@gmail.com>
2026-04-20 16:52:53 +01:00
Ben Lewis
5d332f7746
feat(drive): convert Markdown uploads to Docs
Adds Markdown upload conversion to Google Docs via `--convert` / `--convert-to doc`, strips leading YAML frontmatter by default, and provides `--keep-frontmatter` for the opt-out path.

Landing polish:
- byte-based frontmatter stripping with BOM/CRLF coverage
- Drive upload media tests for stripped and preserved frontmatter
- README/spec/CHANGELOG coverage

Local verification:
- focused `go test ./internal/cmd -run ...`
- make lint
- make test
- make build
- make ci
- live Drive smoke with clawdbot@gmail.com: converted Markdown upload, Markdown export verified no frontmatter, opt-out verified preserved content, both files trashed

Thanks @johnbenjaminlewis.

Co-authored-by: Ben Lewis <johnbenjaminlewis@gmail.com>
2026-04-20 16:39:48 +01:00
takashiyamaguchi
c73bb23fec
feat(auth): add credentials remove command
Adds `gog auth credentials remove [<client>|all]` with token/domain cleanup, JSON output, dry-run support, docs, and regression tests.

Local verification:
- make fmt
- make lint
- make test
- make build
- make ci

Thanks @yamagucci.

Co-authored-by: takashiyamaguchi <yama0628taka@gmail.com>
2026-04-20 16:32:03 +01:00
Peter Steinberger
2d0533557c
docs(readme): sync examples with CLI 2026-04-20 16:15:51 +01:00
Peter Steinberger
d84148a424
feat(gmail): add command and send safety guards
Co-authored-by: EricYangTL <eric@topazlabs.com>
Co-authored-by: spookyuser <16196262+spookyuser@users.noreply.github.com>
Co-authored-by: VeteranBV <henrysowell@gmail.com>
2026-04-20 16:05:19 +01:00
Peter Steinberger
4f5e474059
fix(cli): improve completion and Windows live testing
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: gagradebnath <salemdebnath@gmail.com>
2026-04-20 16:05:12 +01:00
Peter Steinberger
a8531f26b8
style(secrets): satisfy lint 2026-04-20 15:31:03 +01:00
Peter Steinberger
67ff204d1d
feat(drive,sheets): polish listings and tab commands
Co-authored-by: laihenyi <henyi@henyi.org>

Co-authored-by: Alex Hillman <alex@indyhall.org>

Co-authored-by: Umar Khan <ufkhan97@gmail.com>

Co-authored-by: Matthias Kurz <m.kurz@irregular.at>
2026-04-20 15:29:14 +01:00
Peter Steinberger
c4665c4bff
feat(auth): add ads service and keyring namespace override
Co-authored-by: Umar Khan <ufkhan97@gmail.com>

Co-authored-by: Matthias Kurz <m.kurz@irregular.at>
2026-04-20 15:29:03 +01:00
Peter Steinberger
3d63ebcc3e
fix(gmail): mark non-ascii html mime as 8bit
Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
2026-04-20 15:28:58 +01:00
Peter Steinberger
ade1214edc
refactor: split command test helpers
Co-authored-by: twilsher <273817+twilsher@users.noreply.github.com>
Co-authored-by: Alex <1514933+alexuser@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: pavelzak <2132599+pavelzak@users.noreply.github.com>
2026-04-20 15:11:55 +01:00
Peter Steinberger
e13b2c102d
refactor: clarify recently landed PR helpers
Co-authored-by: twilsher <273817+twilsher@users.noreply.github.com>
Co-authored-by: Alex <1514933+alexuser@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: pavelzak <2132599+pavelzak@users.noreply.github.com>
2026-04-20 14:55:46 +01:00
Peter Steinberger
c92d2e6371
feat(drive): support commenter share role (#443)
Co-authored-by: pavelzak <2132599+pavelzak@users.noreply.github.com>
2026-04-20 14:33:47 +01:00
Peter Steinberger
fe06c3cfb7
feat(gmail): add full message search bodies (#447)
Co-authored-by: Dewaldt Huysamen <5792287+GodsBoy@users.noreply.github.com>
2026-04-20 14:33:41 +01:00
Peter Steinberger
f1cef0d2da
feat(chat): support substring space lookup (#506)
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
2026-04-20 14:33:33 +01:00
Peter Steinberger
a3f083c906
fix(tracking): prefer file secrets over stale keyring (#469)
Co-authored-by: Alex <1514933+alexuser@users.noreply.github.com>
2026-04-20 14:33:27 +01:00
Peter Steinberger
b048241696
fix(docs): restore markdown replace writes (#501)
Co-authored-by: twilsher <273817+twilsher@users.noreply.github.com>
2026-04-20 14:33:19 +01:00
Peter Steinberger
9e53b8681e
docs(agents): require co-author trailers for contributor work 2026-04-20 14:25:25 +01:00