gws-axi 0.4.0 → 0.5.0

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 (38) hide show
  1. package/dist/src/cli.js +1 -2
  2. package/dist/src/cli.js.map +1 -1
  3. package/dist/src/commands/docs/download.js +1 -1
  4. package/dist/src/commands/docs/download.js.map +1 -1
  5. package/dist/src/commands/docs/read.js +1 -1
  6. package/dist/src/commands/docs/read.js.map +1 -1
  7. package/dist/src/commands/gmail/download.d.ts +2 -0
  8. package/dist/src/commands/gmail/download.js +181 -0
  9. package/dist/src/commands/gmail/download.js.map +1 -0
  10. package/dist/src/commands/gmail/labels.d.ts +2 -0
  11. package/dist/src/commands/gmail/labels.js +111 -0
  12. package/dist/src/commands/gmail/labels.js.map +1 -0
  13. package/dist/src/commands/gmail/mime.d.ts +30 -0
  14. package/dist/src/commands/gmail/mime.js +150 -0
  15. package/dist/src/commands/gmail/mime.js.map +1 -0
  16. package/dist/src/commands/gmail/mime.test.d.ts +1 -0
  17. package/dist/src/commands/gmail/mime.test.js +184 -0
  18. package/dist/src/commands/gmail/mime.test.js.map +1 -0
  19. package/dist/src/commands/gmail/read.d.ts +2 -0
  20. package/dist/src/commands/gmail/read.js +391 -0
  21. package/dist/src/commands/gmail/read.js.map +1 -0
  22. package/dist/src/commands/gmail/search.d.ts +2 -0
  23. package/dist/src/commands/gmail/search.js +318 -0
  24. package/dist/src/commands/gmail/search.js.map +1 -0
  25. package/dist/src/commands/gmail.d.ts +1 -1
  26. package/dist/src/commands/gmail.js +121 -19
  27. package/dist/src/commands/gmail.js.map +1 -1
  28. package/dist/src/google/client.d.ts +14 -0
  29. package/dist/src/google/client.js +27 -0
  30. package/dist/src/google/client.js.map +1 -1
  31. package/dist/src/util/paths.js.map +1 -0
  32. package/dist/src/util/paths.test.d.ts +1 -0
  33. package/dist/src/util/paths.test.js +71 -0
  34. package/dist/src/util/paths.test.js.map +1 -0
  35. package/package.json +6 -2
  36. package/dist/src/commands/docs/paths.js.map +0 -1
  37. /package/dist/src/{commands/docs → util}/paths.d.ts +0 -0
  38. /package/dist/src/{commands/docs → util}/paths.js +0 -0
package/dist/src/cli.js CHANGED
@@ -6,7 +6,7 @@ import { homeCommand } from "./commands/home.js";
6
6
  import { authCommand, AUTH_HELP } from "./commands/auth.js";
7
7
  import { doctorCommand, DOCTOR_HELP } from "./commands/doctor.js";
8
8
  import { calendarCommand } from "./commands/calendar.js";
9
- import { gmailCommand, GMAIL_HELP } from "./commands/gmail.js";
9
+ import { gmailCommand } from "./commands/gmail.js";
10
10
  import { docsCommand } from "./commands/docs.js";
11
11
  import { driveCommand, DRIVE_HELP } from "./commands/drive.js";
12
12
  import { slidesCommand, SLIDES_HELP } from "./commands/slides.js";
