multi-gws 0.0.3 → 0.0.4
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 +5 -0
- package/dist/account-add.d.ts +1 -1
- package/dist/account-add.d.ts.map +1 -1
- package/dist/account-add.js +130 -20
- package/dist/account-add.js.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,6 +21,11 @@ Add or reconnect an account:
|
|
|
21
21
|
mgws account add <email-address> --gmail=<none|read|manage> --drive=<none|read|manage> --calendar=<none|read|manage>
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
Account authorization streams the Google OAuth URL to the terminal and waits up
|
|
25
|
+
to five minutes for the browser callback. `Ctrl-C` and termination signals are
|
|
26
|
+
forwarded to the complete authorization process tree. Set
|
|
27
|
+
`MGWS_OAUTH_TIMEOUT_MS` to a positive integer to override the timeout.
|
|
28
|
+
|
|
24
29
|
`mgws` treats the current working directory as the workspace. Shared OAuth configuration belongs at `credentials/google-oauth-client.json`; account state is stored under `accounts/<account-slug>/gws/`.
|
|
25
30
|
|
|
26
31
|
## Development
|
package/dist/account-add.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export interface AddAccountOptions extends AccountAccess {
|
|
|
5
5
|
workspaceRoot?: string;
|
|
6
6
|
}
|
|
7
7
|
export declare function accountSlug(email: string): string;
|
|
8
|
-
export declare function addAccount({ email, gmail, drive, calendar, login, workspaceRoot, }: AddAccountOptions): number
|
|
8
|
+
export declare function addAccount({ email, gmail, drive, calendar, login, workspaceRoot, }: AddAccountOptions): Promise<number>;
|
|
9
9
|
//# sourceMappingURL=account-add.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-add.d.ts","sourceRoot":"","sources":["../src/account-add.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"account-add.d.ts","sourceRoot":"","sources":["../src/account-add.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA6ND,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBjD;AAED,wBAAsB,UAAU,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,aAAa,GACd,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8ErC"}
|
package/dist/account-add.js
CHANGED
|
@@ -1,9 +1,133 @@
|
|
|
1
|
-
import { spawnSync } from "node:child_process";
|
|
1
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
3
|
import { chmodSync, copyFileSync, lstatSync, mkdirSync, writeFileSync, } from "node:fs";
|
|
4
4
|
import { join, resolve } from "node:path";
|
|
5
5
|
import { resolveAccountScopes } from "./account-permissions.js";
|
|
6
6
|
import { CliError, EXIT, errorCode } from "./errors.js";
|
|
7
|
+
const DEFAULT_OAUTH_TIMEOUT_MS = 5 * 60 * 1000;
|
|
8
|
+
const OAUTH_KILL_GRACE_MS = 1000;
|
|
9
|
+
const FORWARDED_SIGNALS = ["SIGINT", "SIGTERM"];
|
|
10
|
+
function oauthTimeoutMs() {
|
|
11
|
+
const configured = process.env.MGWS_OAUTH_TIMEOUT_MS;
|
|
12
|
+
if (configured === undefined)
|
|
13
|
+
return DEFAULT_OAUTH_TIMEOUT_MS;
|
|
14
|
+
if (!/^[1-9][0-9]*$/.test(configured)) {
|
|
15
|
+
throw new CliError(EXIT.usage, "MGWS_OAUTH_TIMEOUT_MS must be a positive integer");
|
|
16
|
+
}
|
|
17
|
+
const timeout = Number(configured);
|
|
18
|
+
if (!Number.isSafeInteger(timeout)) {
|
|
19
|
+
throw new CliError(EXIT.usage, "MGWS_OAUTH_TIMEOUT_MS must be a positive integer");
|
|
20
|
+
}
|
|
21
|
+
return timeout;
|
|
22
|
+
}
|
|
23
|
+
function terminateProcessTree(child, signal) {
|
|
24
|
+
if (child.pid === undefined)
|
|
25
|
+
return;
|
|
26
|
+
try {
|
|
27
|
+
if (process.platform === "win32") {
|
|
28
|
+
spawnSync("taskkill", ["/pid", child.pid.toString(), "/t", "/f"], {
|
|
29
|
+
stdio: "ignore",
|
|
30
|
+
windowsHide: true,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
process.kill(-child.pid, signal);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
if (errorCode(error) !== "ESRCH")
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function runOauthLogin(root, slug, scopes) {
|
|
43
|
+
const timeoutMs = oauthTimeoutMs();
|
|
44
|
+
console.log(`Waiting up to ${timeoutMs}ms for OAuth approval. Press Ctrl-C to cancel.`);
|
|
45
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
46
|
+
const child = spawn(process.execPath, [
|
|
47
|
+
process.argv[1] ?? "mgws",
|
|
48
|
+
"run",
|
|
49
|
+
slug,
|
|
50
|
+
"auth",
|
|
51
|
+
"login",
|
|
52
|
+
"--scopes",
|
|
53
|
+
scopes.join(","),
|
|
54
|
+
], {
|
|
55
|
+
cwd: root,
|
|
56
|
+
detached: process.platform !== "win32",
|
|
57
|
+
stdio: "inherit",
|
|
58
|
+
});
|
|
59
|
+
let completed = false;
|
|
60
|
+
let terminationError;
|
|
61
|
+
let killTimer;
|
|
62
|
+
const timeoutTimer = setTimeout(() => {
|
|
63
|
+
requestTermination("SIGTERM", new CliError(EXIT.unavailable, `OAuth login timed out after ${timeoutMs}ms`));
|
|
64
|
+
}, timeoutMs);
|
|
65
|
+
const signalHandlers = new Map();
|
|
66
|
+
const cleanup = () => {
|
|
67
|
+
clearTimeout(timeoutTimer);
|
|
68
|
+
if (killTimer !== undefined)
|
|
69
|
+
clearTimeout(killTimer);
|
|
70
|
+
for (const [signal, handler] of signalHandlers) {
|
|
71
|
+
process.removeListener(signal, handler);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const reject = (error) => {
|
|
75
|
+
if (completed)
|
|
76
|
+
return;
|
|
77
|
+
completed = true;
|
|
78
|
+
cleanup();
|
|
79
|
+
rejectPromise(error);
|
|
80
|
+
};
|
|
81
|
+
const requestTermination = (signal, error) => {
|
|
82
|
+
if (completed || terminationError !== undefined)
|
|
83
|
+
return;
|
|
84
|
+
terminationError = error;
|
|
85
|
+
try {
|
|
86
|
+
terminateProcessTree(child, signal);
|
|
87
|
+
}
|
|
88
|
+
catch (terminationFailure) {
|
|
89
|
+
reject(new CliError(EXIT.unavailable, `could not terminate OAuth login: ${terminationFailure instanceof Error
|
|
90
|
+
? terminationFailure.message
|
|
91
|
+
: String(terminationFailure)}`));
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
killTimer = setTimeout(() => {
|
|
95
|
+
try {
|
|
96
|
+
terminateProcessTree(child, "SIGKILL");
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// The close handler reports the original timeout or cancellation.
|
|
100
|
+
}
|
|
101
|
+
}, OAUTH_KILL_GRACE_MS);
|
|
102
|
+
killTimer.unref();
|
|
103
|
+
};
|
|
104
|
+
for (const signal of FORWARDED_SIGNALS) {
|
|
105
|
+
const handler = () => {
|
|
106
|
+
requestTermination(signal, new CliError(signal === "SIGINT" ? 130 : 143, `OAuth login cancelled by ${signal}`));
|
|
107
|
+
};
|
|
108
|
+
signalHandlers.set(signal, handler);
|
|
109
|
+
process.once(signal, handler);
|
|
110
|
+
}
|
|
111
|
+
child.once("error", (error) => {
|
|
112
|
+
reject(new CliError(EXIT.unavailable, `could not start OAuth login: ${error.message}`));
|
|
113
|
+
});
|
|
114
|
+
child.once("close", (status, signal) => {
|
|
115
|
+
if (completed)
|
|
116
|
+
return;
|
|
117
|
+
if (terminationError !== undefined) {
|
|
118
|
+
reject(terminationError);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
completed = true;
|
|
122
|
+
cleanup();
|
|
123
|
+
if (status !== null) {
|
|
124
|
+
resolvePromise(status);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
rejectPromise(new CliError(1, `OAuth login terminated by signal ${signal ?? "unknown"}`));
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
}
|
|
7
131
|
function isFile(path) {
|
|
8
132
|
try {
|
|
9
133
|
return lstatSync(path).isFile();
|
|
@@ -61,7 +185,7 @@ export function accountSlug(email) {
|
|
|
61
185
|
.slice(0, 16);
|
|
62
186
|
return `${readableSlug}-${fingerprint}`;
|
|
63
187
|
}
|
|
64
|
-
export function addAccount({ email, gmail, drive, calendar, login, workspaceRoot, }) {
|
|
188
|
+
export async function addAccount({ email, gmail, drive, calendar, login, workspaceRoot, }) {
|
|
65
189
|
if (!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email)) {
|
|
66
190
|
throw new CliError(EXIT.usage, `invalid email address: ${email}`);
|
|
67
191
|
}
|
|
@@ -113,23 +237,9 @@ export function addAccount({ email, gmail, drive, calendar, login, workspaceRoot
|
|
|
113
237
|
console.log("Skipped OAuth login (--no-login).");
|
|
114
238
|
return 0;
|
|
115
239
|
}
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"auth",
|
|
121
|
-
"login",
|
|
122
|
-
"--scopes",
|
|
123
|
-
scopes.join(","),
|
|
124
|
-
], { cwd: root, stdio: "inherit" });
|
|
125
|
-
if (result.error) {
|
|
126
|
-
throw new CliError(EXIT.unavailable, `could not start OAuth login: ${result.error.message}`);
|
|
127
|
-
}
|
|
128
|
-
if (result.status !== null) {
|
|
129
|
-
if (result.status === 0)
|
|
130
|
-
saveAccessProfile();
|
|
131
|
-
return result.status;
|
|
132
|
-
}
|
|
133
|
-
throw new CliError(1, `OAuth login terminated by signal ${result.signal ?? "unknown"}`);
|
|
240
|
+
const status = await runOauthLogin(root, slug, scopes);
|
|
241
|
+
if (status === 0)
|
|
242
|
+
saveAccessProfile();
|
|
243
|
+
return status;
|
|
134
244
|
}
|
|
135
245
|
//# sourceMappingURL=account-add.js.map
|
package/dist/account-add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-add.js","sourceRoot":"","sources":["../src/account-add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"account-add.js","sourceRoot":"","sources":["../src/account-add.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -49,13 +49,13 @@ account
|
|
|
49
49
|
.argParser(accessLevel)
|
|
50
50
|
.makeOptionMandatory())
|
|
51
51
|
.option("--no-login", "create account state without starting OAuth")
|
|
52
|
-
.action((email, options) => {
|
|
52
|
+
.action(async (email, options) => {
|
|
53
53
|
if (!isAccessLevel(options.gmail) ||
|
|
54
54
|
!isAccessLevel(options.drive) ||
|
|
55
55
|
!isAccessLevel(options.calendar)) {
|
|
56
56
|
throw new CliError(EXIT.usage, "invalid permission level");
|
|
57
57
|
}
|
|
58
|
-
process.exitCode = addAccount({
|
|
58
|
+
process.exitCode = await addAccount({
|
|
59
59
|
email,
|
|
60
60
|
gmail: options.gmail,
|
|
61
61
|
drive: options.drive,
|
|
@@ -81,7 +81,7 @@ try {
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
|
-
program.
|
|
84
|
+
await program.parseAsync();
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
catch (error) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOlC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAChC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC/C,CAAC;AAErB,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,cAAc,CACtB,IAAI,CAAC,KAAK,EACV,oBAAoB,EACpB,oBAAoB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC;KACxC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;KAChC,kBAAkB,EAAE;KACpB,YAAY,EAAE,CAAC;AAElB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,oDAAoD,CAAC;KACjE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;KACrC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;KAC5D,MAAM,CAAC,WAAW,EAAE,+CAA+C,CAAC;KACpE,kBAAkB,EAAE;KACpB,MAAM,CACL,CACE,OAAe,EACf,YAAsB,EACtB,OAA8B,EAC9B,EAAE;IACF,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;QACxB,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI;QACnC,YAAY;KACb,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEJ,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iCAAiC,CAAC,CAAC;AAElD,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0BAA0B,CAAC;KACvC,QAAQ,CAAC,SAAS,EAAE,8BAA8B,CAAC;KACnD,SAAS,CACR,IAAI,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;KACpD,SAAS,CAAC,WAAW,CAAC;KACtB,mBAAmB,EAAE,CACzB;KACA,SAAS,CACR,IAAI,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;KACpD,SAAS,CAAC,WAAW,CAAC;KACtB,mBAAmB,EAAE,CACzB;KACA,SAAS,CACR,IAAI,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;KAC1D,SAAS,CAAC,WAAW,CAAC;KACtB,mBAAmB,EAAE,CACzB;KACA,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;KACnE,MAAM,CACL,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|