@smcllns/gmail 0.2.1 → 0.2.2
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.
- package/README.md +11 -12
- package/dist/gmail-oauth-flow.d.ts.map +1 -1
- package/dist/gmail-oauth-flow.js +3 -4
- package/dist/gmail-oauth-flow.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,19 +8,18 @@ bunx @smcllns/gmail search "in:inbox is:unread" --max 10
|
|
|
8
8
|
|
|
9
9
|
## Why use this?
|
|
10
10
|
|
|
11
|
-
This is a fork of the excellent [@mariozechner/gmcli](https://github.com/badlogic/gmcli). The original requests full Gmail permissions (
|
|
11
|
+
This is a fork of the excellent [@mariozechner/gmcli](https://github.com/badlogic/gmcli). The original requests full Gmail permissions (`mail.google.com`), and I wanted to restrict capabilities to prevent agents from accidentally sending or deleting email. The intent is to let agents run autonomously to understand and manage the inbox, while requiring a human to make any one-way door decisions.
|
|
12
12
|
|
|
13
|
-
1. **
|
|
14
|
-
- `gmail.
|
|
15
|
-
- `gmail.labels` -
|
|
16
|
-
- `gmail.compose` -
|
|
13
|
+
1. **Restricted OAuth scopes** - The original uses `mail.google.com` (full access). This fork requests only:
|
|
14
|
+
- `gmail.modify` - to read messages, threads, and change labels
|
|
15
|
+
- `gmail.labels` - to create and edit labels
|
|
16
|
+
- `gmail.compose` - to create drafts
|
|
17
17
|
|
|
18
|
-
2. **
|
|
19
|
-
- `send`, `delete`, `drafts send`, `drafts delete` are
|
|
20
|
-
-
|
|
21
|
-
- Drafts can be created for human review before sending
|
|
18
|
+
2. **Dangerous operations blocked in CLI** - Even where oAuth scopes allow, the CLI blocks:
|
|
19
|
+
- `send`, `delete`, `drafts send`, `drafts delete` commands are disabled
|
|
20
|
+
- Disabled commands return guidance directing users to the Gmail web interface
|
|
22
21
|
|
|
23
|
-
3. **
|
|
22
|
+
3. **Simplified for agent usage**:
|
|
24
23
|
- Renamed binary from `gmcli` to `gmail`
|
|
25
24
|
- Default account config so commands don't require email prefix
|
|
26
25
|
- Usage: `bunx @smcllns/gmail <command>` or `npx @smcllns/gmail <command>`
|
|
@@ -29,8 +28,8 @@ This is a fork of the excellent [@mariozechner/gmcli](https://github.com/badlogi
|
|
|
29
28
|
|
|
30
29
|
| Feature | @mariozechner/gmcli (original) | @smcllns/gmail (this fork) |
|
|
31
30
|
| --- | --- | --- |
|
|
32
|
-
| Gmail permissions | Full access | Read
|
|
33
|
-
| OAuth scopes | `mail.google.com` | `gmail.
|
|
31
|
+
| Gmail permissions | Full access | Read, organize, draft (no send/delete) |
|
|
32
|
+
| OAuth scopes | `mail.google.com` | `gmail.modify`, `gmail.labels`, `gmail.compose` |
|
|
34
33
|
| Read email | ✅ Yes | ✅ Yes |
|
|
35
34
|
| Create drafts | ✅ Yes | ✅ Yes |
|
|
36
35
|
| Send email/drafts | ✅ Yes | ❌ No |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-oauth-flow.d.ts","sourceRoot":"","sources":["../src/gmail-oauth-flow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gmail-oauth-flow.d.ts","sourceRoot":"","sources":["../src/gmail-oauth-flow.ts"],"names":[],"mappings":"AAoBA,qBAAa,cAAc;IAC1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAA+B;gBAEpC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAI5C,SAAS,CAAC,MAAM,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAWlC,eAAe;IAqC7B,OAAO,CAAC,aAAa;YA8CP,cAAc;IAmC5B,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,WAAW;CAInB"}
|
package/dist/gmail-oauth-flow.js
CHANGED
|
@@ -3,11 +3,10 @@ import * as http from "http";
|
|
|
3
3
|
import * as readline from "readline";
|
|
4
4
|
import * as url from "url";
|
|
5
5
|
import { OAuth2Client } from "google-auth-library";
|
|
6
|
-
// Narrow scopes: readonly access + labels + compose (drafts only, no send)
|
|
7
6
|
const SCOPES = [
|
|
8
|
-
"https://www.googleapis.com/auth/gmail.
|
|
9
|
-
"https://www.googleapis.com/auth/gmail.labels", // Create
|
|
10
|
-
"https://www.googleapis.com/auth/gmail.compose", // Create drafts
|
|
7
|
+
"https://www.googleapis.com/auth/gmail.modify", // Read messages, threads, add and remove labels
|
|
8
|
+
"https://www.googleapis.com/auth/gmail.labels", // Create and edit labels
|
|
9
|
+
"https://www.googleapis.com/auth/gmail.compose", // Create drafts
|
|
11
10
|
];
|
|
12
11
|
const TIMEOUT_MS = 2 * 60 * 1000;
|
|
13
12
|
export class GmailOAuthFlow {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-oauth-flow.js","sourceRoot":"","sources":["../src/gmail-oauth-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,
|
|
1
|
+
{"version":3,"file":"gmail-oauth-flow.js","sourceRoot":"","sources":["../src/gmail-oauth-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,MAAM,GAAG;IACd,8CAA8C,EAAE,gDAAgD;IAChG,8CAA8C,EAAE,yBAAyB;IACzE,+CAA+C,EAAE,gBAAgB;CACjE,CAAC;AACF,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAQjC,MAAM,OAAO,cAAc;IAClB,YAAY,CAAe;IAC3B,MAAM,GAAuB,IAAI,CAAC;IAClC,SAAS,GAA0B,IAAI,CAAC;IAEhD,YAAY,QAAgB,EAAE,YAAoB;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,sBAAsB,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM,CAAC,YAAY,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,eAAe;QAC5B,MAAM,WAAW,GAAG,oBAAoB,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAEhH,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;YACjD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,EAAE,CAAC,QAAQ,CAAC,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnD,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAc,CAAC;oBACzC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACX,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;wBACzE,OAAO;oBACR,CAAC;oBACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC1D,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,aAAa;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACX,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;gBACvC,MAAM,IAAI,GAAI,IAAI,CAAC,MAAO,CAAC,OAAO,EAAkB,CAAC,IAAI,CAAC;gBAC1D,MAAM,WAAW,GAAG,oBAAoB,IAAI,EAAE,CAAC;gBAE/C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CACnC,IAAI,CAAC,YAAY,CAAC,SAAS,EAC3B,IAAI,CAAC,YAAY,CAAC,aAAa,EAC/B,WAAW,CACX,CAAC;gBAEF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;oBACjD,WAAW,EAAE,SAAS;oBACtB,KAAK,EAAE,MAAM;iBACb,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAE1B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;oBACvD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;gBAC/D,CAAC,EAAE,UAAU,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC3B,KAAU,EACV,GAAwB,EACxB,OAAqC;QAErC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAChD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC5D,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;YAC1E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;YACxF,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,gCAAgC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAChG,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;IACF,CAAC;IAEO,OAAO;QACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,CAAC;IACF,CAAC;IAEO,WAAW,CAAC,GAAW;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QACzG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;CACD"}
|