@@ -29,7 +29,6 @@ examples:
29
29
  const COMMAND_HELP = {
30
30
  auth: AUTH_HELP,
31
31
  doctor: DOCTOR_HELP,
32
- gmail: GMAIL_HELP,
33
32
  drive: DRIVE_HELP,
34
33
  slides: SLIDES_HELP,
35
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,WAAW,GACf,yIAAyI,CAAC;AAE5I,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;CAUvB,CAAC;AAEF,0EAA0E;AAC1E,0EAA0E;AAC1E,iEAAiE;AACjE,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,SAAS,CAAC;QACd,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,QAAQ;QACtB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE;QAC/B,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,aAAa;SACtB;QACD,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,KAAK,MAAM,SAAS,IAAI;QACtB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;KACvC,EAAE,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAEzD,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,WAAW,GACf,yIAAyI,CAAC;AAE5I,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;CAUvB,CAAC;AAEF,0EAA0E;AAC1E,0EAA0E;AAC1E,iEAAiE;AACjE,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,SAAS,CAAC;QACd,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,QAAQ;QACtB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE;QAC/B,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,aAAa;SACtB;QACD,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,KAAK,MAAM,SAAS,IAAI;QACtB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;KACvC,EAAE,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAEzD,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC"}
@@ -3,7 +3,7 @@ import { basename, dirname, extname } from "node:path";
3
3
  import { AxiError } from "axi-sdk-js";
4
4
  import { driveClient, translateGoogleError } from "../../google/client.js";
5
5
  import { joinBlocks, renderHelp, renderObject } from "../../output/index.js";
6
- import { resolveOutputPath } from "./paths.js";
6
+ import { resolveOutputPath } from "../../util/paths.js";
7
7
  export const DOWNLOAD_HELP = `usage: gws-axi docs download <documentId> [flags]
8
8
  args[1]:
9
9
  <documentId> The Google Doc / Drive file ID (from the URL after /d/)
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/commands/docs/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/commands/docs/download.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { AxiError } from "axi-sdk-js";
4
4
  import { docsClient, translateGoogleError } from "../../google/client.js";
5
5
  import { field, joinBlocks, renderHelp, renderList, renderObject, } from "../../output/index.js";
6
6
  import { renderBodyAsMarkdown } from "./markdown.js";
7
- import { resolveOutputPath } from "./paths.js";
7
+ import { resolveOutputPath } from "../../util/paths.js";
8
8
  export const READ_HELP = `usage: gws-axi docs read <documentId> [flags]
9
9
  args[1]:
10
10
  <documentId> The Google Doc ID (from the URL after /d/)
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../src/commands/docs/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../src/commands/docs/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const DOWNLOAD_HELP = "usage: gws-axi gmail download <message-id> <attachment-id> [flags]\nargs[2]:\n <message-id> The ID of the message carrying the attachment\n <attachment-id> The attachment ID (from `gws-axi gmail read` output)\nflags[2]:\n --out <path> Where to save (default: ./<attachment filename>; pass\n a directory to save inside with the native name)\n --account <email> Account override when 2+ are configured\nexamples:\n gws-axi gmail download 1a2b3c4d5e6f7890 ANGjdJ...XXX\n gws-axi gmail download 1a2b3c... ANGjdJ... --out /tmp/invoice.pdf\nnotes:\n `gws-axi gmail read <thread-id>` lists every message's attachments with\n their filename, mime, size, and attachment_id \u2014 use that output to drive\n this command. You need both the message ID (not thread ID) and the\n attachment ID to fetch bytes.\n";
2
+ export declare function gmailDownloadCommand(account: string, args: string[]): Promise<string>;
@@ -0,0 +1,181 @@
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
+ import { basename, dirname } from "node:path";
3
+ import { AxiError } from "axi-sdk-js";
4
+ import { gmailClient, translateGoogleError } from "../../google/client.js";
5
+ import { joinBlocks, renderHelp, renderObject } from "../../output/index.js";
6
+ import { resolveOutputPath } from "../../util/paths.js";
7
+ export const DOWNLOAD_HELP = `usage: gws-axi gmail download <message-id> <attachment-id> [flags]
8
+ args[2]:
9
+ <message-id> The ID of the message carrying the attachment
10
+ <attachment-id> The attachment ID (from \`gws-axi gmail read\` output)
11
+ flags[2]:
12
+ --out <path> Where to save (default: ./<attachment filename>; pass
13
+ a directory to save inside with the native name)
14
+ --account <email> Account override when 2+ are configured
15
+ examples:
16
+ gws-axi gmail download 1a2b3c4d5e6f7890 ANGjdJ...XXX
17
+ gws-axi gmail download 1a2b3c... ANGjdJ... --out /tmp/invoice.pdf
18
+ notes:
19
+ \`gws-axi gmail read <thread-id>\` lists every message's attachments with
20
+ their filename, mime, size, and attachment_id — use that output to drive
21
+ this command. You need both the message ID (not thread ID) and the
22
+ attachment ID to fetch bytes.
23
+ `;
24
+ function parseFlags(args) {
25
+ const positional = [];
26
+ let out;
27
+ for (let i = 0; i < args.length; i++) {
28
+ const arg = args[i];
29
+ const next = args[i + 1];
30
+ if (arg === "--out") {
31
+ out = next;
32
+ i++;
33
+ continue;
34
+ }
35
+ if (!arg.startsWith("--")) {
36
+ positional.push(arg);
37
+ }
38
+ }
39
+ if (positional.length < 2) {
40
+ throw new AxiError("Missing required arguments", "VALIDATION_ERROR", [
41
+ "Usage: gws-axi gmail download <message-id> <attachment-id>",
42
+ "Get both IDs from `gws-axi gmail read <thread-id>`",
43
+ ]);
44
+ }
45
+ return {
46
+ messageId: positional[0],
47
+ attachmentId: positional[1],
48
+ out,
49
+ };
50
+ }
51
+ export async function gmailDownloadCommand(account, args) {
52
+ const flags = parseFlags(args);
53
+ const api = await gmailClient(account);
54
+ // Fetch bytes first. Gmail re-mints attachment IDs on every API call, so
55
+ // matching a user-supplied id against the parts tree from a fresh
56
+ // messages.get would fail even though the id the user pasted is still
57
+ // valid — the attachments.get endpoint accepts historical ids. So we
58
+ // skip the walk-for-matching and call attachments.get directly.
59
+ let bytes;
60
+ let sizeBytes;
61
+ try {
62
+ const res = await api.users.messages.attachments.get({
63
+ userId: "me",
64
+ messageId: flags.messageId,
65
+ id: flags.attachmentId,
66
+ });
67
+ const data = res.data.data ?? "";
68
+ bytes = Buffer.from(data, "base64url");
69
+ sizeBytes = res.data.size ?? bytes.length;
70
+ }
71
+ catch (err) {
72
+ const translated = translateGoogleError(err, {
73
+ account,
74
+ operation: "gmail.attachments.get",
75
+ });
76
+ if (translated.code === "NOT_FOUND") {
77
+ throw new AxiError(`Attachment not found — message '${flags.messageId}' doesn't have attachment '${flags.attachmentId.slice(0, 20)}…'`, "ATTACHMENT_NOT_FOUND", [
78
+ `List attachments with \`gws-axi gmail read ${flags.messageId}\``,
79
+ `Double-check both the message-id and the attachment-id are correct`,
80
+ ]);
81
+ }
82
+ throw translated;
83
+ }
84
+ // Best-effort filename/mime lookup. Walk the message and narrow matches
85
+ // to parts that could plausibly be this attachment (by size, and by
86
+ // mime-type when we happen to know the expected size alone is ambiguous).
87
+ // Gmail re-mints attachment IDs on every API call, so we can't match on
88
+ // ID. When multiple parts share a size, we try narrowing by mime type.
89
+ // If still ambiguous, we fall back to a generic name and warn — the
90
+ // bytes are still correct; the only loss is filename inference.
91
+ let filename = `attachment-${flags.attachmentId.slice(0, 12)}.bin`;
92
+ let mimeType = "application/octet-stream";
93
+ let ambiguous = false;
94
+ try {
95
+ const msgRes = await api.users.messages.get({
96
+ userId: "me",
97
+ id: flags.messageId,
98
+ format: "full",
99
+ });
100
+ const bySize = [];
101
+ const walk = (part) => {
102
+ if (part.filename &&
103
+ part.body?.attachmentId &&
104
+ part.body?.size === sizeBytes) {
105
+ bySize.push({
106
+ filename: part.filename,
107
+ mimeType: part.mimeType ?? "application/octet-stream",
108
+ });
109
+ }
110
+ for (const p of part.parts ?? [])
111
+ walk(p);
112
+ };
113
+ if (msgRes.data.payload)
114
+ walk(msgRes.data.payload);
115
+ if (bySize.length === 1) {
116
+ filename = bySize[0].filename;
117
+ mimeType = bySize[0].mimeType;
118
+ }
119
+ else if (bySize.length > 1) {
120
+ // Size alone is ambiguous. We don't know the expected mime type
121
+ // directly (attachments.get doesn't return it), but if every
122
+ // candidate happens to share one, we can still confidently match.
123
+ const mimeTypes = new Set(bySize.map((m) => m.mimeType));
124
+ if (mimeTypes.size === 1) {
125
+ // All candidates are the same mime type; any of them is a
126
+ // reasonable choice for display. Pick the first but flag it as
127
+ // ambiguous so users get a warning to pass --out.
128
+ filename = bySize[0].filename;
129
+ mimeType = bySize[0].mimeType;
130
+ ambiguous = true;
131
+ }
132
+ else {
133
+ ambiguous = true;
134
+ }
135
+ }
136
+ }
137
+ catch {
138
+ // Metadata lookup is best-effort; swallow and use fallback filename.
139
+ }
140
+ const outPath = await resolveOutputPath(flags.out, filename);
141
+ await mkdir(dirname(outPath), { recursive: true });
142
+ await writeFile(outPath, bytes);
143
+ const blocks = [];
144
+ blocks.push(renderObject({ account }));
145
+ blocks.push(renderObject({
146
+ attachment: {
147
+ message_id: flags.messageId,
148
+ attachment_id: flags.attachmentId,
149
+ filename,
150
+ mime_type: mimeType,
151
+ size_bytes: sizeBytes,
152
+ },
153
+ }));
154
+ blocks.push(renderObject({ saved: outPath }));
155
+ const suggestions = [];
156
+ if (mimeType === "application/pdf") {
157
+ suggestions.push(`PDF saved — \`pdftotext "${basename(outPath)}" -\` to extract text`);
158
+ }
159
+ else if (mimeType.startsWith("image/")) {
160
+ suggestions.push(`Image saved — \`open "${outPath}"\` to view`);
161
+ }
162
+ else if (mimeType.startsWith("text/")) {
163
+ suggestions.push(`Text file saved — \`cat "${outPath}"\``);
164
+ }
165
+ else if (mimeType ===
166
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document") {
167
+ suggestions.push(`.docx saved — extract with \`pandoc "${basename(outPath)}" -t plain\``);
168
+ }
169
+ else {
170
+ suggestions.push(`Inspect with \`file "${outPath}"\` to identify the format`);
171
+ }
172
+ if (filename.startsWith("attachment-")) {
173
+ suggestions.push(`Could not match this attachment to a filename in the message — pass \`--out <path>\` to name the saved file`);
174
+ }
175
+ else if (ambiguous) {
176
+ suggestions.push(`Multiple attachments in this message share the same size — filename above is a best-guess; pass \`--out <path>\` to name it explicitly if wrong`);
177
+ }
178
+ blocks.push(renderHelp(suggestions));
179
+ return joinBlocks(...blocks);
180
+ }
181
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/commands/gmail/download.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const LABELS_HELP = "usage: gws-axi gmail labels [flags]\nflags[2]:\n --type <kind> Filter by label type: user | system | all (default: all)\n --account <email> Account override when 2+ are configured\nexamples:\n gws-axi gmail labels\n gws-axi gmail labels --type user\noutput:\n A `labels[N]{id,name,type,threads_total,threads_unread,messages_total,messages_unread}`\n table. Use any `name` value with `gws-axi gmail search --in <name>` to\n filter by that label.\nnotes:\n System labels (INBOX, SENT, DRAFT, STARRED, UNREAD, TRASH, SPAM, and\n CATEGORY_* auto-filters) are always present; user labels are whatever\n you've created. `threads_unread` on INBOX is a useful at-a-glance\n \"how many unread threads do I have\" metric.\n";
2
+ export declare function gmailLabelsCommand(account: string, args: string[]): Promise<string>;
@@ -0,0 +1,111 @@
1
+ import { gmailClient, translateGoogleError } from "../../google/client.js";
2
+ import { field, renderListResponse, } from "../../output/index.js";
3
+ export const LABELS_HELP = `usage: gws-axi gmail labels [flags]
4
+ flags[2]:
5
+ --type <kind> Filter by label type: user | system | all (default: all)
6
+ --account <email> Account override when 2+ are configured
7
+ examples:
8
+ gws-axi gmail labels
9
+ gws-axi gmail labels --type user
10
+ output:
11
+ A \`labels[N]{id,name,type,threads_total,threads_unread,messages_total,messages_unread}\`
12
+ table. Use any \`name\` value with \`gws-axi gmail search --in <name>\` to
13
+ filter by that label.
14
+ notes:
15
+ System labels (INBOX, SENT, DRAFT, STARRED, UNREAD, TRASH, SPAM, and
16
+ CATEGORY_* auto-filters) are always present; user labels are whatever
17
+ you've created. \`threads_unread\` on INBOX is a useful at-a-glance
18
+ "how many unread threads do I have" metric.
19
+ `;
20
+ function parseFlags(args) {
21
+ let type = "all";
22
+ for (let i = 0; i < args.length; i++) {
23
+ const arg = args[i];
24
+ const next = args[i + 1];
25
+ if (arg === "--type" && next) {
26
+ if (next === "user" || next === "system" || next === "all") {
27
+ type = next;
28
+ }
29
+ i++;
30
+ }
31
+ }
32
+ return { type };
33
+ }
34
+ function labelSchema() {
35
+ return [
36
+ field("id"),
37
+ field("name"),
38
+ field("type"),
39
+ field("threads_total"),
40
+ field("threads_unread"),
41
+ field("messages_total"),
42
+ field("messages_unread"),
43
+ ];
44
+ }
45
+ export async function gmailLabelsCommand(account, args) {
46
+ const flags = parseFlags(args);
47
+ const api = await gmailClient(account);
48
+ let data;
49
+ try {
50
+ // labels.list returns only id/name/type/messageListVisibility/
51
+ // labelListVisibility by default. We need to issue per-label get calls
52
+ // to pick up the counts (messagesTotal, threadsUnread, etc.).
53
+ const res = await api.users.labels.list({ userId: "me" });
54
+ data = res.data;
55
+ }
56
+ catch (err) {
57
+ throw translateGoogleError(err, {
58
+ account,
59
+ operation: "gmail.labels.list",
60
+ });
61
+ }
62
+ const all = data.labels ?? [];
63
+ const filtered = all.filter((l) => {
64
+ if (flags.type === "all")
65
+ return true;
66
+ return l.type === flags.type;
67
+ });
68
+ // Fetch full label details (counts) in parallel. Gmail allows plenty of
69
+ // RPS for this — label inventories are typically small.
70
+ const full = await Promise.all(filtered.map((l) => api.users.labels
71
+ .get({ userId: "me", id: l.id ?? "" })
72
+ .then((r) => r.data)
73
+ .catch(() => l)));
74
+ const rows = full.map((l) => ({
75
+ id: l.id ?? "",
76
+ name: l.name ?? "",
77
+ type: l.type ?? "",
78
+ threads_total: l.threadsTotal ?? 0,
79
+ threads_unread: l.threadsUnread ?? 0,
80
+ messages_total: l.messagesTotal ?? 0,
81
+ messages_unread: l.messagesUnread ?? 0,
82
+ }));
83
+ // Sort: system first (INBOX at the very top), then user labels alpha.
84
+ rows.sort((a, b) => {
85
+ if (a.type !== b.type)
86
+ return a.type === "system" ? -1 : 1;
87
+ if (a.id === "INBOX")
88
+ return -1;
89
+ if (b.id === "INBOX")
90
+ return 1;
91
+ return a.name.localeCompare(b.name);
92
+ });
93
+ const suggestions = [];
94
+ if (rows.length > 0) {
95
+ const inbox = rows.find((r) => r.id === "INBOX");
96
+ if (inbox && inbox.threads_unread > 0) {
97
+ suggestions.push(`You have ${inbox.threads_unread} unread threads in INBOX — try \`gws-axi gmail search --query is:unread\``);
98
+ }
99
+ suggestions.push(`Filter search by label with \`gws-axi gmail search --in <name>\` (use any \`name\` value above)`);
100
+ }
101
+ return renderListResponse({
102
+ header: { account },
103
+ summary: { count: rows.length, filter: flags.type },
104
+ name: "labels",
105
+ items: rows,
106
+ schema: labelSchema(),
107
+ suggestions,
108
+ emptyMessage: `no ${flags.type === "all" ? "" : `${flags.type} `}labels found`,
109
+ });
110
+ }
111
+ //# sourceMappingURL=labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../../src/commands/gmail/labels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { gmail_v1 } from "googleapis";
2
+ export interface ParsedAddress {
3
+ name: string;
4
+ address: string;
5
+ }
6
+ export interface Attachment {
7
+ filename: string;
8
+ mime_type: string;
9
+ size_bytes: number;
10
+ attachment_id: string;
11
+ part_id: string;
12
+ }
13
+ export interface MessageBody {
14
+ content: string;
15
+ source: "plain" | "html" | "empty";
16
+ }
17
+ export interface ParsedMessage {
18
+ headers: Map<string, string>;
19
+ body: MessageBody;
20
+ attachments: Attachment[];
21
+ inline_image_count: number;
22
+ }
23
+ export declare function parseMessage(msg: gmail_v1.Schema$Message): ParsedMessage;
24
+ /**
25
+ * Parse an RFC 5322 address header (From / To / Cc / Bcc) into a list of
26
+ * `{ name, address }` records. Uses addressparser so display names with
27
+ * commas (e.g., "Doe, John" <j@example.com>) are handled correctly — a
28
+ * naive split on `,` would produce four bogus addresses.
29
+ */
30
+ export declare function parseAddresses(headers: Map<string, string>, name: string): ParsedAddress[];
@@ -0,0 +1,150 @@
1
+ import addressparser from "addressparser";
2
+ import TurndownService from "turndown";
3
+ const turndown = new TurndownService({
4
+ headingStyle: "atx",
5
+ codeBlockStyle: "fenced",
6
+ bulletListMarker: "-",
7
+ });
8
+ // Drop style/script blocks entirely rather than leaking their contents as
9
+ // prose; Gmail HTML emails frequently carry inlined CSS as a <style> block
10
+ // inside <head> that turndown would otherwise emit.
11
+ turndown.remove(["style", "script", "head"]);
12
+ export function parseMessage(msg) {
13
+ const headers = new Map();
14
+ for (const h of msg.payload?.headers ?? []) {
15
+ if (h.name && h.value !== undefined && h.value !== null) {
16
+ headers.set(h.name.toLowerCase(), h.value);
17
+ }
18
+ }
19
+ const textParts = [];
20
+ const attachments = [];
21
+ const stats = { inline_image_count: 0 };
22
+ collectParts(msg.payload, textParts, attachments, stats);
23
+ // Prefer text/plain when both exist. Gmail almost always ships both in
24
+ // multipart/alternative for modern mail; fall back to turndown on
25
+ // text/html only when no plain version exists.
26
+ const plain = textParts.find((p) => p.mimeType === "text/plain");
27
+ const html = textParts.find((p) => p.mimeType === "text/html");
28
+ let body;
29
+ if (plain) {
30
+ body = { content: plain.data, source: "plain" };
31
+ }
32
+ else if (html) {
33
+ body = { content: turndown.turndown(html.data), source: "html" };
34
+ }
35
+ else {
36
+ body = { content: "", source: "empty" };
37
+ }
38
+ return { headers, body, attachments, inline_image_count: stats.inline_image_count };
39
+ }
40
+ function partHeader(part, name) {
41
+ const lower = name.toLowerCase();
42
+ for (const h of part.headers ?? []) {
43
+ if (h.name?.toLowerCase() === lower)
44
+ return h.value ?? undefined;
45
+ }
46
+ return undefined;
47
+ }
48
+ function isInlineDisposition(part) {
49
+ // RFC 2183: Content-Disposition: inline [; filename="..."]
50
+ // Gmail also sets Content-ID on inline parts (referenced from HTML via
51
+ // `src="cid:..."`). Either signal treats the part as embedded rather
52
+ // than a user-facing attachment.
53
+ const disp = partHeader(part, "Content-Disposition")?.toLowerCase() ?? "";
54
+ if (disp.startsWith("inline"))
55
+ return true;
56
+ if (partHeader(part, "Content-ID"))
57
+ return true;
58
+ return false;
59
+ }
60
+ function collectParts(part, textParts, attachments, stats) {
61
+ if (!part)
62
+ return;
63
+ const mime = part.mimeType ?? "";
64
+ const filename = part.filename;
65
+ const bodyData = part.body?.data;
66
+ const attachmentId = part.body?.attachmentId;
67
+ // Anything with a filename is a binary part. Classify as attachment vs
68
+ // inline via Content-Disposition / Content-ID headers.
69
+ if (filename && filename.length > 0) {
70
+ if (isInlineDisposition(part)) {
71
+ stats.inline_image_count += 1;
72
+ return;
73
+ }
74
+ if (attachmentId) {
75
+ attachments.push({
76
+ filename,
77
+ mime_type: mime,
78
+ size_bytes: part.body?.size ?? 0,
79
+ attachment_id: attachmentId,
80
+ part_id: part.partId ?? "",
81
+ });
82
+ }
83
+ return;
84
+ }
85
+ // Container parts: recurse into children.
86
+ if (mime.startsWith("multipart/") && part.parts?.length) {
87
+ for (const child of part.parts) {
88
+ collectParts(child, textParts, attachments, stats);
89
+ }
90
+ return;
91
+ }
92
+ // Leaf text parts: decode and stash.
93
+ if ((mime === "text/plain" || mime === "text/html") && bodyData) {
94
+ const charset = parseCharset(partHeader(part, "Content-Type"));
95
+ textParts.push({ mimeType: mime, data: decodeBase64Url(bodyData, charset) });
96
+ }
97
+ }
98
+ function decodeBase64Url(data, charset) {
99
+ // Node 22 natively understands base64url — no manual -_/+/ swap needed.
100
+ return Buffer.from(data, "base64url").toString(charset);
101
+ }
102
+ // Map a declared charset string to a Node-supported encoding. Node's
103
+ // Buffer supports: utf8, utf-8, utf16le, latin1, ascii, base64, base64url,
104
+ // hex, ucs-2 — so we can handle the mainstream mail charsets natively.
105
+ // Windows-1252 and other legacy encodings would need iconv-lite; we fall
106
+ // back to utf-8 for those and note it's a lossy best-effort.
107
+ function parseCharset(contentType) {
108
+ if (!contentType)
109
+ return "utf8";
110
+ const match = /charset\s*=\s*"?([^";\s]+)/i.exec(contentType);
111
+ if (!match)
112
+ return "utf8";
113
+ const declared = match[1].toLowerCase();
114
+ switch (declared) {
115
+ case "utf-8":
116
+ case "utf8":
117
+ return "utf8";
118
+ case "us-ascii":
119
+ case "ascii":
120
+ return "ascii";
121
+ case "iso-8859-1":
122
+ case "latin1":
123
+ case "latin-1":
124
+ return "latin1";
125
+ case "utf-16":
126
+ case "utf-16le":
127
+ case "utf16le":
128
+ return "utf16le";
129
+ default:
130
+ // Unknown (e.g., windows-1252, iso-8859-2) — default to utf-8.
131
+ // Mojibake is possible for non-UTF-8 mail in these rarer encodings.
132
+ return "utf8";
133
+ }
134
+ }
135
+ /**
136
+ * Parse an RFC 5322 address header (From / To / Cc / Bcc) into a list of
137
+ * `{ name, address }` records. Uses addressparser so display names with
138
+ * commas (e.g., "Doe, John" <j@example.com>) are handled correctly — a
139
+ * naive split on `,` would produce four bogus addresses.
140
+ */
141
+ export function parseAddresses(headers, name) {
142
+ const raw = headers.get(name.toLowerCase());
143
+ if (!raw)
144
+ return [];
145
+ return addressparser(raw).map((a) => ({
146
+ name: a.name ?? "",
147
+ address: a.address ?? "",
148
+ }));
149
+ }
150
+ //# sourceMappingURL=mime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime.js","sourceRoot":"","sources":["../../../../src/commands/gmail/mime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};