Skip to content

feat(sheets): add bounded tab structure and formatting commands - #108

Merged
leemour merged 1 commit into
mainfrom
feat/sheets-structure
Oct 17, 2026
Merged

leemour merged 1 commit into
mainfrom
feat/sheets-structure

Conversation

@leemour

@leemour leemour commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Native Sheets commands could read and change cell values but needed raw batches for tab structure and formatting. Add create/rename/insert/format commands: create a tab inside an existing spreadsheet, rename only its title, insert up to 1,000 rows/columns before an explicit zero-based index, or format at most 10,000 selected cells.

Formatting derives leaf masks from supported CellFormat properties, preserving cell values and omitted formatting. Finite A1 parsing and JSON-object parsing are shared within the Google adapter. Equivalent raw/generated batch requests check the corresponding friendly permission keys after body validation and before credentials or provider calls. OAuth write, offline/read-only, dry-run and uncertain-write behavior remain shared.

Adopt exact Base 0.40.1, compatible with Core 0.307.0's peer range, and remove six dated Sheets vocabulary exceptions. Existing baseline files are unchanged; two new verb exceptions await the next published vocabulary (cli-base#182). Native recipes, overview, generated reference and installed-package smoke cover the new path.

Validation: 290 tests, 90.38% line coverage, ten CLI/MCP contracts, five prior-store upgrade cases, lint, types, Markdown, generation freshness, no-leak and Node/Bun installed-package checks (one Base instance). The stateful public-client candidate checker passes eight checks across 18 in-memory SDK requests; companion evidence is being added to cli-testing/performance/documents/drive-sheets.

No live Google request or write. The additions remain unreleased, with shared-project Sheets API enablement, dedicated live validation and reviewed portal publication tracked separately.

@leemour
leemour merged commit 151cebb into main Oct 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant