google-workspace-mcp 2.1.1 → 2.3.6

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 (46) hide show
  1. package/README.md +17 -2
  2. package/dist/accounts.d.ts.map +1 -1
  3. package/dist/accounts.js +1 -0
  4. package/dist/accounts.js.map +1 -1
  5. package/dist/excelHelpers.d.ts +108 -0
  6. package/dist/excelHelpers.d.ts.map +1 -0
  7. package/dist/excelHelpers.js +343 -0
  8. package/dist/excelHelpers.js.map +1 -0
  9. package/dist/securityHelpers.d.ts +118 -0
  10. package/dist/securityHelpers.d.ts.map +1 -0
  11. package/dist/securityHelpers.js +437 -0
  12. package/dist/securityHelpers.js.map +1 -0
  13. package/dist/server.js +22 -6
  14. package/dist/server.js.map +1 -1
  15. package/dist/serverWrapper.d.ts +9 -1
  16. package/dist/serverWrapper.d.ts.map +1 -1
  17. package/dist/serverWrapper.js +76 -7
  18. package/dist/serverWrapper.js.map +1 -1
  19. package/dist/tools/calendar.tools.d.ts.map +1 -1
  20. package/dist/tools/calendar.tools.js +2 -1
  21. package/dist/tools/calendar.tools.js.map +1 -1
  22. package/dist/tools/docs.tools.d.ts.map +1 -1
  23. package/dist/tools/docs.tools.js +29 -10
  24. package/dist/tools/docs.tools.js.map +1 -1
  25. package/dist/tools/drive.tools.d.ts.map +1 -1
  26. package/dist/tools/drive.tools.js +680 -6
  27. package/dist/tools/drive.tools.js.map +1 -1
  28. package/dist/tools/excel.tools.d.ts +3 -0
  29. package/dist/tools/excel.tools.d.ts.map +1 -0
  30. package/dist/tools/excel.tools.js +651 -0
  31. package/dist/tools/excel.tools.js.map +1 -0
  32. package/dist/tools/forms.tools.d.ts.map +1 -1
  33. package/dist/tools/forms.tools.js +13 -7
  34. package/dist/tools/forms.tools.js.map +1 -1
  35. package/dist/tools/gmail.tools.d.ts.map +1 -1
  36. package/dist/tools/gmail.tools.js +376 -37
  37. package/dist/tools/gmail.tools.js.map +1 -1
  38. package/dist/tools/sheets.tools.d.ts.map +1 -1
  39. package/dist/tools/sheets.tools.js +138 -4
  40. package/dist/tools/sheets.tools.js.map +1 -1
  41. package/dist/tools/slides.tools.d.ts.map +1 -1
  42. package/dist/tools/slides.tools.js +3 -1
  43. package/dist/tools/slides.tools.js.map +1 -1
  44. package/dist/types.d.ts +5 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +14 -6
package/README.md CHANGED
@@ -10,7 +10,7 @@ Connect Claude Desktop (or other MCP clients) to your entire Google Workspace: D
10
10
  > 👥 **NEW:** Multi-account support (connect multiple Google accounts)
11
11
  > 🔧 **NEW:** CLI for easy setup and account management
12
12
 
13
- This comprehensive server uses the Model Context Protocol (MCP) and the `fastmcp` library to provide **83+ tools** for reading, writing, formatting, and managing your entire Google Workspace. It acts as a powerful bridge, allowing AI assistants like Claude to interact with your documents, emails, calendars, and files programmatically.
13
+ This comprehensive server uses the Model Context Protocol (MCP) and the `fastmcp` library to provide **95+ tools** for reading, writing, formatting, and managing your entire Google Workspace. It acts as a powerful bridge, allowing AI assistants like Claude to interact with your documents, emails, calendars, and files programmatically.
14
14
 
15
15
  **Upgrading from [a-bonus/google-docs-mcp](https://github.com/a-bonus/google-docs-mcp)?** See [UPGRADE.md](UPGRADE.md) for migration instructions.
16
16
 
@@ -57,6 +57,18 @@ This comprehensive server uses the Model Context Protocol (MCP) and the `fastmcp
57
57
  - **Add Sheets:** Add new sheets/tabs to spreadsheets with `addSpreadsheetSheet`
58
58
  - **List Spreadsheets:** Find and list spreadsheets with `listGoogleSheets`
59
59
 
60
+ ### 🆕 Excel Format Support (Sheets)
61
+
62
+ Edit Excel-format files (.xlsx/.xls) directly on Google Drive without converting to native Sheets:
63
+
64
+ - **List Excel Files:** Find Excel-format files with `listExcelFiles`
65
+ - **Read Data:** Read ranges with `readExcelFile` (A1 notation supported)
66
+ - **Write Data:** Write to cells (`writeExcelCell`) or ranges (`writeExcelRange`)
67
+ - **Append Rows:** Add data with `appendExcelRows`
68
+ - **Sheet Management:** `listExcelSheets`, `addExcelSheet`, `deleteExcelSheet`, `renameExcelSheet`
69
+ - **File Info:** Get metadata with `getExcelInfo`
70
+ - **Convert to Sheets:** Use `convertExcelToSheets` when you need full Sheets API support
71
+
60
72
  ### 🆕 Google Drive File Management
61
73
 
62
74
  - **Document Discovery:** Find and list documents with `listGoogleDocs`, `searchGoogleDocs`, `getRecentGoogleDocs`
@@ -73,7 +85,9 @@ This comprehensive server uses the Model Context Protocol (MCP) and the `fastmcp
73
85
  - **Mark Read/Unread:** Quick status changes with `markAsRead` and `markAsUnread`
74
86
  - **Threads:** View conversations with `listGmailThreads` and `readGmailThread`
75
87
  - **Attachments:**
76
- - Download: `getGmailAttachment` (get attachment data by ID)
88
+ - Preview: `getGmailAttachment` (get truncated attachment data for preview)
89
+ - Download: `downloadGmailAttachment` (save full attachment to local file)
90
+ - Save to Drive: `saveAttachmentToDrive` (upload attachment directly to Google Drive)
77
91
  - Add to draft: `addAttachmentToDraft` (attach files to existing drafts)
78
92
  - Remove from draft: `removeAttachmentFromDraft`
79
93
  - **Labels:** List labels with `listGmailLabels`, add with `addGmailLabel`, remove with `removeGmailLabel`
@@ -238,6 +252,7 @@ echo "Add test users at: https://console.cloud.google.com/apis/credentials/conse
238
252
  - `https://www.googleapis.com/auth/spreadsheets` (Google Sheets)
239
253
  - `https://www.googleapis.com/auth/drive` (Google Drive - full access)
240
254
  - `https://www.googleapis.com/auth/gmail.modify` (Gmail)
255
+ - `https://www.googleapis.com/auth/gmail.settings.basic` (Gmail filters)
241
256
  - `https://www.googleapis.com/auth/calendar` (Google Calendar)
242
257
  - `https://www.googleapis.com/auth/presentations` (Google Slides)
243
258
  - `https://www.googleapis.com/auth/forms.body` (Google Forms)
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAyB1E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,YAAY,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC/B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;CACvB;AAgKD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBxD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAiCpF;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAG7D;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAGpD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC,CAgCD;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0DtE;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,aAAa,CAAC,CA4IxB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB1E"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AA0B1E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,YAAY,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC/B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;CACvB;AAgKD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBxD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAiCpF;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAG7D;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAGpD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC,CAgCD;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0DtE;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,aAAa,CAAC,CA4IxB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB1E"}
package/dist/accounts.js CHANGED
@@ -15,6 +15,7 @@ const SCOPES = [
15
15
  'https://www.googleapis.com/auth/drive',
16
16
  'https://www.googleapis.com/auth/spreadsheets',
17
17
  'https://www.googleapis.com/auth/gmail.modify',
18
+ 'https://www.googleapis.com/auth/gmail.settings.basic', // Required for filter management
18
19
  'https://www.googleapis.com/auth/calendar',
19
20
  'https://www.googleapis.com/auth/presentations',
20
21
  'https://www.googleapis.com/auth/forms.body',
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import * as XLSX from 'xlsx';
2
+ import type { drive_v3 } from 'googleapis';
3
+ export declare const EXCEL_MIME_TYPES: {
4
+ xlsx: string;
5
+ xls: string;
6
+ };
7
+ export type CellValue = string | number | boolean | Date | null | undefined;
8
+ /**
9
+ * Check if a file is an Excel file based on its MIME type
10
+ */
11
+ export declare function isExcelFile(mimeType: string | null | undefined): boolean;
12
+ /**
13
+ * Download an Excel file from Google Drive and parse it into a workbook
14
+ */
15
+ export declare function downloadAndParseExcel(drive: drive_v3.Drive, fileId: string): Promise<{
16
+ workbook: XLSX.WorkBook;
17
+ fileName: string;
18
+ mimeType: string;
19
+ }>;
20
+ /**
21
+ * Upload a workbook back to Google Drive, replacing the existing file
22
+ */
23
+ export declare function uploadExcel(drive: drive_v3.Drive, fileId: string, workbook: XLSX.WorkBook, mimeType?: string): Promise<void>;
24
+ /**
25
+ * Get list of sheet names in a workbook
26
+ */
27
+ export declare function getSheetNames(workbook: XLSX.WorkBook): string[];
28
+ /**
29
+ * Get a worksheet by name, throwing an error if not found
30
+ */
31
+ export declare function getWorksheet(workbook: XLSX.WorkBook, sheetName?: string): XLSX.WorkSheet;
32
+ /**
33
+ * Parse A1 notation range into column/row components
34
+ * e.g., "A1" -> { col: 0, row: 0 }
35
+ * e.g., "B3:D5" -> { startCol: 1, startRow: 2, endCol: 3, endRow: 4 }
36
+ */
37
+ export interface CellRef {
38
+ col: number;
39
+ row: number;
40
+ }
41
+ export interface RangeRef {
42
+ start: CellRef;
43
+ end: CellRef;
44
+ }
45
+ export declare function parseA1Notation(a1: string): CellRef | RangeRef;
46
+ /**
47
+ * Convert column index (0-based) to A1 notation letters
48
+ */
49
+ export declare function colIndexToLetter(col: number): string;
50
+ /**
51
+ * Convert cell ref to A1 notation string
52
+ */
53
+ export declare function cellRefToA1(ref: CellRef): string;
54
+ /**
55
+ * Read a range of cells from a worksheet
56
+ */
57
+ export declare function readRange(sheet: XLSX.WorkSheet, range: string): CellValue[][];
58
+ /**
59
+ * Read a single cell from a worksheet
60
+ */
61
+ export declare function readCell(sheet: XLSX.WorkSheet, cellRef: string): CellValue;
62
+ /**
63
+ * Write a value to a single cell
64
+ */
65
+ export declare function writeCell(sheet: XLSX.WorkSheet, cellRef: string, value: CellValue): void;
66
+ /**
67
+ * Write a 2D array of values to a range starting at a cell
68
+ */
69
+ export declare function writeRange(sheet: XLSX.WorkSheet, startCell: string, values: CellValue[][]): {
70
+ updatedCells: number;
71
+ updatedRows: number;
72
+ updatedColumns: number;
73
+ };
74
+ /**
75
+ * Append rows to the end of data in a sheet
76
+ */
77
+ export declare function appendRows(sheet: XLSX.WorkSheet, values: CellValue[][], startColumn?: string): {
78
+ appendedRows: number;
79
+ startingRow: number;
80
+ };
81
+ /**
82
+ * Clear a range of cells
83
+ */
84
+ export declare function clearRange(sheet: XLSX.WorkSheet, range: string): number;
85
+ /**
86
+ * Get info about a worksheet (dimensions, row/col count)
87
+ */
88
+ export interface SheetInfo {
89
+ name: string;
90
+ rowCount: number;
91
+ columnCount: number;
92
+ range: string;
93
+ usedRange: string | null;
94
+ }
95
+ export declare function getSheetInfo(workbook: XLSX.WorkBook, sheetName: string): SheetInfo;
96
+ /**
97
+ * Create a new sheet in a workbook
98
+ */
99
+ export declare function addSheet(workbook: XLSX.WorkBook, sheetName: string): XLSX.WorkSheet;
100
+ /**
101
+ * Delete a sheet from a workbook
102
+ */
103
+ export declare function deleteSheet(workbook: XLSX.WorkBook, sheetName: string): void;
104
+ /**
105
+ * Rename a sheet in a workbook
106
+ */
107
+ export declare function renameSheet(workbook: XLSX.WorkBook, oldName: string, newName: string): void;
108
+ //# sourceMappingURL=excelHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excelHelpers.d.ts","sourceRoot":"","sources":["../src/excelHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,343 @@
1
+ // excelHelpers.ts - Helper functions for manipulating Excel-format files (.xlsx/.xls) via Drive API
2
+ // Extends Sheets functionality to work with Excel formats without requiring conversion
3
+ import * as XLSX from 'xlsx';
4
+ // Excel MIME types
5
+ export const EXCEL_MIME_TYPES = {
6
+ xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
7
+ xls: 'application/vnd.ms-excel',
8
+ };
9
+ /**
10
+ * Check if a file is an Excel file based on its MIME type
11
+ */
12
+ export function isExcelFile(mimeType) {
13
+ if (!mimeType)
14
+ return false;
15
+ return mimeType === EXCEL_MIME_TYPES.xlsx || mimeType === EXCEL_MIME_TYPES.xls;
16
+ }
17
+ /**
18
+ * Download an Excel file from Google Drive and parse it into a workbook
19
+ */
20
+ export async function downloadAndParseExcel(drive, fileId) {
21
+ // First get file metadata to verify it's an Excel file
22
+ const metadataResponse = await drive.files.get({
23
+ fileId,
24
+ fields: 'id,name,mimeType',
25
+ });
26
+ const { name, mimeType } = metadataResponse.data;
27
+ if (!isExcelFile(mimeType)) {
28
+ throw new Error(`File "${name}" is not an Excel file. MIME type: ${mimeType}. ` +
29
+ 'This tool only works with .xlsx or .xls files stored on Drive. ' +
30
+ 'For Google Sheets, use the Sheets tools instead.');
31
+ }
32
+ // Download the file content
33
+ const response = await drive.files.get({ fileId, alt: 'media' }, { responseType: 'arraybuffer' });
34
+ // Parse with xlsx
35
+ const workbook = XLSX.read(response.data, { type: 'array' });
36
+ return {
37
+ workbook,
38
+ fileName: name || 'Unknown',
39
+ mimeType: mimeType || EXCEL_MIME_TYPES.xlsx,
40
+ };
41
+ }
42
+ /**
43
+ * Upload a workbook back to Google Drive, replacing the existing file
44
+ */
45
+ export async function uploadExcel(drive, fileId, workbook, mimeType = EXCEL_MIME_TYPES.xlsx) {
46
+ // Write workbook to buffer
47
+ const buffer = XLSX.write(workbook, {
48
+ type: 'buffer',
49
+ bookType: mimeType === EXCEL_MIME_TYPES.xls ? 'xls' : 'xlsx',
50
+ });
51
+ // Upload back to Drive
52
+ await drive.files.update({
53
+ fileId,
54
+ media: {
55
+ mimeType,
56
+ body: bufferToStream(buffer),
57
+ },
58
+ });
59
+ }
60
+ /**
61
+ * Convert a Buffer to a Readable stream for the Drive API
62
+ */
63
+ function bufferToStream(buffer) {
64
+ const { Readable } = require('stream');
65
+ const readable = new Readable();
66
+ readable.push(buffer);
67
+ readable.push(null);
68
+ return readable;
69
+ }
70
+ /**
71
+ * Get list of sheet names in a workbook
72
+ */
73
+ export function getSheetNames(workbook) {
74
+ return workbook.SheetNames;
75
+ }
76
+ /**
77
+ * Get a worksheet by name, throwing an error if not found
78
+ */
79
+ export function getWorksheet(workbook, sheetName) {
80
+ const name = sheetName || workbook.SheetNames[0];
81
+ const sheet = workbook.Sheets[name];
82
+ if (!sheet) {
83
+ const available = workbook.SheetNames.join(', ');
84
+ throw new Error(`Sheet "${name}" not found. Available sheets: ${available}`);
85
+ }
86
+ return sheet;
87
+ }
88
+ export function parseA1Notation(a1) {
89
+ const parts = a1.toUpperCase().split(':');
90
+ if (parts.length === 1) {
91
+ return parseCellRef(parts[0]);
92
+ }
93
+ return {
94
+ start: parseCellRef(parts[0]),
95
+ end: parseCellRef(parts[1]),
96
+ };
97
+ }
98
+ function parseCellRef(ref) {
99
+ const match = ref.match(/^([A-Z]+)(\d+)$/);
100
+ if (!match) {
101
+ throw new Error(`Invalid cell reference: ${ref}`);
102
+ }
103
+ const colStr = match[1];
104
+ const rowStr = match[2];
105
+ // Convert column letters to 0-based index (A=0, B=1, ..., Z=25, AA=26, etc.)
106
+ let col = 0;
107
+ for (let i = 0; i < colStr.length; i++) {
108
+ col = col * 26 + (colStr.charCodeAt(i) - 64);
109
+ }
110
+ col -= 1; // Make 0-based
111
+ const row = parseInt(rowStr, 10) - 1; // Make 0-based
112
+ return { col, row };
113
+ }
114
+ /**
115
+ * Convert column index (0-based) to A1 notation letters
116
+ */
117
+ export function colIndexToLetter(col) {
118
+ let result = '';
119
+ let c = col + 1; // Make 1-based for calculation
120
+ while (c > 0) {
121
+ const remainder = (c - 1) % 26;
122
+ result = String.fromCharCode(65 + remainder) + result;
123
+ c = Math.floor((c - 1) / 26);
124
+ }
125
+ return result;
126
+ }
127
+ /**
128
+ * Convert cell ref to A1 notation string
129
+ */
130
+ export function cellRefToA1(ref) {
131
+ return `${colIndexToLetter(ref.col)}${ref.row + 1}`;
132
+ }
133
+ /**
134
+ * Read a range of cells from a worksheet
135
+ */
136
+ export function readRange(sheet, range) {
137
+ const ref = parseA1Notation(range);
138
+ const result = [];
139
+ let startRef;
140
+ let endRef;
141
+ if ('start' in ref) {
142
+ startRef = ref.start;
143
+ endRef = ref.end;
144
+ }
145
+ else {
146
+ // Single cell - return as 1x1 array
147
+ startRef = ref;
148
+ endRef = ref;
149
+ }
150
+ for (let row = startRef.row; row <= endRef.row; row++) {
151
+ const rowData = [];
152
+ for (let col = startRef.col; col <= endRef.col; col++) {
153
+ const cellAddress = cellRefToA1({ col, row });
154
+ const cell = sheet[cellAddress];
155
+ rowData.push(cell ? cell.v : null);
156
+ }
157
+ result.push(rowData);
158
+ }
159
+ return result;
160
+ }
161
+ /**
162
+ * Read a single cell from a worksheet
163
+ */
164
+ export function readCell(sheet, cellRef) {
165
+ const cell = sheet[cellRef.toUpperCase()];
166
+ return cell ? cell.v : null;
167
+ }
168
+ /**
169
+ * Write a value to a single cell
170
+ */
171
+ export function writeCell(sheet, cellRef, value) {
172
+ const address = cellRef.toUpperCase();
173
+ if (value === null || value === undefined) {
174
+ delete sheet[address];
175
+ }
176
+ else {
177
+ // Determine cell type
178
+ let type;
179
+ if (typeof value === 'number') {
180
+ type = 'n';
181
+ }
182
+ else if (typeof value === 'boolean') {
183
+ type = 'b';
184
+ }
185
+ else if (value instanceof Date) {
186
+ type = 'd';
187
+ }
188
+ else {
189
+ type = 's';
190
+ }
191
+ sheet[address] = { t: type, v: value };
192
+ }
193
+ // Update sheet range
194
+ updateSheetRange(sheet);
195
+ }
196
+ /**
197
+ * Write a 2D array of values to a range starting at a cell
198
+ */
199
+ export function writeRange(sheet, startCell, values) {
200
+ const start = parseCellRef(startCell.toUpperCase());
201
+ let updatedCells = 0;
202
+ let maxCols = 0;
203
+ for (let rowOffset = 0; rowOffset < values.length; rowOffset++) {
204
+ const rowData = values[rowOffset];
205
+ if (rowData.length > maxCols)
206
+ maxCols = rowData.length;
207
+ for (let colOffset = 0; colOffset < rowData.length; colOffset++) {
208
+ const cellAddress = cellRefToA1({
209
+ col: start.col + colOffset,
210
+ row: start.row + rowOffset,
211
+ });
212
+ writeCell(sheet, cellAddress, rowData[colOffset]);
213
+ updatedCells++;
214
+ }
215
+ }
216
+ return {
217
+ updatedCells,
218
+ updatedRows: values.length,
219
+ updatedColumns: maxCols,
220
+ };
221
+ }
222
+ /**
223
+ * Append rows to the end of data in a sheet
224
+ */
225
+ export function appendRows(sheet, values, startColumn = 'A') {
226
+ // Find the last row with data
227
+ const range = XLSX.utils.decode_range(sheet['!ref'] || 'A1');
228
+ const lastRow = range.e.r + 1; // Next row after current data
229
+ const startCol = parseCellRef(`${startColumn}1`).col;
230
+ const startCell = cellRefToA1({ col: startCol, row: lastRow });
231
+ writeRange(sheet, startCell, values);
232
+ return {
233
+ appendedRows: values.length,
234
+ startingRow: lastRow + 1, // 1-based for user
235
+ };
236
+ }
237
+ /**
238
+ * Update the !ref property of a sheet to encompass all cells
239
+ */
240
+ function updateSheetRange(sheet) {
241
+ const range = { s: { c: Infinity, r: Infinity }, e: { c: -Infinity, r: -Infinity } };
242
+ for (const key of Object.keys(sheet)) {
243
+ if (key[0] === '!' || !key.match(/^[A-Z]+\d+$/))
244
+ continue;
245
+ const cell = XLSX.utils.decode_cell(key);
246
+ if (cell.c < range.s.c)
247
+ range.s.c = cell.c;
248
+ if (cell.r < range.s.r)
249
+ range.s.r = cell.r;
250
+ if (cell.c > range.e.c)
251
+ range.e.c = cell.c;
252
+ if (cell.r > range.e.r)
253
+ range.e.r = cell.r;
254
+ }
255
+ if (range.s.c === Infinity) {
256
+ // Empty sheet
257
+ sheet['!ref'] = 'A1';
258
+ }
259
+ else {
260
+ sheet['!ref'] = XLSX.utils.encode_range(range);
261
+ }
262
+ }
263
+ /**
264
+ * Clear a range of cells
265
+ */
266
+ export function clearRange(sheet, range) {
267
+ const ref = parseA1Notation(range);
268
+ let clearedCells = 0;
269
+ let startRef;
270
+ let endRef;
271
+ if ('start' in ref) {
272
+ startRef = ref.start;
273
+ endRef = ref.end;
274
+ }
275
+ else {
276
+ startRef = ref;
277
+ endRef = ref;
278
+ }
279
+ for (let row = startRef.row; row <= endRef.row; row++) {
280
+ for (let col = startRef.col; col <= endRef.col; col++) {
281
+ const cellAddress = cellRefToA1({ col, row });
282
+ if (sheet[cellAddress]) {
283
+ delete sheet[cellAddress];
284
+ clearedCells++;
285
+ }
286
+ }
287
+ }
288
+ updateSheetRange(sheet);
289
+ return clearedCells;
290
+ }
291
+ export function getSheetInfo(workbook, sheetName) {
292
+ const sheet = getWorksheet(workbook, sheetName);
293
+ const range = sheet['!ref'] || 'A1';
294
+ const decoded = XLSX.utils.decode_range(range);
295
+ return {
296
+ name: sheetName,
297
+ rowCount: decoded.e.r - decoded.s.r + 1,
298
+ columnCount: decoded.e.c - decoded.s.c + 1,
299
+ range: range,
300
+ usedRange: sheet['!ref'] || null,
301
+ };
302
+ }
303
+ /**
304
+ * Create a new sheet in a workbook
305
+ */
306
+ export function addSheet(workbook, sheetName) {
307
+ if (workbook.SheetNames.includes(sheetName)) {
308
+ throw new Error(`Sheet "${sheetName}" already exists in workbook.`);
309
+ }
310
+ const sheet = XLSX.utils.aoa_to_sheet([]);
311
+ XLSX.utils.book_append_sheet(workbook, sheet, sheetName);
312
+ return sheet;
313
+ }
314
+ /**
315
+ * Delete a sheet from a workbook
316
+ */
317
+ export function deleteSheet(workbook, sheetName) {
318
+ const index = workbook.SheetNames.indexOf(sheetName);
319
+ if (index === -1) {
320
+ throw new Error(`Sheet "${sheetName}" not found in workbook.`);
321
+ }
322
+ if (workbook.SheetNames.length === 1) {
323
+ throw new Error('Cannot delete the only sheet in a workbook.');
324
+ }
325
+ workbook.SheetNames.splice(index, 1);
326
+ delete workbook.Sheets[sheetName];
327
+ }
328
+ /**
329
+ * Rename a sheet in a workbook
330
+ */
331
+ export function renameSheet(workbook, oldName, newName) {
332
+ const index = workbook.SheetNames.indexOf(oldName);
333
+ if (index === -1) {
334
+ throw new Error(`Sheet "${oldName}" not found in workbook.`);
335
+ }
336
+ if (workbook.SheetNames.includes(newName)) {
337
+ throw new Error(`Sheet "${newName}" already exists in workbook.`);
338
+ }
339
+ workbook.SheetNames[index] = newName;
340
+ workbook.Sheets[newName] = workbook.Sheets[oldName];
341
+ delete workbook.Sheets[oldName];
342
+ }
343
+ //# sourceMappingURL=excelHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excelHelpers.js","sourceRoot":"","sources":["../src/excelHelpers.ts"],"names":[],"mappings":"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"}